アップデート
最初からやり直しました。今回は、ドライバーのワンクリック ボタンの代わりにインストールしました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のインストール方法
- まず、このガイドを使用してシステムをクリーンアップしました。 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