manual

UbuntuをNVIDIAとIntelのマルチGPU(デュアルGPU)搭載PCで使う取説

NVIDIA Linux用ドライバの検索結果
この記事は約7分で読めます。

UbuntuをNVIDIAとIntelのマルチGPU(デュアルGPU)搭載のPCで使う場合の使用方法を説明します。NVIDIAドライバーのインストールコマンドやバージョンの確認方法、ディスクリートGPU起動の方法も紹介しています。

Windows環境でのNVIDIAとIntelのマルチGPU

Ubuntuと比較するためにまずはWindowsでのNVIDIAの設定についてみてみましょう。

NVIDIAのRTXシリーズはSLI(Scalable Link Interface)やNVLinkの技術によりマルチGPUをサポートしています。BTOのPCなどではNVIDIAのRTXシリーズまたはGTXシリーズとIntelのGPUを搭載しているマルチGPUのPCをよく見かけます。マルチGPUにすることで負荷が分散され、パフォーマンスが向上します。非マルチGPUより高フレームレート、遅延減などの利点があります。

WindowsではNVIDIAドライバーのサポートが充実しています。マルチGPUを制御するのにはOptimus技術が使われています。Optimusはデフォルトではアプリケーションの毎にどちらのGPUを使用するのか自動で選択されて切り替わります。基本的にはIntelのGPUが使われ、高負荷時や高負荷アプリではNVIDIAのGPUが使われます。アプリケーション毎に手動でグラフィック設定を変更することも可能です。ゲームなどではグラフィック設定を適切に行うことで高フレームレート、遅延減が実現します。

Windows用NVIDIA Optimusの3D設定

参考までに以下はNVIDIA Optimusの3D設定になります。デフォルトでは「自動選択」になっていて、その下の設定は全てのアプリに適用されます。ここの設定でゲーム用の高パフォーマンス設定にしてしまうと全てのアプリに適用されて、アプリによってはPCに過度に負荷をかけることになるかもしれません。アプリ毎に設定することで、本来通常のパフォーマンスで機能するのに、無駄に高パフォーマンスで使われるのを避ける事ができます。

WindowsのNVIDIA Optimus 3D設定①

このアプリ(モンハンゲーム)の場合は下図の③のGPU選択リストではOptimusによってNVIDIAのGPUが選択されています。デフォルトでは④の設定は前の図のデフォルト設定が適用されているので個別に設定する必要があります。よくわからない謎の項目が並んでいます。

WindowsのNVIDIA Optimus 3D設定②

Ubuntu環境でのNVIDIAとIntelのマルチGPU

WindowsでのOptimus機能がわかったところで、本題のUbuntuではどうなっているか見てみましょう。

そもそもなんですが、LinuxOSでのNVIDIAサポートはWindowsと比べるとかなり弱いです。NVIDIAに対応していないOSも数多く存在します。その中でもUbuntuはサポートされている方だと思います。NVIDIA搭載PCでLinuxでゲームしたい場合はUbuntu、Debian、Arch Linuxの3択かなと個人的には思います。

WindowsではOptimus機能が使用されていましたが、LinuxではPrimeという機能を使用しています。Windowsでの3D設定のよくわからない謎の項目は、Linuxではプロファイルを作成することで細かな設定ができます。しかし、Windowsほどサポートされていない事に注意して下さい。また、マルチGPUもサポートされています。

Ubuntu ではデフォルトではIntelのGPUが使われています。手動でNVIDIAのGPUを使用して起動する事も可能です。また、NVIDIAのGPUだけを使うように設定することも可能です。

もしかしたらアプリケーションにより自動で割り当てられているかもしれませんが明確な設定個所はないので不明です。少なくともSteamの場合は、何も設定していなくてもNVIDIAの方が使われている可能性が高いです。

NVIDIAやRadeonなどの外付けGPUをディスクリートGPU(dGPU)といいます。逆にIntelのGPUはオンボードGPUと呼ばれることもあります。ノートの場合は厳密に外付けではなくマザーボードに両方のGPUがくっついているのでオンボードではあるんですが、一般的にノートの場合も「外付けGPU」や「ディスクリートGPU」と呼ばれます。

Linux用のNVIDIAドライバーのバージョン

UbuntuではデフォルトのOSのパッケージにNVIDIAのドライバーは付属しません。個別にインストールする必要があります。

Linux用Linuxのドライバーは「NVIDIA driver」と「NVIDIA server driver」が有り、前者は一般的なPC用で後者はサーバーやワークステーション用になります。

  • NVIDIA driver:一般的なPC用
  • NVIDIA server driver:サーバーやワークステーション用

執筆現在、以下のバージョンがあります。

  • 470
  • 535
  • 550
  • 570

対応するシリーズに合わせてバージョンを指定する必要があります。おそらく550か570に当てはまると思いますが、NVIDIA公式サイトでドライバーの対応バージョンを検索することができます。

GTX1070を検索してみます。

NVIDIA Linux用ドライバの検索

570が推奨されました。リリースされたばかりです。

NVIDIA Linux用ドライバの検索結果

NVIDIAドライバーのインストールコマンド

NVIDIAドライバーを個別にインストールすることもできますが、そのPCに合ったドライバーを自動でインストールするコマンドがあるのでそちらを使った方が楽かもしれません。

sudo apt update
sudo ubuntu-drivers autoinstall

UbuntuでインストールされているNVIDIAドライバーのバージョンを確認する

①アプリ一覧から「ソフトウェアとアップデート」を実行します。

Ubuntuのソフトウェアとアップデートアイコン

②「追加のドライバー」タブで確認できます。違うバージョンをインストールしたい場合は他のバージョンを選択するとインストールできます。

UbuntuのソフトウェアとアップデートのNVIDIAドライバー確認画面

UbuntuのNVIDIA X Server Settingsのドライバー設定

別の記事にしましたのでそちらをご覧ください。

ディスクリートGPUで起動する

明示的にディスクリートGPU(NVIDIA GPUを使う)でアプリケーションを起動することができます。コマンドで起動する方法とアプリの右クリックメニューから起動する方法があります。Ubuntuでは右クリックメニューがありますが、軽量Ubuntu系OSではこれはないかもしれません。因みにXubuntuではこれはなかったです。

  1. 右クリックメニューから起動する
  2. コマンドから起動する

コマンドでアプリをディスクリートGPU起動する

ターミナルから以下のコマンドでディスクリートGPUで起動することができます。prime対応ドライバーでないと機能しません。

  • NV_PRIME_RENDER_OFFLOAD=1:ディスクリートにオフロードを許可する
  • GLX_VENDOR_LIBRARY_NAME=nvidia:NVIDIAのGLXライブラリを使用する
__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia アプリ名

私の環境では、Steam Proton経由のアプリの場合は上記のコマンドで起動すると画面が黒くなって表示されない場合がありました。その場合はSteamライブラリ→対象アプリのプロパティ→起動オプションに下記を入力し、アプリから起動してください。おそらくSteamの場合、これをしなくても自動でNVDIA GPUを使うようになっている可能性があります。

__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia

右クリックメニューでアプリをディスクリートGPU起動する

対象のアプリを右クリックで「ディスクリートグラフィックカードを使用して起動」を選択して起動します。

Ubuntuのアプリケーションの右クリックメニュー

アプリケーションによってはメッセージが違うかもしれません。Steamでは「特定のグラフィックカードを使用して起動」になっています。

Ubuntu Steamの右クリックメニュー

Ubuntu Live起動のNVIDIA対応

Live起動の場合はNVIDIA GPUは機能しないようです。ドライバーの自動インストールコマンドでもインストールされません。個別にインストールしましたが、NVIDIA X Server Settingsも制限されて情報のみ見ることができます。また、アプリを右クリックした時のディスクリートGPU起動も表示されません。

Comment

タイトルとURLをコピーしました