You are not logged in.

#1 2020-10-05 04:51:09

Salkay
Member
Registered: 2014-05-22
Posts: 482

Chromium artefacts after resume from suspend or tty switch

After a suspend-resume cycle or switching to another tty and back, I get graphical corruption in Chromium. I sometimes get corruption in Cura too, but I can't replicate this right now. In Chromium, the webpages are black, and I occasionally get scrambled multicoloured rectangles across the window. Sometimes I scroll and recover some content, but this often doesn't help.

I have a Nvidia card, so I tried putting options nvidia NVreg_RegisterForACPIEvents=1 NVreg_EnableMSI=1 into /etc/modprobe.d/nvidia.conf. After restarting:

$ modinfo nvidia
...
parm:           NVreg_RegisterForACPIEvents:int
...
parm:           NVreg_EnableMSI:int

However, this did not fix the problem. I don't see anything in journalctl, but I see the following in /var/log/Xorg.0.log after switching to another tty and back.

[   753.675] (II) systemd-logind: got pause for 13:84
[   753.675] (II) systemd-logind: got pause for 13:66
[   753.675] (II) systemd-logind: got pause for 13:82
[   753.675] (II) systemd-logind: got pause for 13:64
[   753.675] (II) systemd-logind: got pause for 13:65
[   753.675] (II) systemd-logind: got pause for 13:83
[   758.136] (II) systemd-logind: got resume for 13:84
[   758.136] (--) NVIDIA(GPU-0): DFP-0: disconnected
[   758.136] (--) NVIDIA(GPU-0): DFP-0: Internal TMDS
[   758.136] (--) NVIDIA(GPU-0): DFP-0: 330.0 MHz maximum pixel clock
[   758.136] (--) NVIDIA(GPU-0): 
[   758.137] (--) NVIDIA(GPU-0): DFP-1: disconnected
[   758.137] (--) NVIDIA(GPU-0): DFP-1: Internal TMDS
[   758.137] (--) NVIDIA(GPU-0): DFP-1: 165.0 MHz maximum pixel clock
[   758.137] (--) NVIDIA(GPU-0): 
[   758.137] (--) NVIDIA(GPU-0): DELL U2412M (DFP-2): connected
[   758.137] (--) NVIDIA(GPU-0): DELL U2412M (DFP-2): Internal DisplayPort
[   758.137] (--) NVIDIA(GPU-0): DELL U2412M (DFP-2): 1440.0 MHz maximum pixel clock
[   758.137] (--) NVIDIA(GPU-0): 
[   758.139] (--) NVIDIA(GPU-0): DFP-3: disconnected
[   758.139] (--) NVIDIA(GPU-0): DFP-3: Internal TMDS
[   758.139] (--) NVIDIA(GPU-0): DFP-3: 165.0 MHz maximum pixel clock
[   758.139] (--) NVIDIA(GPU-0): 
[   758.139] (--) NVIDIA(GPU-0): DFP-4: disconnected
[   758.139] (--) NVIDIA(GPU-0): DFP-4: Internal DisplayPort
[   758.139] (--) NVIDIA(GPU-0): DFP-4: 1440.0 MHz maximum pixel clock
[   758.139] (--) NVIDIA(GPU-0): 
[   758.139] (--) NVIDIA(GPU-0): DFP-5: disconnected
[   758.139] (--) NVIDIA(GPU-0): DFP-5: Internal TMDS
[   758.139] (--) NVIDIA(GPU-0): DFP-5: 165.0 MHz maximum pixel clock
[   758.139] (--) NVIDIA(GPU-0): 
[   758.139] (--) NVIDIA(GPU-0): DFP-6: disconnected
[   758.139] (--) NVIDIA(GPU-0): DFP-6: Internal DisplayPort
[   758.139] (--) NVIDIA(GPU-0): DFP-6: 1440.0 MHz maximum pixel clock
[   758.139] (--) NVIDIA(GPU-0): 
[   758.139] (--) NVIDIA(GPU-0): DFP-7: disconnected
[   758.139] (--) NVIDIA(GPU-0): DFP-7: Internal TMDS
[   758.139] (--) NVIDIA(GPU-0): DFP-7: 165.0 MHz maximum pixel clock
[   758.139] (--) NVIDIA(GPU-0): 
[   758.148] (II) NVIDIA(0): Setting mode "nvidia-auto-select+0+0{ForceCompositionPipeline=On,AllowGSYNC=Off}"
[   758.256] (II) NVIDIA(0): ACPI: failed to connect to the ACPI event daemon; the daemon
[   758.256] (II) NVIDIA(0):     may not be running or the "AcpidSocketPath" X
[   758.256] (II) NVIDIA(0):     configuration option may not be set correctly.  When the
[   758.256] (II) NVIDIA(0):     ACPI event daemon is available, the NVIDIA X driver will
[   758.256] (II) NVIDIA(0):     try to use it to receive ACPI event notifications.  For
[   758.256] (II) NVIDIA(0):     details, please see the "ConnectToAcpid" and
[   758.256] (II) NVIDIA(0):     "AcpidSocketPath" X configuration options in Appendix B: X
[   758.256] (II) NVIDIA(0):     Config Options in the README.
[   758.292] (II) systemd-logind: got resume for 13:66
[   758.292] (II) systemd-logind: got resume for 13:82
[   758.292] (II) systemd-logind: got resume for 13:64
[   758.292] (II) systemd-logind: got resume for 13:65
[   758.293] (II) systemd-logind: got resume for 13:83

I tried searching the Arch forums for "ACPI: failed to connect to the ACPI event daemon", but after ten minutes of "504 Gateway Time-out" errors I gave up.

I also tried launching Chromium with chromium --enable-gpu-rasterization --ignore-gpu-blacklist --disable-gpu-driver-workarounds, but this did not help.

Last edited by Salkay (2020-10-05 04:52:20)

Offline

#2 2020-10-05 06:24:19

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 10,867

Re: Chromium artefacts after resume from suspend or tty switch

Nvidia has a newer, optional configuration that should help preventing video memory corruption from suspension wake-up like this, see https://wiki.archlinux.org/index.php/NV … er_suspend and the linked upstream documentation for how to set that up.

Last edited by V1del (2020-10-05 06:24:36)

Offline

#3 2020-10-05 08:35:35

Salkay
Member
Registered: 2014-05-22
Posts: 482

Re: Chromium artefacts after resume from suspend or tty switch

Thanks @V1del. I read your link and the upstream link, and it seems like the upstream services are already shipped in the nvidia-utils package. I enabled nvidia-suspend.service and nvidia-hibernate.service, restarted, launched Chromium, then went through a suspend-resume cycle, but this didn't help. The artefacts were still present.

Also, the systemd services mentioned only address the suspend-resume cycle, and not any tty-switching issues. That's totally fine, but presuming both problems are caused by the same issue, it seems like the link might be unrelated.

Offline

#4 2020-10-06 12:21:39

Salkay
Member
Registered: 2014-05-22
Posts: 482

Re: Chromium artefacts after resume from suspend or tty switch

I managed to capture a screenshot of the "colourful" version of the artefacts. I'm not sure if it's informative or not.

clFld2Ut.jpg

Offline

#5 2020-10-06 14:56:30

euromatlox
Member
Registered: 2017-02-10
Posts: 66

Re: Chromium artefacts after resume from suspend or tty switch

Maybe modelining might help. Some info here (Arch Wiki) and here (Ubuntu doc). I think I still have my desktop Arch installation's display modelined, but no need to suspend or sleep that computer, so zero expirience on the issue.

Last edited by euromatlox (2020-10-06 14:59:49)

Offline

#6 2020-10-07 09:21:56

Salkay
Member
Registered: 2014-05-22
Posts: 482

Re: Chromium artefacts after resume from suspend or tty switch

Thanks @euromatlox for the reply. Isn't modelining to do with getting specific resolutions working with the monitor? I'm not sure if I misunderstand. My resolution is fine; it's set to the native resolution for my monitor. Also, if I (re)start Chromium, it never shows artefacts. It's only buggy after suspend-resume or switching tty, so I presume these issues are unrelated to general monitor/resolution display issues. And if it were a general issue, I would have expected programs like Firefox to be affected, but it's only Chromium and a few others with the issue.

Offline

#7 2020-10-07 12:33:47

euromatlox
Member
Registered: 2017-02-10
Posts: 66

Re: Chromium artefacts after resume from suspend or tty switch

I remember that without modeline I could not get display work as it should. Using modeline is a way to make sure that Hz and resolution are stable everytime. But I think nowadays modeline in xorg is usually not needed. Modeline row also contains those VSYNC and HSYNC, it allows to 'play' with those too. I do not know how to 'play' those two without modeline (perhaps xset something).

Offline

#8 2020-10-07 12:36:39

Salkay
Member
Registered: 2014-05-22
Posts: 482

Re: Chromium artefacts after resume from suspend or tty switch

That might make sense, but I would have expected those kind of artefacts to be over the entire display, instead of just in a few applications.

Offline

#9 2020-10-08 09:13:33

Salkay
Member
Registered: 2014-05-22
Posts: 482

Re: Chromium artefacts after resume from suspend or tty switch

I did more troubleshooting. I removed all nvidia xorg.conf files, I tried booting with linux-lts instead of linux, and I tried disabling compositing, but nothing helped.

I also noticed some errors during the launching of chromium (but not after inducing the artefacts themselves).

[10899:10899:1008/200957.464823:ERROR:vaapi_wrapper.cc(950)] vaQuerySurfaceAttributes failed, VA error: invalid parameter
[10899:10899:1008/200957.479152:ERROR:vaapi_wrapper.cc(907)] FillProfileInfo_Locked failed for va_profile VAProfileH264Main and entrypoint VAEntrypointVLD
[10899:10899:1008/200957.479219:ERROR:vaapi_wrapper.cc(950)] vaQuerySurfaceAttributes failed, VA error: invalid parameter
[10899:10899:1008/200957.479262:ERROR:vaapi_wrapper.cc(907)] FillProfileInfo_Locked failed for va_profile VAProfileH264High and entrypoint VAEntrypointVLD
[10899:10899:1008/200957.592453:ERROR:shared_context_state.cc(74)] Skia shader compilation error
------------------------

Errors:
Program binary could not be loaded. Binary is not compatible with current driver/hardware combination. Driver build date Sep 30 2020. Please check build information of source that generated the binary.

[10899:10899:1008/200957.601423:ERROR:shared_context_state.cc(74)] Skia shader compilation error
------------------------

Errors:
Program binary could not be loaded. Binary is not compatible with current driver/hardware combination. Driver build date Sep 30 2020. Please check build information of source that generated the binary.
...
[10899:10899:1008/201003.040990:ERROR:shared_image_manager.cc(214)] SharedImageManager::ProduceSkia: Trying to Produce a Skia representation from a non-existent mailbox.

with the error above the ellipsis repeated seven times. These errors occur whether launching normally, or enabling the GPU with chromium --enable-gpu-rasterization --ignore-gpu-blocklist --disable-gpu-driver-workarounds.

Offline

#10 2020-10-11 09:31:47

xerxes_
Member
Registered: 2018-04-29
Posts: 295

Re: Chromium artefacts after resume from suspend or tty switch

I don't know what nvidia gpu do you have or is it hardware acceleration enabled by default in chromium in your case, but try to disable hardware acceleration in chromium,  just for test, to see if there is any difference.

Offline

#11 2020-10-11 09:42:56

Salkay
Member
Registered: 2014-05-22
Posts: 482

Re: Chromium artefacts after resume from suspend or tty switch

@xerses_ I have a GTX 1070. My understanding is that hardware acceleration is off by default, but the flags I mention above enable it. i.e. if I launch with chromium --enable-gpu-rasterization --ignore-gpu-blocklist --disable-gpu-driver-workarounds, then navigate to chrome://gpu/, I can see:

Graphics Feature Status
Canvas: Hardware accelerated
Compositing: Hardware accelerated
Multiple Raster Threads: Enabled
Out-of-process Rasterization: Disabled
OpenGL: Enabled
Hardware Protected Video Decode: Hardware accelerated
Rasterization: Hardware accelerated on all pages
Skia Renderer: Enabled
Video Decode: Software only. Hardware acceleration disabled
Vulkan: Disabled
WebGL: Hardware accelerated
WebGL2: Hardware accelerated

When launching without these flags, Hardware Protected Video Decode says "Unavailable", and Rasterization says "Software only. Hardware acceleration disabled".

Offline

#12 2020-10-11 10:31:30

xerxes_
Member
Registered: 2018-04-29
Posts: 295

Re: Chromium artefacts after resume from suspend or tty switch

So after resume from suspend you will have to restart chromium (and other apps with that issue) or donn't suspend system at all.

Offline

#13 2020-10-11 11:17:45

kokoko3k
Member
Registered: 2008-11-14
Posts: 2,038

Re: Chromium artefacts after resume from suspend or tty switch

Or use prime render offload and stop using nvidia driver for desktop apps by relying on the integrated gpu.
https://wiki.archlinux.org/index.php/PR … er_offload

...done that long time ago and never looked back.

Offline

#14 2020-10-11 11:52:23

Salkay
Member
Registered: 2014-05-22
Posts: 482

Re: Chromium artefacts after resume from suspend or tty switch

xerxes_ wrote:

So after resume from suspend you will have to restart chromium (and other apps with that issue) or donn't suspend system at all.

Yes, I have to restart chromium to remove the artefacts. Then it's fine again until the next suspend-resume or tty-switch.

kokoko3k wrote:

Or use prime render offload and stop using nvidia driver for desktop apps by relying on the integrated gpu.

Can I still use that on my desktop computer? I have the closed-source Nvidia driver installed, but tried this command anyway.

$ xrandr --listproviders
Providers: number : 1
Provider 0: id: 0x1b8 cap: 0x1, Source Output crtcs: 4 outputs: 8 associated providers: 0 name:NVIDIA-0

From your link, I think PRIME needs there to be two providers, i.e. the integrated card as well. I'm not sure if relevant, but my monitor is also plugged into the GPU card, not the motherboard.

Offline

#15 2020-10-11 12:10:35

kokoko3k
Member
Registered: 2008-11-14
Posts: 2,038

Re: Chromium artefacts after resume from suspend or tty switch

Salkay, i use it on my desktop computer and xrandr returns 2 providers:

[14:09:03]  cd ~
koko@Gozer# xrandr --listproviders
Providers: number : 2
Provider 0: id: 0x47 cap: 0xb, Source Output, Sink Output, Sink Offload crtcs: 4 outputs: 4 associated providers: 1 name:Intel
Provider 1: id: 0x202 cap: 0x2, Sink Output crtcs: 4 outputs: 4 associated providers: 1 name:NVIDIA-G0

I've had to explicitely enable the igp and the support for multiple gpus in the bios.

Last edited by kokoko3k (2020-10-11 12:12:37)

Offline

#16 2020-10-11 12:20:48

Salkay
Member
Registered: 2014-05-22
Posts: 482

Re: Chromium artefacts after resume from suspend or tty switch

@kokoko3k thanks for that. I'll try this out and report back soon.

Offline

#17 2020-10-13 06:52:05

Salkay
Member
Registered: 2014-05-22
Posts: 482

Re: Chromium artefacts after resume from suspend or tty switch

Hmm… I couldn't really get this to work. I found the setting in BIOS, and enabled the integrated GPU. However, even without changing anything else, I couldn't progress past the terminal output immediately after the GRUB selection, i.e. I didn't make it to the tty login screen. I found another cable and tried switching to the motherboard output in the BIOS. I then made it to the tty login screen, but startx froze. No matter, it's not the biggest deal in the world. I normally use Firefox, but a handful of sites don't work and I need Chromium. It seems simpler to just restart Chromium (and Cura) every time.

Offline

#18 2020-10-18 11:27:36

eblau
Member
Registered: 2016-02-11
Posts: 32

Re: Chromium artefacts after resume from suspend or tty switch

I also have this same problem. It has been annoying me for about a month. Before then, everything was fine. Not sure if the problem was introduced by a chromium, linux or nvidia update or a combination of these.

If I restart chromium after resuming, the artifacts go away and chromium works normally. If I go into Settings -> Advanced and disable "Use hardware acceleration when available" the problem also goes away and I can successfully suspend and resume without any issues. The problem is, my NVIDIA graphics drives 2 external 4K monitors from my laptop and performance is bad with hardware acceleration disabled.

I have not found a satisfactory solution to this yet other than the workaround of having to close and reopen chromium, which is annoying and slow when I usually have 4 windows and many tabs open.

Offline

#19 2020-10-18 11:47:26

Salkay
Member
Registered: 2014-05-22
Posts: 482

Re: Chromium artefacts after resume from suspend or tty switch

Thanks for posting @eblau

eblau wrote:

If I go into Settings -> Advanced and disable "Use hardware acceleration when available" the problem also goes away and I can successfully suspend and resume without any issues.

I can confirm that this fixes it for me. I agree this is not optimal, nor will it fix cura, steam, and other programs.

Offline

#20 2020-10-18 13:42:37

eblau
Member
Registered: 2016-02-11
Posts: 32

Re: Chromium artefacts after resume from suspend or tty switch

Salkay wrote:

Thanks for posting @eblau

eblau wrote:

If I go into Settings -> Advanced and disable "Use hardware acceleration when available" the problem also goes away and I can successfully suspend and resume without any issues.

I can confirm that this fixes it for me. I agree this is not optimal, nor will it fix cura, steam, and other programs.

Great, thanks for confirming that works for you @Salkay. Most likely we are experiencing the same issue then. Please do update this thread if you make any progress on this issue and I will do the same. Thanks!

Offline

#21 2020-10-18 21:42:07

Salkay
Member
Registered: 2014-05-22
Posts: 482

Re: Chromium artefacts after resume from suspend or tty switch

eblau wrote:

Please do update this thread if you make any progress on this issue and I will do the same

Will do! TBH I really have no idea where to start though. Are you using the Nvidia proprietary drivers? It might be a bug there, but I'm not really keen to change.

Offline

#22 2020-10-19 01:54:53

eblau
Member
Registered: 2016-02-11
Posts: 32

Re: Chromium artefacts after resume from suspend or tty switch

Salkay wrote:

Will do! TBH I really have no idea where to start though. Are you using the Nvidia proprietary drivers? It might be a bug there, but I'm not really keen to change.

Yes, I'm using the NVIDIA proprietary driver. It took me a while to get my X config straightened out the way I want with hybrid graphics on my laptop using optimus-manager. I don't really want to change either unless there is a very good reason to.

Offline

#23 2020-10-21 06:49:12

Arup
Member
From: Earth
Registered: 2014-02-20
Posts: 89

Re: Chromium artefacts after resume from suspend or tty switch

With latest Arch and kernel 5.9 no more artifacts thankfully with my AMD GPU.

Offline

#24 2020-10-21 07:38:14

kokoko3k
Member
Registered: 2008-11-14
Posts: 2,038

Re: Chromium artefacts after resume from suspend or tty switch

Arup, was this an issue with AMD gpu too?

Offline

#25 2020-10-21 09:13:11

Salkay
Member
Registered: 2014-05-22
Posts: 482

Re: Chromium artefacts after resume from suspend or tty switch

Arup wrote:

With latest Arch and kernel 5.9 no more artifacts thankfully with my AMD GPU.

FWIW I just tested with linux 5.9.1.arch1-1, and the bug is still present with Nvidia.

Offline

Board footer

Powered by FluxBB