Corrupted graphics upon resume (Gnome 41, X.org, 495.44 driver)

I also have this issue, with the following configuration:

  • NVIDIA GeForce GTX 1660ti
  • Driver: 495.44
  • Fedora 35
  • Kernel 5.14.18-300.fc35.x86_64
  • Gnome 41
  • Xorg X11 server: 1.20.11-2.fc35.x86_64

Restarting the Gnome shell (ALT+F2, then “r” in the command box) removes the artefacting, however it does return after the next suspend.

I can confirm the issue exists for me as well:

  • NVIDIA GeForce GTX 1060
  • Driver 495.44
  • Fedora 35
  • Linux Kernel 5.14.18-300.fc35.x86_64
  • Gnome 41
  • Xorg X11 server: 1.20.11-2.fc35
1 Like

Same here with 495.44 driver (plus some other issues too): 495.44 driver regression: long delay resuming from suspend
470.82 does not have this issue.

I also started seeing this problem recently (1/6/22) after upgrading to the 495.46 driver on a Fedora 34 system (Lenovo P52 laptop with the Quadro P1000).

Any fix available yet?

Same issue with 495.46 on Fedora 35 (Acer G3-571 with GTX 1060), sometimes it corrupts the entire screen but most of the time just black and pink squares over the screen.

Just updated to 510.47.03 on Fedora 35, issue is still present

I haven’t seen this issue prior to update to 510.47. I’m not sure what have triggered it though.
I’ll have to try to boot with previous kernel to see if issue persist.

Same issue with Kernel 5.16 and driver 510.47.

I tried all the powermanagement options but no dice.

I hope a fix is coming soon, it’s been since kernel 5.15 and driver 495 that this bug is present.

I originally started seeing this problem on Fedora 34 using the 495.46 driver.
Yesterday I upgraded to the 5.16.7-100 kernel and 510.47 driver.
Still see the same corrupted graphics after a resume. Doing an Alt-F2/r restart of the window manager will fix, but this is annoying! :)
Anyone have any info on when a fix might be coming???

1 Like

Thanks! You saved me from unnecessary restarts!

Same issue with F35, Gnome 41, kernel 5.17.5-200 and driver 510.60.02. As previously suggested, an Alt-F2/r restart solves the problem. Lock screen is also affected.

We are working on this issue and will keep you updated on it.
We have also filed a bug 3641108 internally for tracking purpose.
I also observed similar behavior on my test system and issue disappeared once I restart gdm service.

3 Likes

We have root caused the issue and fix will be incorporated in future driver release.

3 Likes

Please test with latest beta driver release and share test results.
https://us.download.nvidia.com/XFree86/Linux-x86_64/515.43.04/NVIDIA-Linux-x86_64-515.43.04.run

3 Likes

Can confirm with 515.43.04 resume from standby works without corrupted graphics.

1 Like

@jurgenxiv Thanks for the test results.

I’m still experiencing this issue using extra/nvidia 515.43.04-4 on Arch Linux.

I’ll add that I’m using Wayland with nvidia-drm.modeset=1.

Is using NVreg_PreserveVideoMemoryAllocations=1 required? This seems to trigger OOM Killer on suspend for me, no matter which fs I point NVreg_TemporaryFilePath to.

1 Like

can confirm what @mcardillo55 said. Same version, same configuration, and the same problem.
without NVreg_PreserveVideoMemoryAllocations the system hibernates successfully but after boot, the artifacts are so bad that you can’t even log in (2/3 of the text is missing, anything that moves is now all over the pace and jittering/flickering, )

Hi

my machine does not resume after suspend. It is happening since a couple of updates, some time ago.

My present setting is:

$ uname -a >>>  Linux localhost.localdomain 5.18.5-100.fc35.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Jun 16 14:44:38 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
$ glxinfo | grep NVIDIA >>>
server glx vendor string: NVIDIA Corporation
client glx vendor string: NVIDIA Corporation
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: NVIDIA GeForce GTX 950/PCIe/SSE2
OpenGL core profile version string: 4.6.0 NVIDIA 515.48.07
OpenGL core profile shading language version string: 4.60 NVIDIA
OpenGL version string: 4.6.0 NVIDIA 515.48.07
OpenGL shading language version string: 4.60 NVIDIA
OpenGL ES profile version string: OpenGL ES 3.2 NVIDIA 515.48.07
$ loginctl show-session 2 -p Type   >>> Type=x11
$ lspci | grep -e VGA >>>
01:00.0 VGA compatible controller: NVIDIA Corporation GM206 [GeForce GTX 950] (rev a1)
$ cat /sys/power/resume  >>> 0:0  (NOTE: briefly I had 253:1, I am not able to repeat)
$ sudo lsinitrd -m | grep -E '^resume$'   >>>  resume
$ systemctl status nvidia-suspend.service
○ nvidia-suspend.service - NVIDIA system suspend actions
     Loaded: loaded (/usr/lib/systemd/system/nvidia-suspend.service; enabled; vendor preset: disabled)
     Active: inactive (dead)
$ systemctl status nvidia-hibernate.service
○ nvidia-hibernate.service - NVIDIA system hibernate actions
     Loaded: loaded (/usr/lib/systemd/system/nvidia-hibernate.service; enabled; vendor preset: disabled)
     Active: inactive (dead)

moreover: Gnome 41.6 (according to Settings), GNOME Shell 41.7 (according to Gnome Tweaks), GTK 3.24.34 (according to Gnome Tweaks)
Also, I do not know how to check/set NVreg_PreserveVideoMemoryAllocations=1 and TemporaryFilePath=/run, how do I do?
Also, I tried with nouveau drivers, but it was not better, so the issue is not a strictly NVIDIA issue.

Thanks so much for your help. Cheers
mario

I think I’m having the same issue but I’m getting slightly different errors in journalctl.

 uname -a
 Linux archlinux 5.18.5-zen1-1-zen #1 ZEN SMP PREEMPT_DYNAMIC Thu, 16 Jun 2022 20:40:47 +0000 x86_64 GNU/Linux

 prime-run glxinfo | grep NVIDIA
 client glx vendor string: NVIDIA Corporation
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: NVIDIA GeForce RTX 3070 Laptop GPU/PCIe/SSE2
OpenGL core profile version string: 4.6.0 NVIDIA 515.48.07
OpenGL core profile shading language version string: 4.60 NVIDIA
OpenGL version string: 4.6.0 NVIDIA 515.48.07
OpenGL shading language version string: 4.60 NVIDIA
OpenGL ES profile version string: OpenGL ES 3.2 NVIDIA 515.48.07

 lspci -vvv -s 01:00.0
 01:00.0 VGA compatible controller: NVIDIA Corporation GA104M [GeForce RTX 3070 Mobile / Max-Q] (rev a1) (prog-if 00 [VGA controller])
        Subsystem: CLEVO/KAPOK Computer Device 65f1
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
        Latency: 0
        Interrupt: pin A routed to IRQ 147
        IOMMU group: 16
        Region 0: Memory at 81000000 (32-bit, non-prefetchable) [size=16M]
        Region 1: Memory at 1200000000 (64-bit, prefetchable) [size=8G]
        Region 3: Memory at 1400000000 (64-bit, prefetchable) [size=32M]
        Region 5: I/O ports at 4000 [size=128]
        Expansion ROM at 82000000 [virtual] [disabled] [size=512K]
        Capabilities: <access denied>
        Kernel driver in use: nvidia
        Kernel modules: nouveau, nvidia_drm, nvidia

 lspci -vvv -s 00:02.0
 00:02.0 VGA compatible controller: Intel Corporation TigerLake-H GT1 [UHD Graphics] (rev 01) (prog-if 00 [VGA controller])
        DeviceName: VGA compatible controller
        Subsystem: CLEVO/KAPOK Computer Device 65f1
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
        Latency: 0, Cache Line Size: 64 bytes
        Interrupt: pin A routed to IRQ 183
        IOMMU group: 2
        Region 0: Memory at 83000000 (64-bit, non-prefetchable) [size=16M]
        Region 2: Memory at 90000000 (64-bit, prefetchable) [size=256M]
        Region 4: I/O ports at 1000 [size=64]
        Expansion ROM at 000c0000 [virtual] [disabled] [size=128K]
        Capabilities: <access denied>
        Kernel driver in use: i915
        Kernel modules: i915

 systemctl status nvidia-suspend.service
 * nvidia-suspend.service - NVIDIA system suspend actions
     Loaded: loaded (/usr/lib/systemd/system/nvidia-suspend.service; enabled; vendor preset: disabled)
     Active: inactive (dead)

systemctl status nvidia-hibernate.service
* nvidia-hibernate.service - NVIDIA system hibernate actions
     Loaded: loaded (/usr/lib/systemd/system/nvidia-hibernate.service; disabled; vendor preset: disabled)
     Active: inactive (dead)

journalctl -b -1 -x --grep=nvidia
 Jun 21 20:08:29 archlinux audit[1]: SERVICE_START pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=nvidia-suspend comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
Jun 21 20:08:29 archlinux audit[1]: SERVICE_STOP pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=nvidia-suspend comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
Jun 21 20:08:29 archlinux kernel: audit: type=1130 audit(1655860109.853:197): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=nvidia-suspend comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? te>
Jun 21 20:08:29 archlinux kernel: audit: type=1131 audit(1655860109.853:198): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=nvidia-suspend comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? te>
Jun 21 20:52:39 archlinux kernel: WARNING: CPU: 3 PID: 40329 at /var/lib/dkms/nvidia/515.48.07/build/kernel-open/nvidia/nv.c:3946 nv_restore_user_channels+0xc6/0xe0 [nvidia]
Jun 21 20:52:39 archlinux kernel:  pmt_telemetry snd_hwdep 8250_dw mei_hdcp mei_pxp ee1004 mtd iTCO_vendor_support intel_rapl_msr pmt_class bluetooth kvm irqbypass cfg80211 snd_pcm r8169 videodev ttm snd_timer ec>
Jun 21 20:52:39 archlinux kernel:  libps2 serio_raw vivaldi_fmap nvme nvme_core i2c_hid_acpi i8042 i2c_hid serio xhci_pci usbhid nvidia(OE) xhci_pci_renesas
Jun 21 20:52:39 archlinux kernel: CPU: 3 PID: 40329 Comm: nvidia-sleep.sh Tainted: G           OE     5.18.5-zen1-1-zen #1 1b0f14670b06387fbfac0d7e749656f6285dc8ca
Jun 21 20:52:39 archlinux kernel: RIP: 0010:nv_restore_user_channels+0xc6/0xe0 [nvidia]
Jun 21 20:52:39 archlinux kernel:  nv_set_system_power_state+0xec/0x500 [nvidia b3a44ffd1fc14e58c80e58536fb243556ffce5f9]
Jun 21 20:52:39 archlinux kernel:  nv_procfs_write_suspend+0x1a9/0x280 [nvidia b3a44ffd1fc14e58c80e58536fb243556ffce5f9]
Jun 21 20:52:39 archlinux kernel: WARNING: CPU: 3 PID: 40329 at /var/lib/dkms/nvidia/515.48.07/build/kernel-open/nvidia/nv.c:4176 nv_set_system_power_state+0x363/0x500 [nvidia]
Jun 21 20:52:39 archlinux kernel:  pmt_telemetry snd_hwdep 8250_dw mei_hdcp mei_pxp ee1004 mtd iTCO_vendor_support intel_rapl_msr pmt_class bluetooth kvm irqbypass cfg80211 snd_pcm r8169 videodev ttm snd_timer ec>
Jun 21 20:52:39 archlinux kernel:  libps2 serio_raw vivaldi_fmap nvme nvme_core i2c_hid_acpi i8042 i2c_hid serio xhci_pci usbhid nvidia(OE) xhci_pci_renesas
Jun 21 20:52:39 archlinux kernel: CPU: 3 PID: 40329 Comm: nvidia-sleep.sh Tainted: G        W  OE     5.18.5-zen1-1-zen #1 1b0f14670b06387fbfac0d7e749656f6285dc8ca
Jun 21 20:52:39 archlinux kernel: RIP: 0010:nv_set_system_power_state+0x363/0x500 [nvidia]
Jun 21 20:52:39 archlinux kernel:  nv_procfs_write_suspend+0x1a9/0x280 [nvidia b3a44ffd1fc14e58c80e58536fb243556ffce5f9]
Jun 21 20:52:47 archlinux kernel: nvidia-modeset: ERROR: GPU:0: Failed to determine display capabilities
Jun 21 20:52:51 archlinux kernel: nvidia-modeset: ERROR: GPU:0: Failed to tear down Disp
Jun 21 20:52:59 archlinux kernel: nvidia-modeset: ERROR: GPU:0: Failed to determine display capabilities
Jun 21 20:53:03 archlinux kernel: nvidia-modeset: ERROR: GPU:0: Failed to tear down Disp
Jun 21 20:53:25 archlinux systemd[1]: Stopping NVIDIA Persistence Daemon...
-- Subject: A stop job for unit nvidia-persistenced.service has begun execution
-- Defined-By: systemd
-- Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- A stop job for unit nvidia-persistenced.service has begun execution.
--
-- The job identifier is 2170.
Jun 21 20:54:29 archlinux kernel: nvidia-modeset: ERROR: GPU:0: Failed to determine display capabilities
Jun 21 20:54:43 archlinux kernel: nvidia-modeset: ERROR: GPU:0: Failed to tear down Disp
Jun 21 20:54:55 archlinux kernel: nvidia-modeset: ERROR: GPU:0: Failed to determine display capabilities
Jun 21 20:54:55 archlinux systemd[1]: nvidia-persistenced.service: Deactivated successfully.
-- Subject: Unit succeeded
-- Defined-By: systemd
-- Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- The unit nvidia-persistenced.service has successfully entered the 'dead' state.
Jun 21 20:54:55 archlinux systemd[1]: Stopped NVIDIA Persistence Daemon.
-- Subject: A stop job for unit nvidia-persistenced.service has finished
-- Defined-By: systemd
-- Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- A stop job for unit nvidia-persistenced.service has finished.
--
-- The job identifier is 2170 and the job result is done.
Jun 21 20:54:55 archlinux systemd[1]: nvidia-persistenced.service: Consumed 12.003s CPU time.
-- Subject: Resources consumed by unit runtime
-- Defined-By: systemd
-- Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- The unit nvidia-persistenced.service completed and consumed the indicated resources.
Jun 21 20:54:55 archlinux audit[1]: SERVICE_STOP pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=nvidia-persistenced comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
Jun 21 20:54:55 archlinux kernel: audit: type=1131 audit(1655862895.260:235): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=nvidia-persistenced comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr>
Jun 21 20:54:59 archlinux kernel: nvidia-modeset: ERROR: GPU:0: Failed to tear down Disp