Bug 494407

Summary: After upgrade to Plasma 6.2, external monitor affected by graphical artifacts
Product: [Plasma] kwin Reporter: Evert Vorster <evorster>
Component: generalAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED FIXED    
Severity: grave CC: evorster, jdg, krorkle, luigidev2, nate, postix
Priority: NOR Keywords: multiscreen, regression
Version: 6.2.0   
Target Milestone: ---   
Platform: Arch Linux   
OS: Linux   
Latest Commit: Version Fixed In: 6.2.1
Sentry Crash Report:
Attachments: Picture of the screen artifacts.

Description Evert Vorster 2024-10-10 11:10:34 UTC
SUMMARY
After updating to Plasma 6.2 in Arch Linux today (2024-10-10) External monitor is affected by serious artifacts. 

STEPS TO REPRODUCE
1. Log in to Plasma session. 

OBSERVED RESULT
Serious artifacts and very low performance on external monitor. 

EXPECTED RESULT
No artifacts and normal performance.

SOFTWARE/OS VERSIONS
Operating System: Arch Linux 
KDE Plasma Version: 6.1.5
KDE Frameworks Version: 6.6.0
Qt Version: 6.7.3
Kernel Version: 6.11.1-arch1-1.1-g14 (64-bit)
Graphics Platform: Wayland
Processors: 32 × AMD Ryzen 9 7945HX3D with Radeon Graphics
Memory: 62.0 GiB of RAM
Graphics Processor: AMD Radeon 610M
Manufacturer: ASUSTeK COMPUTER INC.
Product Name: ROG Strix G733PYV_G733PYV
System Version: 1.0

ADDITIONAL INFORMATION
Bug is reported on the Arch bbs here: https://bbs.archlinux.org/viewtopic.php?pid=2201367#p2201367

The artifacts are visible on at least three different computers. 
They show up when connected to the system HDMI port and when connected to a USB dock. 
Artifacts are visible on LTS kernel, and Asus' g-14 kernel. 
Nvidia drivers are nvidia-open-dkms 560.35.03-12
There are no new errors in the system log files. 

When downgrading to plasma 6.1.5 there are no issues. (Of course there are a lot of packages involved in the downgrade)

Running Wayland because of the fractional scaling, High resolution monitors are very hard to use without it.
The artifacts show up much more in high resolution and high frame rate with different scaling applied to both monitors.
Comment 1 Evert Vorster 2024-10-10 11:11:24 UTC
Created attachment 174608 [details]
Picture of the screen artifacts.

Picture of the screen artifacts.
Comment 2 Vlad Zahorodnii 2024-10-10 11:17:50 UTC
Did you enable HDR or change output properties beyond the resolution and scale factor?
Comment 3 Evert Vorster 2024-10-10 11:22:16 UTC
HDR is not enabled. 

The computer worst affected by it is running high resolution monitors with different fractional scaling on each monitor. 
The other one is running with no scaling applied, at the native resolution of the monitors. It is much less affected, but occasional glitches can still be seen.

When running in X11 session, there are no artifacts, so this seems to be an issue in the Wayland protocol. However, it the artifacts are only visible with plasma 6.2, when running in 6.1.5 there are no artifacts on a Wayland session.
Comment 4 Vlad Zahorodnii 2024-10-10 11:31:16 UTC
Do you have multiple gpus?
Comment 5 Evert Vorster 2024-10-10 11:34:41 UTC
Correction to the initial post. I see that I posted the configuration with Plasma 6.1.5, which is working properly. 

This configuration also works properly:

Operating System: Arch Linux 
KDE Plasma Version: 6.2.0
KDE Frameworks Version: 6.6.0
Qt Version: 6.7.3
Kernel Version: 6.11.1-arch1-1.1-g14 (64-bit)
Graphics Platform: X11
Processors: 32 × AMD Ryzen 9 7945HX3D with Radeon Graphics
Memory: 62.0 GiB of RAM
Graphics Processor: AMD Radeon 610M
Manufacturer: ASUSTeK COMPUTER INC.
Product Name: ROG Strix G733PYV_G733PYV
System Version: 1.0

The configuration that has the artifacts is:
Operating System: Arch Linux 
KDE Plasma Version: 6.2.0
KDE Frameworks Version: 6.6.0
Qt Version: 6.7.3
Kernel Version: 6.11.1-arch1-1.1-g14 (64-bit)
Graphics Platform: Wayland
Processors: 32 × AMD Ryzen 9 7945HX3D with Radeon Graphics
Memory: 62.0 GiB of RAM
Graphics Processor: AMD Radeon 610M
Manufacturer: ASUSTeK COMPUTER INC.
Product Name: ROG Strix G733PYV_G733PYV
System Version: 1.0
Comment 6 Evert Vorster 2024-10-10 19:40:53 UTC
Hi there, Vlad. 

I'm running Arch on an Asus laptop with nVidia dGPU and AMD iGPU.
My external (secondary) display is 4K@120fps.

Up to yesterday (2024-10-09) this was all working perfectly. When updating today, I saw that KDE was updated to 6.2. When rebooting into the new environment, the secondary monitor was showing heavy artifacts, and very poor performance.
The artifacts show up with the monitor connected to the HDMI port of the laptop, as well when the monitor is connected to a USB docking station.

Recording the screen with OBS studio does not show the artifacts.

I usually run the g-14 kernel from Asus, but I checked with the lts kernel, and the same artifacts persist. Nvidia drivers were last updated a few days ago.

There is nothing untoward in the logs, both dmesg and journalctl does not show any new errors.

The updates were rolled back to 2024-10-08, and the visual artifacts are gone, ruling out hardware issues.

I have another laptop with slightly different hardware and a similar setup. In this case, also multiple GPUs, also AMD iGPU and an nVidia dGPU, but both screens are HD, running at 60fps and no scaling applied. It also shows the same issues, but to a lesser extent. 

Both laptops use the nVidia Optimus tech, better described here:
https://rog.asus.com/articles/rog-gaming-laptops/maximize-your-rog-laptops-performance-with-a-mux-switch/
Comment 7 Nick H 2024-10-10 21:27:23 UTC
SUMMARY:
After updating to Plasma 6.2 in Garuda Linux today (2024-10-11) external monitor is affected by large artifacts. 

STEPS TO REPRODUCE:
1. Have an external Monitor
2. Login to Wayland 

OBSERVED RESULT:
- Artifacts everywhere, but mostly in the KDE elements (eg panel, menu, tray apps). 
- Window movement slow and jerky. Internal Laptop monitor seems to work fine. 

EXPECTED RESULT: 
Function normally, like Plasma 6.1.5

SYSTEM INFORMATION: 
Operating System: Garuda Linux 
KDE Plasma Version: 6.2.0
KDE Frameworks Version: 6.6.0
Qt Version: 6.7.3
Kernel Version: 6.11.2-zen1-1-zen (64-bit)
Graphics Platform: Wayland
Processors: 16 × AMD Ryzen 7 5800H with Radeon Graphics
Memory: 15.0 GiB of RAM
Graphics Processor: AMD Radeon Graphics
Manufacturer: ASUSTeK COMPUTER INC.
Product Name: ASUS TUF Gaming A15 FA506QM_TUF506QM
System Version: 1.0

ADDITIONAL INFORMATION:
- OBS Studio screen recording did not pick up the artifacts.
- Tested different settings: refresh rate: 144/60, Screen Tearing on/off, different colour profile, adaptive sync: auto and off, Legacy X11 apps scaled by selves and system, disable/enable inbuilt monitor. All included artifacts.
Comment 8 Zamundaaa 2024-10-12 17:18:08 UTC
Git commit 0133431c1d4b8a07ff5027df7f59928382562b38 by Xaver Hugl.
Committed on 12/10/2024 at 17:00.
Pushed by zamundaaa into branch 'master'.

backends/drm: disable triple buffering on NVidia by default

There's some unresolved glitches on multi gpu systems. Until that's taken care of,
triple buffering is disabled by default on NVidia unless the environment variable
KWIN_DRM_DISABLE_TRIPLE_BUFFERING=0 is set
Related: bug 494547

M  +3    -2    src/backends/drm/drm_output.cpp

https://invent.kde.org/plasma/kwin/-/commit/0133431c1d4b8a07ff5027df7f59928382562b38
Comment 9 Zamundaaa 2024-10-12 20:38:29 UTC
Git commit b3358350b67b39ecea8fd4234df4ad8c0fa99017 by Xaver Hugl.
Committed on 12/10/2024 at 20:14.
Pushed by zamundaaa into branch 'Plasma/6.2'.

backends/drm: disable triple buffering on NVidia by default

There's some unresolved glitches on multi gpu systems. Until that's taken care of,
triple buffering is disabled by default on NVidia unless the environment variable
KWIN_DRM_DISABLE_TRIPLE_BUFFERING=0 is set
Related: bug 494547


(cherry picked from commit 0133431c1d4b8a07ff5027df7f59928382562b38)

Co-authored-by: Xaver Hugl <xaver.hugl@gmail.com>

M  +3    -2    src/backends/drm/drm_output.cpp

https://invent.kde.org/plasma/kwin/-/commit/b3358350b67b39ecea8fd4234df4ad8c0fa99017
Comment 10 Evert Vorster 2024-10-13 05:03:42 UTC
Update on this issue. 

Just disabling triple buffering solves the graphical artifacts, however the performance issues remains. 

To be clear, I set:
KWIN_DRM_DISABLE_TRIPLE_BUFFERING=1

In my environment, and with no other changes the display artifacts are now gone. However, dragging a window around on the external monitor is really jerky, and the longer it is dragged around the more jerky it gets. 

So, that "Fixed" might be a little premature. At best it only is "Half fixed", as the  bug report clearly states artifacts AND low performance.
Comment 11 Jorge Durán 2024-10-14 10:55:04 UTC
(In reply to Evert Vorster from comment #10)
> Update on this issue. 
> 
> Just disabling triple buffering solves the graphical artifacts, however the
> performance issues remains. 
> 
> To be clear, I set:
> KWIN_DRM_DISABLE_TRIPLE_BUFFERING=1
> 
> In my environment, and with no other changes the display artifacts are now
> gone. However, dragging a window around on the external monitor is really
> jerky, and the longer it is dragged around the more jerky it gets. 
> 
> So, that "Fixed" might be a little premature. At best it only is "Half
> fixed", as the  bug report clearly states artifacts AND low performance.

I can confirm this is happening on my system as well. Disabling triple buffering removes the graphical artifacts, but the performance issues persist on the Nvidia HDMI output. GPU shows 100% on Btop++ when moving windows on the external Nvidia output. But if I connect the monitor though the AMD integrated graphics it is all good.

Operating System: Fedora Linux 40
KDE Plasma Version: 6.2.0
KDE Frameworks Version: 6.7.0
Qt Version: 6.7.2
Kernel Version: 6.11.3-350.vanilla.fc40.x86_64 (64-bit)
Graphics Platform: Wayland
Processors: 16 × AMD Ryzen 7 7840HS w/ Radeon 780M Graphics
Memory: 30.6 GiB of RAM
Graphics Processor: AMD Radeon 780M
Manufacturer: HP
Product Name: Victus by HP Gaming Laptop
System Version: Type1ProductConfigId
Comment 12 Nate Graham 2024-10-14 15:18:52 UTC
It sounds like the artifacts and low performance were separate issues. Let's use this one to track the artifacts since that's been fixed now, and can I ask you to open a new one to track the performance issue? Thanks!
Comment 13 Jorge Durán 2024-10-14 22:10:00 UTC
(In reply to Nate Graham from comment #12)

Thank you, Nate! I’ve created the report on #494780 to track the issue.
Comment 14 Luis Mayo 2024-11-10 18:11:18 UTC
Hi!

This did indeed get fixed for me in 6.2.1 but it has come back in 6.2.2. Is it just me?
Comment 15 Jorge Durán 2024-11-10 19:29:12 UTC
(In reply to Luis Mayo from comment #14)
> Hi!
> 
> This did indeed get fixed for me in 6.2.1 but it has come back in 6.2.2. Is
> it just me?

I can canfirm, that 6.2.3 works fine. Not sure about KDE 6.2.2.
Comment 16 Luis Mayo 2024-11-13 19:18:59 UTC
(In reply to Jorge Durán from comment #15)
> (In reply to Luis Mayo from comment #14)
> > Hi!
> > 
> > This did indeed get fixed for me in 6.2.1 but it has come back in 6.2.2. Is
> > it just me?
> 
> I can canfirm, that 6.2.3 works fine. Not sure about KDE 6.2.2.

Happening to me on 6.2.3 too :(
Back to forcing Triple bufering off I guess