After upgrading from Ubuntu 20.10 to 21.10 (via 21.04, which I didn't test for suspend/resume behaviour), suspend/resume no longer works properly.
If I use the proprietary NVIDIA driver metapackage from nvidia-driver-470, the system seems to suspend ok -- using the power button (equivalent to
systemctl suspend) --, but on resume, the display stays black and I have to power off to escape this.
(If I use the X.Org X Server driver, the system fails to suspend after temporarily turning off the display.)
Previously, on 20.10, suspend/resume worked ok. IIRC, I was using a proprietary NVIDIA driver.
The graphics card is a GK106GL [Quadro K4000] (codename NVE6) and the PC is a Dell Precision T5500.
inxi -G output:
Graphics: Device-1: NVIDIA GK106GL [Quadro K4000] driver: nvidia v: 470.74
Device-2: SHENZHEN EMEET HD Webcam eMeet C960 type: USB driver: hid-generic,snd-usb-audio,usbhid,uvcvideo
Display: x11 server: X.Org 1.20.13 driver: loaded: nvidia unloaded: fbdev,modesetting,nouveau,vesa
OpenGL: renderer: Quadro K4000/PCIe/SSE2 v: 4.6.0 NVIDIA 470.74
I followed some instructions for debugging kernel suspend, noting that
pm-suspend (part of
pm-utils) recreates the same restore failure as above, and found the following in dmesg output:
[ 1.322162] PM: Magic number: 0:486:890
[ 1.322167] PM: hash matches drivers/base/power/main.c:905
[ 1.322237] pci 0000:00:1f.3: hash matches
00:1f.3 SMBus: Intel Corporation 82801JI (ICH10 Family) SMBus Controller
After installing the 5.15-rc7 kernel using these instructions, restore still fails after
systemctl suspend. However resume works ok after
sudo pm-suspend. On 5.13, resume fails after
(I also tried editing
/etc/systemd/sleep.conf to see if more restricted suspend options helped, but they didn't.)