私はNVIDIA GTX 960M(Optimus Technology)を搭載したASUS N552VW-FY136Tを持っています。ログインして(私はcinnamonを使用しています)、Bamboobeeや他の特定のドライバをインストールせずにコンピュータを正常に使用できます(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
私はいつも私のコンピュータでNvidia独自のドライバを実行する幸運を享受しました。
Nvidiaドライバのインストール:
最新のドライバはここからダウンロードできます(http://www.nvidia.com/Download/index.aspx)、しかし一般的に最新のドライバを使用しなければならない特別な理由がない限り、ディストリビューションに含まれているドライバを使用することは常に簡単です(sudo apt-get install nvidia-driver
例:debian)。
(しかし、この記事を書いた時点で、最新のドライババージョン375には、「Prime Sync」機能に対するいくつかの主な修正が含まれています。の場合、より強力になります。
Nvidia Webサイトでバイナリインストールを選択すると、最新のCUDAサポートと同じ機能が利用できますが、カーネルを更新するたびにドライバを再インストールする必要があります。したがって、このアプローチを選択した場合は、Nvidiaドライバのインストールプログラムスクリプトを見つけやすい場所に保存してください。
nouveauが実行されていないことを確認してください。
Nouveauを実行するとグラフィックカードの所有権が得られ、Nvidiaドライバは実行されません。 nouveauモジュールはLinuxにデフォルトで含まれているため、削除することはできませんが、ブラックリストに載せることはできます。最初のステップは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
私はコマンドラインからxサーバーを手動で起動するstartx
ので、これらのコマンドを設定ファイルに入れました~/.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にプッシュします。このPrime SyncシステムはHornetにまったく追加されません。 Debian のガイドラインでは Nvidia Prime 同期機能を設定していないため、まだ正確な場合があります。私は彼らが提案する方法に慣れていません。私は通常、かなり新しいGPUハードウェアで最新のCUDAを実行したいので、「最新の排他的なドライバが最高」という観点を持っています。オープンソースドライバの設定に問題があるため、この戦略を提案します。
また、言及する価値があるのはbbswitchプログラムです。このプログラムは、モニターやドライバーを気にせずにNvidia GPUのオン/オフを切り替えます。 NvidiaのPrime Sync機能と一緒に使用しないでください。 Prime Syncを使用すると、GPUの電源を切るとグラフィックが得られなくなるためです。