Ubuntu 22.04 LTSにGeForceを載っけて、NVIDIAドライバーを入れた話

どうも、シルフィードと申すものです。
此度、Ubuntu 22.04を諸事情で実機に入れることとなり、その時にNVIDIAドライバーのインストールで手こずったのでその解決方法を述べます。

※2023年6月時点での話です。この先どう変化するかわからないため、鵜呑みにされないようお願いします。

環境等

  • Ubuntu 22.04 LTS 最新版

  • AMD CPU

  • NVIDIA GeForce GTX 1650

  • nvidia-driver-530 (NVIDIA)

何に手こずったのさ

前々からNVIDIAドライバーでは「サスペンドからの復帰ができなくなる」という問題点が騒がれており、今回もその関連の話です。

結論から言うと、「ある設定を書き換えることでサスペンド・復帰が正常にできるようになる」です。
この結論に至るまでに一回UEFIを犠牲にする羽目に…

ドライバーのインストール方法

Ubuntuには「追加のドライバー」というアプレットが付属しています。これは「ソフトウェアのアップデート」の「追加のドライバー」カラムを開くアイコンとしても提供されています。
もちろんこれを使うこともできますが、今回のケースでは「ドライバーのインストールに成功しているにも関わらず、失敗したと表示される」ことが頻発しました。

そのため、無難にaptでやります。

aptでnvidia-driverをインストール

Ubuntuの公式リポジトリにはnvidia-driverというパッケージが登録されています。このパッケージはaptからもアクセスでき、必ずしもubuntu-driversに頼る必要はありません(むしろ筆者環境では後者はエラーで使えなかった)。

まずは以下のコマンドを入力。

sudo ubuntu-drivers devices

このコマンドの実行により、組み込まれているグラボを検知して最適なドライバーを探してきてくれます。

ここで注意するべき点は、「Recommended」と表示されたバージョンの「-open」と書かれていないバージョンを選択する点です。
-openのバージョンを前に試した際に、ビデオ効果が適切に適用されないトラブルに見舞われました。

得られた情報をもとに、以下のコマンドを入力します。

sudo apt update
sudo apt install nvidia-driver-530

「nvidia-driver-530」は現状での最新バージョンであり、今後変動します。適宜すこし変えて入力してください。

再起動

ドライバーの適用のため、一度再起動します。

サスペンドできるようにする

次からが本題です。

systemdのnvidia-suspend.service等のサービスの状態を確認する

以下のコマンドを入力します。

systemctl list-unit-files --type=service

このコマンドはsystemdに登録されているすべてのサービスをリスト表示するものです。
少し冗長な手段ではありますが、大体手段が思いつかなかったのでひとまずはこれで。

さて、多くの場合はこうなっていることでしょう。

UNIT                          STATE
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
nvidia-hibernate.service      disabled
nvidia-resume.service         disabled
nvidia-suspend.service        disabled

この状態ではNVIDIA側が提供したサスペンド用スクリプトを利用できません。この場合、サスペンドからの正常な復帰ができません。

そのため、以下のコマンドを入力してこれらサービスを有効化します。

systemctl enable nvidia-hibernate.service nvidia-resume.service nvidia-suspend.service

正常に実行できたようであれば、再び再起動します。

サスペンドを実行して確認

デスクトップ環境側のサスペンドボタンを使うのもありですが、ここでは以下のコマンドを入力します。

systemctl suspend

ここから正常に復帰できたら工程終了です。

最後に

Stack Exchangeなどにも記事がなかったのでこちらに書かせていただきました。やってる作業は比較的単純ですが、気づかないと全く手も足も出ないので、この記事を目にした誰かの助けになっていれば幸いです。



余談

途中で強制終了をかますことになり、再起動した結果がこちら。

  • UEFIのGOPドライバが死んで、解像度の自動調整が効かなくなった。

  • NVIDIAドライバーに不調が生じ、文字の色合いがおかしくなった(アイコンは無事)

  • nouveauドライバーでむしろ問題が発生するようになった

強制終了怖すぎる…


この記事が気に入ったらサポートをしてみませんか?