Problem when resuming after suspend

Nvidia Quadro RTX 4000, XFCE DE.

Every time the computer (not a laptop) goes to suspend mode and when the display is powered by the nvidia card, the computer displays some text (like in tty) and freezes in that state. The only thing I can do is ctrl-alt-F2 to login to a console session and reboot as I can not log on again to my previous graphical session (if I try, the computer completely freezes). There aren’t any errors in dmesg/journalctl but I managed to grab the following messages after the computer tried to wake from suspend:

Jun 26 19:56:32 localhost kernel: dmar_fault: 326 callbacks suppressed
Jun 26 19:56:32 localhost kernel: DMAR: DRHD: handling fault status reg 2
Jun 26 19:56:32 localhost kernel: DMAR: [DMA Read] Request device [05:00.0] PASID ffffffff fault addr ffac0000 [fault reason 06] PTE Read access is not set
Jun 26 19:56:32 localhost kernel: DMAR: DRHD: handling fault status reg 2
Jun 26 19:56:32 localhost kernel: DMAR: [DMA Read] Request device [05:00.0] PASID ffffffff fault addr ffac0000 [fault reason 06] PTE Read access is not set
Jun 26 19:56:32 localhost kernel: DMAR: DRHD: handling fault status reg 2
Jun 26 19:56:32 localhost kernel: DMAR: [DMA Read] Request device [05:00.0] PASID ffffffff fault addr ffac0000 [fault reason 06] PTE Read access is not set
Jun 26 19:56:32 localhost kernel: DMAR: DRHD: handling fault status reg 2
Jun 26 19:56:32 localhost kernel: ata1.00: configured for UDMA/133
Jun 26 19:56:36 localhost NetworkManager[434]: <info>  [1593219396.0258] dhcp6 (enp0s25): activation: beginning transaction (timeout in 45 seconds)
Jun 26 19:56:36 localhost NetworkManager[434]: <info>  [1593219396.0266] dhcp6 (enp0s25): dhclient started with pid 1433
Jun 26 19:56:36 localhost NetworkManager[434]: <info>  [1593219396.0271] policy: set 'Wired connection 1' (enp0s25) as default for IPv6 routing and DNS
Jun 26 19:56:36 localhost dhclient[1433]: XMT: Solicit on enp0s25, interval 1090ms.
Jun 26 19:56:37 localhost dhclient[1433]: XMT: Solicit on enp0s25, interval 2280ms.
Jun 26 19:56:37 localhost kernel: dmar_fault: 335 callbacks suppressed
Jun 26 19:56:37 localhost kernel: DMAR: DRHD: handling fault status reg 2
Jun 26 19:56:37 localhost kernel: DMAR: [DMA Read] Request device [05:00.0] PASID ffffffff fault addr ffac0000 [fault reason 06] PTE Read access is not set
Jun 26 19:56:37 localhost kernel: DMAR: DRHD: handling fault status reg 2
Jun 26 19:56:37 localhost kernel: DMAR: [DMA Read] Request device [05:00.0] PASID ffffffff fault addr ffac0000 [fault reason 06] PTE Read access is not set
Jun 26 19:56:37 localhost kernel: DMAR: DRHD: handling fault status reg 2
Jun 26 19:56:37 localhost kernel: DMAR: [DMA Read] Request device [05:00.0] PASID ffffffff fault addr ffac0000 [fault reason 06] PTE Read access is not set
Jun 26 19:56:37 localhost kernel: DMAR: DRHD: handling fault status reg 2
Jun 26 19:56:38 localhost systemd[1]: Started Getty on tty2.
Jun 26 19:56:39 localhost dhclient[1433]: XMT: Solicit on enp0s25, interval 4360ms.
Jun 26 19:56:42 localhost kernel: dmar_fault: 356 callbacks suppressed
Jun 26 19:56:42 localhost kernel: DMAR: DRHD: handling fault status reg 2
Jun 26 19:56:42 localhost kernel: DMAR: [DMA Read] Request device [05:00.0] PASID ffffffff fault addr ffac0000 [fault reason 06] PTE Read access is not set
Jun 26 19:56:42 localhost systemd[1]: NetworkManager-dispatcher.service: Succeeded.
Jun 26 19:56:42 localhost kernel: DMAR: DRHD: handling fault status reg 2
Jun 26 19:56:42 localhost kernel: DMAR: [DMA Read] Request device [05:00.0] PASID ffffffff fault addr ffac0000 [fault reason 06] PTE Read access is not set
Jun 26 19:56:42 localhost kernel: DMAR: DRHD: handling fault status reg 2
Jun 26 19:56:42 localhost kernel: DMAR: [DMA Read] Request device [05:00.0] PASID ffffffff fault addr ffac0000 [fault reason 06] PTE Read access is not set
Jun 26 19:56:42 localhost kernel: DMAR: DRHD: handling fault status reg 2
Jun 26 19:56:44 localhost dhclient[1433]: XMT: Solicit on enp0s25, interval 8410ms.
Jun 26 19:56:45 localhost login[1438]: pam_unix(login:session): session opened for user jorge(uid=1000) by LOGIN(uid=0)
Jun 26 19:56:45 localhost systemd-logind[528]: New session c3 of user jorge.
Jun 26 19:56:45 localhost systemd[1]: Started Session c3 of user jorge.
Jun 26 19:56:47 localhost kernel: dmar_fault: 368 callbacks suppressed
Jun 26 19:56:47 localhost kernel: DMAR: DRHD: handling fault status reg 2
Jun 26 19:56:47 localhost kernel: DMAR: [DMA Read] Request device [05:00.0] PASID ffffffff fault addr ffac0000 [fault reason 06] PTE Read access is not set
Jun 26 19:56:47 localhost kernel: DMAR: DRHD: handling fault status reg 2
Jun 26 19:56:47 localhost kernel: DMAR: [DMA Read] Request device [05:00.0] PASID ffffffff fault addr ffac0000 [fault reason 06] PTE Read access is not set
Jun 26 19:56:47 localhost kernel: DMAR: DRHD: handling fault status reg 2
Jun 26 19:56:47 localhost kernel: DMAR: [DMA Read] Request device [05:00.0] PASID ffffffff fault addr ffac0000 [fault reason 06] PTE Read access is not set
Jun 26 19:56:47 localhost kernel: DMAR: DRHD: handling fault status reg 2
Jun 26 19:56:49 localhost systemd-logind[528]: System is rebooting.
Jun 26 19:56:49 localhost org.freedesktop.Notifications[1119]: Another notification daemon is running, exiting

I don’t know how to debug the problem, any hints? This doesn’t happen when using the integrated intel graphics of my processor or if I have PRIME enabled.

thanks! (the nvidia-bug-report was made after trying to resume, in a console session)

logs-sleep.txt (38.0 KB)
nvidia-bug-report.txt (1.7 MB)

EDIT: After plugging a 2nd monitor to a (unused) video port of the intel GPU, the PC managed to resume after suspend! (remember that the graphics are shown through the nvidia card) But not without hiccups. The PC auto-resumes (no user input is required to resume) shortly after suspending. Also, the sound server crashes (jack2+pulseaudio). So it is not a lean resume. Ever since I plugged in a monitor to the intel GPU, the PC behaves the same way. No longer I can recreate the previous behavior (maybe if I power off the system, but haven’t checked). Another thing I’ve noticed is that the boot process (the flying text) is shown in the intel GPU but not in nvidia. I managed to save a dmesg in between the suspend process:

dmesg.txt (122.7 KB)

I figured out the problem. Previously, I had an xorg.conf file adapted to an “optimus” setup. When I switched to nvidia GPU only, I forgot to disable this conf file.