私は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
コンピューターがフリーズし、コンピューターを手動でシャットダウンする必要があります。
他に何を試すべきかわからない、何か考えはありますか?誰かが同じ問題を抱えていましたか?
私はいつも自分のマシンで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機能ではまったく使用しないでください:(