You are not logged in.

#1 2019-04-10 04:37:52

renordw
Member
From: New Mexico
Registered: 2018-03-04
Posts: 56

Images corrupted after suspend (NVIDIA GeForce GTX 760)

Whenever my computer wakes from suspend, I get corrupted images such as this: screenshot.

I am using Gnome, and I have the NVDIA driver.

Attempts to fix

According to this post, creating a modprobe configuration file might help performance.

$ cat /etc/modprobe.d/50-nvidia.conf 
options nvidia NVreg_RegisterForACPIEvents=1 NVreg_EnableMSI=1

I've generated my own EDID file from the nvidia-settings, and placed it in /usr/lib/firmware/edid/. Then I added it to the files section of /etc/mkinitcpio.conf, then regenerated my initramfs. On a side note, this actually fixed an error I was receiving, no longer seeing the following:

$ journalctl -p4 | grep -i NVIDIA
nvidia-modeset: WARNING: GPU:0: Unable to read EDID for display device LG Electronics W2353 (HDMI-0)

I added nvidia, nvidia_modeset, nvidia_uvm, and nvidia_drm to the MODULES portion of /etc/mkinitcpio.conf


But unfortunately, I just feel like I'm shooting in the dark here. Any suggestions?

Offline

#2 2019-04-10 07:04:29

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 25,425

Re: Images corrupted after suspend (NVIDIA GeForce GTX 760)

Try options nvidia_drm modeset=1 in addition to the other lines

Offline

#3 2019-04-10 07:07:55

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 78,526

Re: Images corrupted after suspend (NVIDIA GeForce GTX 760)

Looooooooooooooongstanding issue w/ the nvidia driver, see eg.
https://devtalk.nvidia.com/default/topi … ume-from-/
https://devtalk.nvidia.com/default/topi … -378-13-/1
or
https://askubuntu.com/questions/1043398 … from-suspe


nvidia wrote:

Our current software architecture doesn't preserve the contents of FBOs across modeswitches or power events. As a result, our implementation relies on applications re-rendering to their FBOs every frame. This is a fundamental limitation of our design that will be fixed in the future.

Corrupted textures are one of the more benign results, this can outright crash the session.

Offline

#4 2019-04-10 07:17:06

renordw
Member
From: New Mexico
Registered: 2018-03-04
Posts: 56

Re: Images corrupted after suspend (NVIDIA GeForce GTX 760)

Thanks for the suggestion, V1del.

Actually, I had options nvidia_drm modeset=1 in the kernel parameter. I should have mentioned it.

Hey, Seth - I don't know if this is a "fix" or not, but by adding acpi_osi=! acpi_osi="Windows 2009" to the kernel parameter, the problem goes away.

Is this actually fixing the problem or just sweeping it under a rug?

Currently my systemd boot file looks like this

title   Arch Linux
linux   /vmlinuz-linux
initrd  /intel-ucode.img
initrd  /initramfs-linux.img
options	root=LABEL=Arch_Linux rw rootflags=subvol=@root acpi_osi=! acpi_osi="Windows 2009" nvidia-drm.modeset=1

And it works now. So far.

Last edited by renordw (2019-04-10 07:23:07)

Offline

#5 2019-04-10 07:23:45

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 78,526

Re: Images corrupted after suspend (NVIDIA GeForce GTX 760)

The behavior is not deterministic and usually depends on the length of the S3 cycle, so see whether you go issue-free for three nights or so.

Offline

#6 2019-04-10 07:31:29

renordw
Member
From: New Mexico
Registered: 2018-03-04
Posts: 56

Re: Images corrupted after suspend (NVIDIA GeForce GTX 760)

Seems like you're right. I removed all that stuff, and it's still working.

It's bizarre behavior since before when I posted, I was rebooting every few minutes (about ten times), and suspending to see if I could get the issue to reproduce every time, and the textures were corrupt every time.

Offline

#7 2019-04-10 11:53:08

mmdamin
Member
From: Iran
Registered: 2019-02-19
Posts: 205
Website

Re: Images corrupted after suspend (NVIDIA GeForce GTX 760)

I have this problem also with gnome and all GTK apps. Deepin is prefect. I'm on NVIDIA GT610 with drivers v390. nouveau with gnome has no problem.

Offline

#8 2019-04-10 11:58:05

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 78,526

Re: Images corrupted after suspend (NVIDIA GeForce GTX 760)

Deepin virtually /is/ gnome and this is more related to OpenGL than to the actual GL client.
I won't question your anecdotal evidence, but it lacks any kind of supporting theory.

Since this only affects the nvidia blob, the nouveau behavior is not surprising, though.
I guess nvidia would have to store the VRAM in RAM, but possibly runs into some GPL issues (but I don't know that for a fact)

Offline

#9 2019-04-10 12:09:39

mmdamin
Member
From: Iran
Registered: 2019-02-19
Posts: 205
Website

Re: Images corrupted after suspend (NVIDIA GeForce GTX 760)

seth wrote:

Deepin virtually /is/ gnome and this is more related to OpenGL than to the actual GL client.
I won't question your anecdotal evidence, but it lacks any kind of supporting theory.

Since this only affects the nvidia blob, the nouveau behavior is not surprising, though.
I guess nvidia would have to store the VRAM in RAM, but possibly runs into some GPL issues (but I don't know that for a fact)

deepin is written from scratch in qt, it's not related to gnome at all.

Offline

#10 2019-04-10 12:11:08

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 78,526

Offline

#11 2019-04-10 12:15:25

mmdamin
Member
From: Iran
Registered: 2019-02-19
Posts: 205
Website

Re: Images corrupted after suspend (NVIDIA GeForce GTX 760)

yes it includes modified versions of metacity and mutter,
but I said I have problem for GTK apps, not QT. after wakeup from suspend all GTK apps are corrupt 'till I resize them

Last edited by mmdamin (2019-04-10 12:25:00)

Offline

#12 2019-04-10 12:21:13

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 78,526

Re: Images corrupted after suspend (NVIDIA GeForce GTX 760)

Deepin does not rely on Qt at all - it's a gnome fork.
Whether or not you're running some "deepin" tagged Qt clients on the Deepin desktop is an entirely different matter and boils down to the question whether the clients in question use OpenGL as backend or Xrender or software based rendering. Especially if you're using metacity as window manager. Because again: the driving factor here is the use of OpenGL FBOs.

Offline

#13 2019-04-10 12:28:40

mmdamin
Member
From: Iran
Registered: 2019-02-19
Posts: 205
Website

Re: Images corrupted after suspend (NVIDIA GeForce GTX 760)

seth wrote:

Deepin does not rely on Qt at all - it's a gnome fork.
Whether or not you're running some "deepin" tagged Qt clients on the Deepin desktop is an entirely different matter and boils down to the question whether the clients in question use OpenGL as backend or Xrender or software based rendering. Especially if you're using metacity as window manager. Because again: the driving factor here is the use of OpenGL FBOs.

I think mutter uses OpenGL, as it has some effects like Window Shadows and Transparency, Animations and some other.
By disabling "Window Effects" option from control center it kills mutter and starts metacity that doesn't include this effects.

Last edited by mmdamin (2019-04-10 12:29:21)

Offline

Board footer

Powered by FluxBB