使用 bumblebee 运行 OpenGL 程序时出现错误消息

使用 bumblebee 运行 OpenGL 程序时出现错误消息
X Error of failed request:  BadDrawable (invalid Pixmap or Window parameter)
Major opcode of failed request:  152 (DRI2)
Minor opcode of failed request:  8 (DRI2SwapBuffers     )
Resource id in failed request:  0x4200005
Serial number of failed request:  2166
Current serial number in output stream:  2167
primus: warning: timeout waiting for display worker
Segmentation fault (core dumped)

并非所有 OGL 程序都会出现此问题,只有 GPU 密集型程序才会出现此问题。此外,我只有在使用 primusrun 时才会出现此问题。无论我运行什么,optirun 都会给出相同的错误:

[VGL] NOTICE: Pixel format of 2D X server does not match pixel format of
[VGL]    Pbuffer.  Disabling PBO readback.

我不知道这两个是什么意思。它们都不会停止程序运行,但如果有问题,我想修复它。另外,我更喜欢使用 primusrun,因为它速度更快,垂直同步效果更好,但是它只支持 OGL 4.2。这不是什么大问题,因为我编写的程序是向前兼容的,但对我来说仍然很奇怪。

所以基本上如果有人能向我解释一下发生了什么以及我能做些什么的话我会很高兴的。谢谢。

相关内容