You are not logged in.
Hi there!
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, and will see if I get similar issues there.
Information about this laptop:
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
Last edited by evorster (2024-10-18 05:55:02)
Offline
I'm experiencing this too after upgrading. I have the same laptop setup (Asus, AMD iGPU, Nvidia dGPU).
Offline
Ok, tested it now on a different laptop.
On this laptop the internal monitor and the external monitor are both HD@60Hz, with no scaling, and while the issue is much less, it still shows up.
Information on the second laptop:
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: 12 × AMD Ryzen 5 7535HS with Radeon Graphics
Memory: 62.1 GiB of RAM
Graphics Processor: AMD Radeon 660M
Manufacturer: ASUSTeK COMPUTER INC.
Product Name: ASUS TUF Gaming A15 FA506NC_FA506NC
System Version: 1.0
Offline
More information on this issue...
Running Wayland because of fractional scaling, both high resolution monitors are unusable in X11.
Built-in screen is 2560x1440@240Hz, with a 125% scale, external monitor is 3840x2160@120Hz with a 120% scale.
I'll go scour the KDE bug reports now to see if it's KDE specific.
Offline
More information on this.
The artifacts are not visible when running in X11 mode.
Offline
https://bbs.archlinux.org/viewtopic.php?id=299868
Try to explicitly set "nvidia_drm.fbdev=0" or "nvidia_drm.fbdev=1" but that doesn't explain the AMD-only notebook.
Online
I have the same problem as @evorster wrote about.
The Thinkpad has an internal monitor with 3840x2160 and a scaling of 225%. The artifacts are not visible under X11.
I reset the system to Plasma 6.1.5-1 and everything is fine again. There is no hardware problem.
System:
Host: thinkman Kernel: 6.11.1-zen1-1-zen arch: x86_64 bits: 64
Desktop: KDE Plasma v: 6.1.5 Distro: Arch Linux
Graphics:
Device-1: Intel CometLake-U GT2 [UHD Graphics] driver: i915 v: kernel
Display: wayland server: X.org v: 1.21.1.13 with: Xwayland v: 24.1.2
compositor: kwin_wayland driver: X: loaded: modesetting dri: iris gpu: i915
Last edited by olmet (2024-10-10 14:55:58)
Offline
Hi Seth. Thanks for taking a look. I don't particularly want to specify the frame buffer devices, as I have had other weird issues popping up in the past when I did.
I reported the issue with KDE:
https://bugs.kde.org/show_bug.cgi?id=494407
Wayland worked perfectly on plasma 6.1.5, not working on 6.2.
6.2 works on X11, so it would indicate to my limited understanding that there is an issue in how kwin is interfacing with Wayland.
I guess we'll see what it was about when it's finally fixed upstream.
For me the most acceptable workaround at the moment is to just run X11. I do miss the extra features in plasma, like icc profiles for the monitors and the per-monitor scaling, but these are things that I personally can live with for a little while until this issue is sorted.
Offline
as I have had other weird issues popping up in the past when I did.
That's the point: the default has changed. Used to be "0", now is "1" => try to force it to "0"
Online
Hi again, Seth.
I tried with both options on nvidia_drm kernel switch, and there was no change.
I do also remember that change to the default, as in the past I needed to have that set on a previous laptop to get the HDMI port to work, and now I don't need to anymore.
Since the upgrade to plasma 6.2 was pretty much the only thing that changed I was pretty skeptical about a kernel parameter making a difference here, but just in case I was wrong about it I tried it anyways.
So, at least it is ruled out as a factor. I'm taking a little comfort that I am not the only one running into this issue, and that it is showing up on two of my machines, even though they use pretty similar technology, ie the nVidia Optimus MUX to handle the rendering to the various monitors. Up to this point it has been pretty impressive.
Again, thanks for taking a look, and your input is appreciated.
Offline
I've found a temporary fix: set your laptop to only use the dedicated GPU
In my case, I use an Asus laptop, I switch to the AsusMuxDgpu mode with supergfxctl
Offline
Setting KWIN_DRM_NO_AMS=1 (in /etc/environment) has made the artifacts go away for me (Nvidia RTX2060, 2K Monitor, HDMI).
However everything seems a little bit laggy now.
EDIT: I went all in today to try and fix this, and I can't believe it took this long to figure this out. For the first time ever wayland runs butter smooth with Plasma 6, going from 40-70 FPS earlier to 144 FPS sustained!
Now I have this in my /etc/environment:
# To restore HDR option in display settings, from https://bbs.archlinux.org/viewtopic.php?pid=2201454#p2201454
KWIN_DRM_ALLOW_NVIDIA_COLORSPACE=1
# To set Nvidia as the primary GPU for KWin compositor
KWIN_DRM_DEVICES=/dev/dri/card0:/dev/dri/card1
Last edited by aksh1618 (2024-10-12 20:06:35)
Offline
From the bug report to KDE, it seems that the issue is in nVidia's triple buffering.
They have made some code changes to disable triple buffering unless KWIN_DRM_DISABLE_TRIPLE_BUFFERING=0 is set.
Setting
KWIN_DRM_DISABLE_TRIPLE_BUFFERING=1
in the configuration now fixes the display artifacts for me, but there are still performance issues.
Since on multi monitor setups the dGPU is always active anyways, setting the dGPU to be the primary GPU for KWin does not have much of an impact on power saving.
However, setting that environment variable does have an impact on power consumption when the laptop is disconnected from the external monitor.
When you are out and about on your laptop, and disconnected from a power source, you want the iGPU to be handling the compositing, and put the dGPU to idle. Setting
KWIN_DRM_DEVICES=/dev/dri/card0:/dev/dri/card1
will prevent that from happening.
The issue is not resolved at this point in time, only getting worked around.
As it stands, runnin X11 allows you full performance on your external monitor when you need it, and power saving when you need it, at the cost of different scaling on each monitor, and no color profiles.
Setting KWIN_DRM_DEVICES=/dev/dri/card0:/dev/dri/card1 gives you full performance and color profiles and per monitor scaling, but needs to be unset when you disconnect the external monitor and want to be power saving.
Setting KWIN_DRM_DISABLE_TRIPLE_BUFFERING=1 Allows color profiles and per monitor scaling, but kneecaps performance on the external monitor. (Disabling triple buffering on dGPU is what is getting baked into the source now, from the looks of things. Luckily it can be disabled by setting KWIN_DRM_DISABLE_TRIPLE_BUFFERING=0)
Last edited by evorster (2024-10-13 05:19:43)
Offline
i guest it is a bugs in plasma 6.2 i hope it will be fixed in upstream
Offline
This issue is now completely solved by the latest kwin. Please update.
How do I mark this issue solved?
Offline