web-dev-qa-db-ja.com

DebianテストでのBumblebeeを搭載したNvidiaGTX 960M

私はNVIDIAGTX 960M(Optimusテクノロジー)を搭載したASUSN552VW-FY136Tを持っています。 bamblebeeやその他の特定のドライバーをインストールせずにログインでき(私はシナモンを使用しています)、通常はコンピューターを使用します(ブートプロセスが遅くなることがあるため、nouveauモジュールをブラックリストに登録する必要がありました)。ソフトウェアレンダリングを行っているためだと思います。実際、次のコマンドを入力すると、次のようになります。

glxinfo | grep OpenGL

私は得る:

OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) HD Graphics 530 (Skylake GT2) 
OpenGL core profile version string: 4.3 (Core Profile) Mesa 12.0.4
OpenGL core profile shading language version string: 4.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.0 Mesa 12.0.4
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.1 Mesa 12.0.4
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.10
OpenGL ES profile extensions:

無料のnouveauドライバーを使用してBamblebeeをインストールしようとしました。

Sudo apt-get install bumblebee primus

その後、再起動しましたが、機能しませんでした。ラップトップが起動しません。そこで、リカバリモードで開始し、nouveauとbumblebeeを削除し、nouveauモジュールをブラックリストに登録し、bumblebee-nvidiaをインストールしました。

Sudo apt-get install bumblebee-nvidia primus

コンピュータは問題なく起動しますが、ログイン後、ファンは最大速度で動き始め、シェルを開いてもう一度入力すると、次のようになります。

glxinfo | grep OpenGL

コンピューターがフリーズし、コンピューターを手動でシャットダウンする必要があります。

他に何を試すべきかわからない、何か考えはありますか?誰かが同じ問題を抱えていましたか?

1
Giorgio

私はいつも自分のマシンでNvidia独自のドライバーを実行するのに最高の幸運を持っています。

Nvidiaドライバーのインストール:

最新のドライバはここからダウンロードできます( http://www.nvidia.com/Download/index.aspx )が、通常、最新のドライバを使用する特別な理由がない限り、常にダウンロードされます。ディストリビューションに含まれているもの(たとえば、debianのSudo apt-get install nvidia-driver)を使用する方が簡単です。

(ただし、この記事の執筆時点では、最新のドライバーリリース(375)には、「Prime Sync」機能のいくつかの主要な修正があり、画面のティアリングと外部画面の適切な処理が排除されています。これにより、最新のドライバーがかなり多くなります。あなたの状況で貴重です。)

NvidiaのWebサイトからバイナリインストールを実行することを選択した場合、カーネルを更新するたびにドライバーを再インストールするという犠牲を払って、最新のCUDAサポートなどの機能を利用できることに注意してください。したがって、そのルートを使用する場合は、Nvidiaドライバーのインストーラースクリプトを見つけやすい場所に保管してください。

nouveauが実行されていないことを確認します

Nouveauが実行されると、グラフィックカードの所有権が取得され、nvidiaドライバーは動作できなくなります。 nouveauモジュールはデフォルトでLinuxに付属しているため、アンインストールすることはできませんが、ブラックリストに登録することはできます。ステップ1は、行blacklist nouveauをファイル/etc/modprobe.d/blacklist.confに追加することです。ステップ2は、Sudo update-initramfs -u(debian/ubuntu)を実行することです。このステップは、ブラックリスト構成の変更をgrubブートシーケンスなどに伝播します。

Bumblebee、bbswitch、およびprimusは、nouveauでのみ機能するため、アンインストールする必要があることに注意してください。詳細については、投稿の最後にある編集を参照してください。

Prime Syncモードで動作するようにNvidiaドライバーを構成する

Nvidia Optimusラップトップには2つのグラフィックカードがあります。画面に接続されているIntel統合グラフィックカードと、画面に接続されていないNvidiaディスクリートグラフィックカードです(ただし、多くの場合、外部出力に接続されています)。したがって、グラフィックを生成するようにNvidiaカードを構成する必要がありますが、画面に表示するには、グラフィックをIntelカードに渡す必要があります。

/etc/X11/xorg.confを次のように変更してみてください(グラフィックカードのPCI BusIDを引用符で囲んで、通常は"PCI:1:0.0"に置き換えます)。

Section "ServerLayout"
    Identifier "layout"
    Screen 0 "nvidia"
    Inactive "intel"
EndSection

Section "Device"
    Identifier "nvidia"
    Driver "nvidia"
    BusID "<BusID for NVIDIA device here>"
EndSection

Section "Screen"
    Identifier "nvidia"
    Device "nvidia"
    Option "AllowEmptyInitialConfiguration"
EndSection

Section "Device"
    Identifier "intel"
    Driver "modesetting"
EndSection

Section "Screen"
    Identifier "intel"
    Device "intel"
EndSection

次に、Xサーバーを実際に使用する前に、Xサーバーの起動後に2つのコマンドを実行する必要があります(したがって、それらをファイルに入れて、自動的に実行します)。

xrandr --setprovideroutputsource modesetting NVIDIA-0
xrandr --auto

startxを使用してコマンドラインから手動でxサーバーを起動するので、これらのコマンドを~/.xinitrc構成ファイルに配置します。グラフィカル環境で起動する場合は、おそらくそれらを/etc/X11/xinit/xinitrcに置くことができます。私はそれを自分で試したことがありません。

情報はNvidiaオンラインドキュメントからのものです( http://us.download.nvidia.com/XFree86/Linux-x86/375.20/README/randr14.html


追加情報

ここで説明する手順では、「Prime Sync」機能と呼ばれるものを使用して、Nvidia独自のドライバーを使用します。すべてのグラフィックをGPUにレンダリングしますが、実際に表示するために、バッファーを介してIntel統合GPUにプッシュします。このPrimeSyncシステムは、マルハナバチを完全に補完するものではありません。 Debianの手順はNvidiaPrime Sync機能を設定していないため、正しい場合があることに注意してください。私は彼らが提案する方法にあまり詳しくありません。私は通常、かなり新しいGPUハードウェアで最新のCUDAを実行したいので、「最新のプロプライエタリドライバーが最適」から来ています。オープンソースドライバーのセットアップに問題があるため、この戦略をお勧めします。

また、ディスプレイやドライバーを気にせず、NvidiaGPUのオンとオフを切り替えるbbswitchプログラムも言及する価値があります。 Prime SyncではGPUをオフにするとグラフィックがなくなるため、NvidiaのPrimeSync機能ではまったく使用しないでください:(

1
rexroni