タイトルとして、Ubuntuでnvidia-optimusテクノロジーを正しくセットアップするにはどうすればよいですか?
NB:この投稿は、ウェブ上のさまざまなものを何日も読んだ結果ですので、自己責任でお読みください。nVidiaを使用してUbuntu 12.04/12.10/13.04/13.10/14.04(すべて64ビット)でテストされました。 GT650Mグラフィックカード。コメントや提案を自由に追加してください
1.まず、コンピューター上のすべてのビデオドライバーを削除する必要があります。
Sudo apt-get remove --purge nvidia*
次に、以前にインストールした場合のバンブルビー:
Sudo apt-get remove --purge bumblebee*
また、すべてのnouveauドライバーを削除する必要があります。
Sudo apt-get --purge remove xserver-xorg-video-nouveau
確実にすべてを削除するには、dpkg -l | grep nvidia
およびdpkg -l | grep bumblebee
と入力してみてください。何も返されないはずです。 dpkg -l | grep nouveau
の場合、libdrm-nouveauXXXXX
;という行が返される可能性があります。今のところ、それらを無視してください。
2.次に、すべてのヘッダーを確実に入力する必要があります。
Sudo apt-get install linux-source && Sudo apt-get install linux-headers-$(uname -r)
3.次に行うことは、残りのnouveauドライバーと問題を引き起こす可能性のある他のパッケージをブラックリストに追加することです。
Sudo cp /etc/modprobe.d/blacklist.conf /etc/modprobe.d/blacklist.conf.bak
Sudo gedit /etc/modprobe.d/blacklist.conf
ファイルの最後に次の行を追加します。
# Necessary to install nvidia drivers
blacklist nouveau
blacklist lbm-nouveau
blacklist nvidia-173
blacklist nvidia-96
blacklist nvidia-current
blacklist nvidia-173-updates
blacklist nvidia-96-updates
alias nvidia nvidia_current_updates
alias nouveau off
alias lbm-nouveau off
options nouveau modeset=0
保存して終了します。
4.次に、最もよく知られているubuntuコマンドを実行します
Sudo apt-get update && Sudo apt-get dist-upgrade -y
5.これから、ttyで作業します。 Ctrl + Alt + F1でtty1コンソールを開き、ユーザー名とパスワードでログインします。次に実行します:
Sudo service lightdm stop
次に、ドライバーをインストールします。実行:
Sudo apt-get install nvidia-XXX-updates nvidia-settings
ここで、XXXは最新の安定したドライバーです。私は331ドライバーを使用していますが、343がダウンロード可能であることをどこかで読みました(安定しているかどうかはわかりません)。
N.B:最新のドライバーバージョンでは、nvidia-prime
もデフォルトでインストールされます。このテクノロジーは、ユーザーの介入なしに、IntelとnVidiaグラフィックカードを自動的に切り替えることを目的としています。これを行うには、両方のカードをオンのままにします。一方、Optimusは、明示的なユーザー要求がある場合にのみnVidiaグラフィックカードをオンにします。それは、素数に比べて大幅に少ない電力消費に変換されます。
私は個人的にプライムよりオプティマスを好みますが、エネルギーの莫大な浪費に煩わされなければ、ここでやめてください。それ以外の場合、2つのオプションがあります。
プライム(Sudo apt-get remove --purge nvidia-prime
)を完全に削除します。
そこにプライムを残します。 「最適化されたプライム」セクションでは、インストールされたプライムでもoptirunを動作させる方法を説明します。
6.次に、bumblebeeとvirtualglパッケージをインストールする必要があります
Sudo apt-get install bumblebee bumblebee-nvidia virtualgl virtualgl-libs virtualgl-libs-ia32:i386 virtualgl-libs:i386
次に、ユーザーをbumblebeeグループに追加する必要があります。
Sudo usermod -a -G bumblebee $USER
そして、PCを再起動します。
7.ユーザーアカウントにログインし、新しいターミナルウィンドウを開いて次のように入力します。
cd /etc/bumblebee
ls -Al
リストされたさまざまなファイルの中で、特にbumblebee.conf
とxorg.nvidia.conf
の2つが必要です。両方のバックアップコピーを作成してみましょう。
Sudo cp FILE_NAME FILE_NAME.bak
FILE_NAMEをファイルの実際の名前に置き換える必要があります。次に、Sudo gedit bumblebee.conf
を使用して最初のファイルを変更し、追加します(すべて引用符なし)
[nvidia-driver]の下の "XorgConfFile"が "/etc/bumblebee/xorg.conf.nvidia"(再び、引用符なし)と等しいことを確認してから、geditを保存して閉じます。
ここで、他のファイルをSudo gedit xorg.conf.nvidia
で編集する必要があります(この場合、引用符も挿入する必要があります!!)。 Option "ConnectedMonitor" "DFP"
をOption "UseDisplayDevice" "none"
に置き換え、保存して終了します。
8. gedit /etc/modprobe.d/bumblebee.conf
を実行し、blacklist <something>
を含むすべての行がコメント化されていないことを確認します(つまり、#
で始まっていない)。
9.この時点で、次のコマンドを実行します
Sudo service bumblebeed start
エラーが返された場合は、起動するのではなく、再起動してコマンドを再実行してください。それでもエラーが発生する場合は、次のようにします。
restart: Unknown job: bumblebeed
おそらくbumblebee.confファイルに何か問題があります。そのため、手順7を再確認してください。
代わりに結果が次のようになる場合:
bumblebeed start/running, process XXXXX
バンブルビーのセットアップはもうすぐ完了です!
10.これで、単にoptirun glxspheres
またはoptirun glxspheres64
を実行できます。すべてが期待どおりに機能する場合、次のような出力が得られます。
$ optirun glxspheres64
Polygons in scene: 62464
Visual ID of window: 0x20
Context is Direct
OpenGL Renderer: GeForce GT 650M/PCIe/SSE2
182.253407 frames/sec - 203.394802 Mpixels/sec
182.940725 frames/sec - 204.161849 Mpixels/sec
....
実際にnvidia-driversを使用していることを再確認するには、optirun <application>
の実行中に別のターミナルを開き、Sudo lshw -c display | grep driver
と入力します。結果はそのようなものになるはずです。
configuration: driver=nvidia latency=0
configuration: driver=i915 latency=0
一方、optirun
で開始されたすべてのアプリケーションを閉じると、Intelドライバーのみが表示されます。それでおしまい!!
Pavak Paulからのこの回答のおかげで、nVidiaを使用して開くアプリを管理するために、Ubuntu 14.04にbumblebeeユーザーインターフェイスを追加する手順を次に示します。
1. Pythonアプリインジケーターをインストールします。
Sudo apt-get install python-appindicator
2. Gitをインストールします。
Sudo apt-get install git
3. gitのディレクトリを作成します。
mkdir git && cd git
4.リポジトリをチェックアウトします。
git clone https://github.com/Bumblebee-Project/bumblebee-ui.git
cd bumblebee-ui
Sudo ./INSTALL
5.スタートアップアプリケーションに移動し、bumblebee-indicatorを追加します[追加をクリックして、必要な名前とコメントを挿入します。コマンドボックスにbumblebee-indicator
を挿入し、[追加]をクリックします。
6.再起動します。
ときどきnvidia-prime
も使用するオプションが必要な場合は、以下の手順に従ってください。
1. bumblebeed
が起動時に起動しないようにするには、次を実行します。
echo "manual" | Sudo tee /etc/init/bumblebeed.override
2.この点が最も問題です。バンブルビーがnVidiaドライバーをブラックリストに登録するのを防ぎ、グラフィックセッションがフリーズするはずです。ご自身の責任で試してください!実行:
Sudo gedit /etc/modprobe.d/bumblebee.conf
NVidia XXXドライバーを含む行をコメントします。そのような結果になるはずです。
# XXX
#blacklist nvidia-XXX
#blacklist nvidia-XXX-updates
blacklist nvidia-experimental-XXX
3.システムを再起動し、nvidia-settings
を起動します。最終的な状況は次のとおりです。
Nvidia-settingsで「Intel(Power save)」を選択すると、デフォルトでIntelグラフィックカードのみがオンになります。 nVidiaグラフィックカードを使用するには、optirun
でアプリケーションを実行する必要があります
Sudo service bumblebeed start
optirun <application>
代わりに「Nvidia(パフォーマンス)」プロファイルを使用する場合は、nvidia-settingsからプロファイルを選択し、ログイン/ログアウトするとすべてが自動的に機能するはずです。唯一のことは、トラブルを引き起こす可能性があるため、このプロファイルを選択してbumblebeed
デーモンを起動する必要がないことです。
1. nvidia-prime
のみを使用する場合:
Sudo apt-get --purge remove bumblebee*
次に再起動します。
2. nvidia-primeを削除せずにoptimusのみを使用する場合は、以前のファイルを再度編集します。
Sudo gedit /etc/modprobe.d/bumblebee.conf
以前に変更した行のコメントを外します(#文字を削除します)。
# XXX
blacklist nvidia-XXX
blacklist nvidia-XXX-updates
blacklist nvidia-experimental-XXX
そして再起動。この場合、起動時にbumblebeedを実行したままにしておくことができます。
Sudo rm /etc/init/bumbebeed.override