고쳐 쓰다
나는 다시 시작했다. 이번에는 내가 설치한 드라이버의 원클릭 버튼이 아니었습니다 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 설치 방법을 자세히 설명하겠습니다.
범블비를 설치한 방법
- 먼저 다음 가이드를 사용하여 시스템을 정리했습니다. http://smithfarm-thebrain.blogspot.cz/2013/10/opensuse-131-nvidia-optimus-bumblebee.html
- 재시작
- 그런 다음 이 가이드의 "프로그램" 섹션에 따라 Bumblebee를 설치했습니다.http://en.opensuse.org/SDB:NVIDIA_Bumblebee
- 동일한 가이드에 따라 "GeForce 8 이상"에 대한 원클릭 버튼을 사용하여 NVIDIA 드라이버를 설치했습니다.http://en.opensuse.org/SDB:NVIDIA_drivers
- 재시작
출력 확인
$ 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