Ubuntu システムに NVIDIA GPU ドライバーをインストールして管理するのに役立つ小さなガイド
現時点では私は個人的にUbuntu 24.04.1ユーザーなので、これがこのガイドのほとんどに当てはまります (ただし、新しいリリースでも、それほど古くない古いリリース[something like Ubuntu 20.04+]
でも問題なく動作すると思います) [something like Ubuntu 20.04+]
)
️ 警告問題が発生しないように、このガイドのすべての部分を注意深く読んでください。
また、再起動手順中にシステムが停止しているように見えても心配する必要はありません。実は固まってないんです!再起動が完了するまで最大 2 分ほどかかります。
graphics-drivers
PPA リポジトリを介したインストール [推奨]このインストール方法は推奨される方法であり、実際に私が自分のシステムでドライバーのインストールを維持するために使用している方法です。
以前にインストールした NVIDIA ドライバーをすべてアンインストールしたことを確認します。
sudo apt-get remove --purge '^nvidia-.*'
sudo apt autoremove
reboot
.run
ファイル) を使用してインストールされた Nvidia ドライバーをアンインストールするには: ドライバーのアンインストールDKMS サポートと問題のないインストール プロセスを確保するには、次の依存関係をインストールします。
sudo apt install pkg-config libglvnd-dev dkms build-essential libegl-dev libegl1 libgl-dev libgl1 libgles-dev libgles1 libglvnd-core-dev libglx-dev libopengl-dev gcc make
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
sudo apt install nvidia-driver-555
reboot
注: このガイドが最後に更新された時点では、555 がリポジトリで入手可能なドライバーの最新のテスト済みバージョンです。
https://launchpad.net/~graphics-drivers/+archive/ubuntu/ppa に移動してドライバーの最新バージョンを確認し、 driver-555
部分をインストールするバージョンに置き換えます。
nvidia-smi
実行して、ドライバーが問題なくインストールされたことを確認します。この手順はより高度なものであるため、多くの場合お勧めできません。ただし、各ステップを忍耐強く注意深く実行する限り、問題なく進むでしょう:)
以前にインストールした NVIDIA ドライバーをすべてアンインストールしたことを確認します。
sudo apt-get remove --purge '^nvidia-.*'
sudo apt autoremove
reboot
.run
ファイル) を使用してインストールされた Nvidia ドライバーをアンインストールするには: ドライバーのアンインストールlibnvidia-egl-wayland1
のバージョンを手動でインストールしていないことを確認してください (特に Nvidia ドライバーのバージョン 555 以降をインストールする場合)。 @ https://us.download.nvidia.com/XFree86/Linux-x86_64/555.42.02/README/installedcomponents.html に記載されているように、ドライバーにはすでにそれが含まれています
sudo apt remove libnvidia-egl-wayland1
sudo apt install pkg-config libglvnd-dev dkms build-essential libegl-dev libegl1 libgl-dev libgl1 libgles-dev libgles1 libglvnd-core-dev libglx-dev libopengl-dev gcc make
https://www.nvidia.com/Download/index.aspx?lang=en-us に移動し、GPU および Linux アーキテクチャに適したドライバーをダウンロードします。 Web サイトでは、 .run
ファイル拡張子で終わるファイルが提供されます。
Ctrl + Alt + F3
を押して、システムのターミナル ビューに切り替えます (GUI モードからターミナル モードに切り替わらない場合は、代わりに別の tty でCtrl + Alt + F1
またはCtrl + Alt + F2
を試してください)
GDM サービスを停止します。
sudo systemctl stop gdm
sudo systemctl stop gdm3
これが失敗した場合は、代わりにsudo systemctl stop lightdm
試してください。
ドライバーのインストール/アンインストールのプロセス全体を通じて GNOME Display Manager (GDM) サービスを停止することが重要です。停止しないと問題が発生する可能性があるため、注意してください。
cd
使用して、ダウンロードした.run
ファイルが含まれるディレクトリのパスに変更します。
インストーラーを実行します。
chmod +x NVIDIA-Linux-x86_64-555.42.02.run
sudo sh ./NVIDIA-Linux-x86_64-555.42.02.run
(ファイル名は、Nvidia Web サイトから取得した実際の名前に必ず置き換えてください)
注: インストーラーが Nouveau を無効にするように要求した場合は、インストーラーが Nouveau を無効にすることを許可します。この後、インストーラーを中止し、 sudo update-initramfs -u && reboot
を実行し、システムの再起動が完了したらステップ 5 からやり直す必要がある場合があります。
sudo update-initramfs -u
を実行して initramfs を更新します。sudo nano /etc/default/grub
/etc/default/grub
編集しますGRUB_CMDLINE_LINUX
内にnvidia-drm.modeset=1
およびnvidia-drm.fbdev=1
を追加します (つまり、 GRUB_CMDLINE_LINUX="nvidia-drm.modeset=1 nvidia-drm.fbdev=1"
)sudo update-grub
を実行しますnvidia-smi
実行して確認できます)。 graphics-drivers
PPA リポジトリを通じてインストールされたドライバーのアンインストール走る:
sudo apt-get remove --purge '^nvidia-.*'
sudo apt autoremove
reboot
sudo rm -rf /lib/modprobe.d/nvidia-installer-*
sudo rm -rf /etc/modprobe.d/nvidia-installer-*
sudo rm -rf /usr/lib/modprobe.d/nvidia-installer-*
nvidia-drm.modeset
、 nvidia-drm.fbdev
など) に関連するエントリを/etc/default/grub
ファイルから削除します。 (これは重要です)。sudo update-grub
使用して GRUB 構成を再構築する sudo nvidia-installer --uninstall
sudo update-initramfs -u
graphics-drivers
PPA リポジトリのインストール手順に従った場合)。これは https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-535/+bug/2063222 で報告されたバグのようです。
回避策は次のとおりです。
[ Workaround ]
1. sudo rm /dev/dri/card0
2. Log in again.
sudo nano /etc/gdm3/custom.conf
を使用して/etc/gdm3/custom.conf
ファイルを編集します。WaylandEnable=true
が設定されていることを確認し、コメントが解除されていることを確認してください ( #
で始まらないようにしてください)sudo ln -s /dev/null /etc/udev/rules.d/61-gdm.rules
を実行します。これはさまざまな理由で発生する可能性があります。 NVIDIA は、Wayland ウィンドウ システムに問題があることが以前から知られていました。ただし、NVIDIA はこれを改善するために取り組んできました。そして、これは実際、明示的な同期サポートを追加した NVIDIA ドライバー 555.42.02 からすでに大幅に改善されています。
したがって、まず次のものを用意してください。
操作をさらにスムーズにするために、以下を読み続けてください。
お使いのシステムは、Wayland セッションで NVIDIA ドライバーの代わりに Mesa ドライバーを使用している可能性があります。これを確認するには、 glxinfo | egrep "OpenGL vendor|OpenGL renderer*"
と入力します。 glxinfo | egrep "OpenGL vendor|OpenGL renderer*"
これを解決するには:
sudo nano /etc/default/grub
/etc/default/grub
編集しますGRUB_CMDLINE_LINUX
内にnvidia-drm.modeset=1
およびnvidia-drm.fbdev=1
を追加します (つまり、 GRUB_CMDLINE_LINUX="nvidia-drm.modeset=1 nvidia-drm.fbdev=1"
)sudo update-grub
を実行しますNvidia の GSP ファームウェアが有効になっている可能性があります。これにより、ドライバーのベータ版 555.42.02 バージョンでパフォーマンスの問題が発生することが知られています。おそらくこれは将来修正されるでしょうが、現時点では、必要に応じて GSP ファームウェアを無効にすることができます。
nvidia-smi -q | grep "GSP Firmware"
と入力すると、GSP ファームウェアが有効かどうかを確認できます。 nvidia-smi -q | grep "GSP Firmware"
— N/A
と表示されている場合、ファームウェアは有効になっていません。それ以外の場合 (GSP ファームウェアのバージョンが表示される)、ファームウェアは有効になっています。
GSP ファームウェアを無効にするには、以下の手順に従ってください。
sudo nano /etc/default/grub
/etc/default/grub
編集しますGRUB_CMDLINE_LINUX
内にnvidia.NVreg_EnableGpuFirmware=0
を追加しますsudo update-grub
を実行しますこの問題の詳細については、https://forums.developer.nvidia.com/t/major-kde-plasma-desktop-frameskip-lag-issues-on-driver-555/293606 を参照してください。
libnvidia-egl-wayland1
パッケージ (多くの場合推奨されます) が不足している可能性があります。 sudo apt install libnvidia-egl-wayland1
を使用してパッケージをインストールしてみてください(Nvidia ドライバーのバージョン 555 以降をインストールしている場合は、ドライバー インストーラーによってすでにインストールされているため、これを行わないでください。PPA リポジトリ パッケージもデフォルトでインストールします。 )。
Google Chrome (および一般的な Chromium ベースのブラウザ) の場合、「優先 Ozone プラットフォーム」フラグを「Wayland」または「auto」に切り替える必要がある場合があります。これを適用するには、次の手順に従います。
一部の Electron アプリでは、上記と同じ Ozone プラットフォーム フラグを渡す必要がある場合があります。たとえば、Visual Studio コードのcode --enable-features=UseOzonePlatform,WaylandWindowDecorations --ozone-platform-hint=auto
ビデオ メモリ割り当ての保持モジュール パラメータが有効になっていない可能性があり、これにより、特にシステムを一時停止および再開するときに、通常はグラフィック アーティファクトやデスクトップ環境の破損という形で問題が発生する可能性があります。
sudo cat /proc/driver/nvidia/params | grep "PreserveVideoMemoryAllocations"
と入力すると、モジュール パラメーターが有効かどうかを確認できます。 sudo cat /proc/driver/nvidia/params | grep "PreserveVideoMemoryAllocations"
。値が0
または欠落している場合、パラメーターは有効になっていません。
ビデオ メモリ割り当ての保持モジュール パラメータを有効にするには、次の手順に従ってください。
sudo nano /etc/default/grub
/etc/default/grub
編集しますGRUB_CMDLINE_LINUX
内にnvidia.NVreg_PreserveVideoMemoryAllocations=1
を追加しますsudo update-grub
を実行しますsudo cat /proc/driver/nvidia/params | grep "PreserveVideoMemoryAllocations"
パラメータが設定されていることを確認しますこのモジュール パラメータを有効にしてもサスペンド/レジュームの問題が引き続き発生する場合は、Nvidia の電源管理ドキュメントを参照して、関連するsystemd
サービスがインストールされ有効になっていることを再確認してください。