Ubuntu 18.04にGeForce GTX 1650 SUPERを導入し、nvidia-driver-440をインストールした。
その際に、起動やGPUの動作には問題なかったが、サスペンドとそこからの復帰ができなくなっていた。
解決法
まず、Ubuntu 18.04 LTSとNVIDIAドライバーの組み合わせでサスペンド・レジュームができるようにするの方法を踏襲する。
/etc/default/grub
の書き換え
sudo gedit /etc/default/grub
で開き、おそらく
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
となっているところを
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset nouveau.modeset=0"
と書き換える。
/etc/X11/xorg.conf
の作成
sudo gedit /etc/X11/xorg.conf
で開き、
Section "Device"
Identifier "Screen0"
Driver "nvidia"
VendorName "NVIDIA"
BoardName "自分のGPUの型番"
Option "NvAGP" "1"
EndSection
を入力し、保存する。 "自分のGPUの型番"
の部分は、"GeForce GTX 1650 SUPER"
や"GeForce GTX 1050 Ti"
のように書く。
/etc/modprobe.d/blacklist.conf
に追加
sudo gedit /etc/modprobe.d/blacklist.conf
で開き、最終行に
blacklist intel_agp
の一文を追加する。
/etc/modprobe.d/blacklist-nvidia-usb.conf
の作成
以上を変えるだけでもサスペンドはできるようになるが、自分の環境では復帰時のエラー(device failed to resume
等)によって起動まで時間がかかるようになってしまった。
そこでこちらを参考に、ucsi_ccg
というモジュールを無効にした。
sudo gedit /etc/modprobe.d/blacklist-nvidia-usb.conf
で開き、
blacklist ucsi_ccg
を入力し、保存する。
このモジュールはGPUのType Cコントローラーらしいので、Type C出力がないGPUだとバグるのかもしれない(よくわからない)。
再起動
以上の変更のあと、reboot
で再起動する。
そうすると通常通りのサスペンド→復帰ができるようになる。