在 openSUSE 13.1 上使用 Bumblebee 3.2.1 時出現損壞的 GLX 錯誤

在 openSUSE 13.1 上使用 Bumblebee 3.2.1 時出現損壞的 GLX 錯誤

更新

我又重新開始了。這次不是我安裝的驅動程式的一鍵按鈕nvidia-bumblebee。這效果稍微好一些,因為現在我又恢復了桌面效果。需要 OpenGL 的應用程式也將重新啟動並運行。但是我仍然無法運行 glxspheres:

$ optirun glxspheres
Polygons in scene: 62464
libGL error: failed to load driver: swrast
libGL error: Try again with LIBGL_DEBUG=verbose for more details.
Visual ID of window: 0x20
[VGL] WARNING: The OpenGL rendering context obtained on X display
[VGL]    :8 is indirect, which may cause performance to suffer.                                                                                                                                                                                
[VGL]    If :8 is a local X display, then the framebuffer device                                                                                                                                                                               
[VGL]    permissions may be set incorrectly.
Context is Indirect
OpenGL Renderer: GeForce GT 540M/PCIe/SSE2
[VGL] ERROR: in readpixels--
[VGL]    358: GL_ARB_pixel_buffer_object extension not available

老的

我已經為 openSUSE 13.1 64 位元安裝了 Bumblebee 3.2.1,不幸的是它無法正常工作。獨立卡應該關閉,但是如果我使用 optirun/primusrun 我會收到以下錯誤:

$ optirun glxspheres64
primus: fatal: broken GLX on main X display

$ primusrun glxspheres64
primus: fatal: broken GLX on main X display

我設法發現符號指向一個不存在的共享庫:

$ cd /usr/lib64/nvidia/xorg/modules/extensions
$ ls -l
$ libglx.so -> /usr/lib64/nvidia/xorg/modules/extensions/libglx.so.331.4x

我不記得最後一個數字到底是什麼,所以這就是尾隨 x 的原因。我更改了符號連結以指向其他類似的(現有的)共享庫,例如:

  • /usr/lib64/xorg/modules/extensions/libglx.so
  • /usr/lib64/xorg/modules/updates/extensions/libglx.so.331.79

但這不起作用(即使在重新啟動後)。所以我沒主意了。有人可以幫我嗎?為了完整起見,我現在將詳細說明如何安裝 bumblebee。

我是如何安裝 Bumblebee 的

驗證輸出

$ groups
users wheel video vboxusers bumblebee

# ls /proc/acpi/bbswitch
/proc/acpi/bbswitch

# cat /proc/acpi/bbswitch
0000:01:00.0 OFF

# systemctl status bumblebeed
bumblebeed.service - Bumblebee C Daemon
Loaded: loaded (/usr/lib/systemd/system/bumblebeed.service; enabled)
Active: active (running) since Mon 2014-06-16 17:15:54 CEST; 31min ago
Main PID: 730 (bumblebeed)
CGroup: /system.slice/bumblebeed.service
        └─730 /usr/sbin/bumblebeed

Jun 16 17:26:21 izanagi bumblebeed[730]: [45B blob data]
Jun 16 17:26:21 izanagi bumblebeed[730]: Try '/usr/bin/mknod --help' for more information.
Jun 16 17:26:22 izanagi bumblebeed[730]: [  642.964255] [WARN][XORG] (WW) Unresolved symbol: fbGetGCPrivateKey
Jun 16 17:26:22 izanagi bumblebeed[730]: [  642.964294] [ERROR][XORG] (EE) NVIDIA(0): Failed to initialize the GLX module; please check in your X
Jun 16 17:26:22 izanagi bumblebeed[730]: [  642.964301] [ERROR][XORG] (EE) NVIDIA(0):     log file that the GLX module has been loaded in your X
Jun 16 17:26:22 izanagi bumblebeed[730]: [  642.964307] [ERROR][XORG] (EE) NVIDIA(0):     server, and that the module is the NVIDIA GLX module.  If
Jun 16 17:26:22 izanagi bumblebeed[730]: [  642.964313] [ERROR][XORG] (EE) NVIDIA(0):     you continue to encounter problems, Please try
Jun 16 17:26:22 izanagi bumblebeed[730]: [  642.964319] [ERROR][XORG] (EE) NVIDIA(0):     reinstalling the NVIDIA driver.
Jun 16 17:26:22 izanagi bumblebeed[730]: [  642.964329] [WARN][XORG] (WW) NVIDIA(0): Unable to get display device for DPI computation.
Jun 16 17:26:22 izanagi bumblebeed[730]: [  643.080318] [ERROR][XORG] (EE) Server terminated successfully (0). Closing log file.

$ optirun --status
Bumblebee status: Error (3.2.1): [XORG] (EE) Server terminated successfully (0). Closing log file.

答案1

嘗試primusrun一下

primusrun glxspheres

如果可能的話,您還應該找出該連結屬於哪個包;不過,我假設該軟體包已卸載。因此,請嘗試:

rm -rf /usr/lib64/nvidia/xorg/modules/extensions/libglx.so

相關內容