私は最近、統合グラフィックスとOptimus techを搭載したNVidia GPUを搭載したIntel Ivy BridgeにUbuntu 12.04をインストールしましたが、正しく動作するように管理することはできません。私はすでにbumblebeeプロジェクトのソリューションに合格しましたが、nvidiaカード(たとえばoptirun firefox
)で何かを実行しようとすると、iamは次のメッセージを受け取りました。
[ERROR]The Bumblebee daemon has not been started yet or the socket path /var/run/bumblebee.socket was incorrect.
[ERROR]Could not connect to bumblebee daemon - is it running?
Nvidiaカードが正常に動作しないため、Scilabのような、グラフィックの処理とプロットにX11システムを使用する一部のソフトウェアも動作しません。
私のBIOSにはグラフィックカードに関するオプションがなく、デーモンのログが返されました:
Jul 5 16:10:51 humannoise-W251ESQ-W270ESQ bumblebeed[980]: Module 'nvidia' is not found.
Jul 5 16:10:51 humannoise-W251ESQ-W270ESQ kernel: [ 17.943272] init: bumblebeed main process (980) terminated with status 1
Jul 5 16:10:51 humannoise-W251ESQ-W270ESQ kernel: [ 17.943288] init: bumblebeed main process ended, respawning
Jul 5 16:10:51 humannoise-W251ESQ-W270ESQ bumblebeed[1026]: Module 'nvidia' is not found.
lspci -nn | grep '\[030[02]\]:'
が返されました:
00:02.0 VGA compatible controller [0300]: Intel Corporation Ivy Bridge Graphics Controller [8086:0166] (rev 09)
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation Device [10de:0de9] (rev a1)
OK、コマンドdpkg -l | grep '^ii' | grep nvidia
の場合:
ii bumblebee-nvidia 3.0-2~preciseppa1 nVidia Optimus support using the proprietary NVIDIA driver
ii nvidia-current 302.17-0ubuntu1~precise~xup1 NVIDIA binary Xorg driver, kernel module and VDPAU library
ii nvidia-current-updates 295.49-0ubuntu0.1 NVIDIA binary Xorg driver, kernel module and VDPAU library
ii nvidia-settings 302.17-0ubuntu1~precise~xup3 Tool of configuring the NVIDIA graphics driver
ii nvidia-settings-updates 295.33-0ubuntu1 Tool of configuring the NVIDIA graphics driver
以前のnvidiaドライブの削除を含む完全な再インストール後、lsmod | grep -E 'nvidia|nouveau'
が返されました:
nvidia 10888310 46
dmesg | grep -C3 -E 'nouveau | NVRM'は次のようなものを返しました。
[ 1875.607283] nvidia 0000:01:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[ 1875.607289] nvidia 0000:01:00.0: setting latency timer to 64
[ 1875.607293] vgaarb: device changed decodes: PCI:0000:01:00.0,olddecodes=io+mem,decodes=none:owns=none
[ 1875.607363] NVRM: loading NVIDIA UNIX x86_64 Kernel Module 302.17 Tue Jun 12 16:03:22 PDT 2012
[ 1884.830035] nvidia 0000:01:00.0: PCI INT A disabled
[ 1884.832058] bbswitch: disabling discrete graphics
[ 1884.832960] bbswitch: Result of Optimus _DSM call: 09000019
Scilabなどの一部のプログラムは、optirun(e.g。>optirun scilab
)呼び出しの下で正常に動作しています。
エラー「bumblebeeデーモンに接続できませんでした-実行中ですか?」は、Bumblebeeデーモンが起動を拒否/失敗したことを意味します。
あなたの場合、「モジュール 'nvidia'が見つかりません。」。これは、Nvidiaカーネルドライバーが正しくインストールされていないことを意味します。 linux-headers-generic
パッケージをインストールし、nvidiaパッケージを再インストールしたことを確認してください。
Sudo apt-get install linux-headers-generic
Sudo apt-get install --reinstall nvidia-current
また、システムがIntelとNvidiaの2つのグラフィックカードを搭載したOptimusラップトップとして検出されない場合にも発生する可能性があります。 「bumblebeed」(Bumblebeeデーモン)からのメッセージがないか/var/log/syslog
ファイルを確認してください。
grep bumblebeed /var/log/syslog
メッセージがnVidiaグラフィックスカードが見つからない、終了する場合、ラップトップにNvidiaチップがないか、BIOSで無効になっています。 Intelグラフィックスカードが見つからない場合、メッセージNo Optimus system detected、quit。が表示されます。いずれの場合も、「Optimusモード/統合のみ/ディスクリートのみ」オプション(または「Optimusの検出」)のBIOS設定を確認してください。
コマンドlspci -nn | grep '\[030[02]\]:
の出力は次のようになります。
00:02.0 VGA互換コントローラー[0300]:Intel Corporation Core Processor Integrated Graphics Controller [8086:0046](rev 02)
01:00.0 VGA互換コントローラー[0300]:NVIDIA Corporation GF108 [GeForce GT 425M] [10de:0df0](rev ff)
一部のパッケージをアップグレードした後にこの問題が発生しました。この問題は、Nvidiaカーネルモジュールが「nvidia」から「nvidia_current」に名前変更されたために発生したようです。
nvidia-current
パッケージがインストールされている場合は、/etc/bumblebee/bumblebee.conf
を編集して次の値を設定することで問題を修正できます。
...
[bumblebeed]
Driver=nvidia
...
[driver-nvidia]
KernelDriver=nvidia_current
Module=nvidia
...
次に、bumblebeeを再起動します。
Sudo service bumblebeed restart
そしてテスト:
optirun glxgears
参照:
症状
optirun playonlinux
またはoptirun -b playonlinux
でこのエラーが発生した場合:
[ERROR]The Bumblebee daemon has not been started yet or the socket path /var/run/bumblebee.socket was incorrect.
[ERROR]Could not connect to bumblebee daemon - is it running?
その場合、bumblebleeのconfファイルは最新のものではありません。
Bumblebee confファイルの自動修正
端末でこれらのコマンドをコピー/貼り付けできます。
#!/bin/bash
# Get the old nvidia version used by the conf file
oldNvidiaVersion=`cat /etc/bumblebee/bumblebee.conf |grep "KernelDriver=nvidia" | cut -d- -f2`
# Get the current nvidia version
nvidiaVersion=`find /lib/modules/$(uname -r) -name 'nvidia_???.ko*' | cut -d_ -f2 |cut -d. -f1`
echo "nvidiaVersion : $oldNvidiaVersion => $nvidiaVersion"
# Test the update the Bumblebee conf file
# cat /etc/bumblebee/bumblebee.conf | sed "s/$oldNvidiaVersion/$nvidiaVersion/g"
# Update the Bumblebee conf file
echo "Update /etc/bumblebee/bumblebee.conf ..."
Sudo sed -i "s/$oldNvidiaVersion/$nvidiaVersion/g" /etc/bumblebee/bumblebee.conf
echo done.
# Restart bumblebeed deamon
Sudo systemctl restart bumblebeed.service
オプション:nvidiaドライバーを頻繁に更新する場合、このコマンドをファイルbumbleble_update_conf.sh
に保存し、chmmod +x bumbleble_update_conf.sh
に保存してから./bumbleble_update_conf.sh
に実行できます
これで、optirun playonlinux
またはoptirun -b playonlinux
が機能するはずです!