web-dev-qa-db-ja.com

Ubuntu 14.04でBumblebeeを使用してnVidiaドライバーをインストールする方法

タイトルとして、Ubuntuでnvidia-optimusテクノロジーを正しくセットアップするにはどうすればよいですか?

11
tigerjack89

NB:この投稿は、ウェブ上のさまざまなものを何日も読んだ結果ですので、自己責任でお読みください。nVidiaを使用してUbuntu 12.04/12.10/13.04/13.10/14.04(すべて64ビット)でテストされました。 GT650Mグラフィックカード。コメントや提案を自由に追加してください


NVidiaとbumblebeeをインストールする

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.confxorg.nvidia.confの2つが必要です。両方のバックアップコピーを作成してみましょう。

Sudo cp FILE_NAME FILE_NAME.bak

FILE_NAMEをファイルの実際の名前に置き換える必要があります。次に、Sudo gedit bumblebee.confを使用して最初のファイルを変更し、追加します(すべて引用符なし)

  • [bumblebeed]セクション:「Driver =」の後に「nvidia」を挿入
  • [nvidia-driver]セクション:「KernelDriver =」の後に「nvidia-XXX-updates」を挿入します
  • [nvidia-driver]セクション:「LibraryPath =」の後に「/ usr/lib/nvidia-XXX-updates、/ usr/lib/nvidia-331-updates:/ usr/lib32/nvidia-XXX-updates」を挿入
  • [nvidia-driver]セクション:「XorgModulePath =」の後に「/ usr/lib/nvidia-XXX-updates/xorg、/ usr/lib/xorg/modules」を挿入

[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ドライバーのみが表示されます。それでおしまい!!


Bumblebee UIをインストールする

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
26
tigerjack89