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를 어떻게 설치했는지 자세히 설명하겠습니다.

범블비를 설치한 방법

검증 결과

$ 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

관련 정보