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

관련 정보