SUMMARY When dragging a native Wayland window (Qt or GTK) between a scaled display and a non-scaled display, (usually) once you drag it more than roughly halfway across, the section on the scaled display will appear blurry as though the resolution has gone down. The same is true in the reverse situation: When dragging a window from a non-scaled display to a scaled display, it will appear blurry on the scaled display until it is roughly halfway across. The window appearance does not change at all on the non-scaled display in any of these circumstances. I say "usually" above as there is one application, the Strawberry music player, that has different behaviour. When dragging *from* a scaled display, it will appear blurry once it is more than halfway across. However it will not fix itself until the window is dragged fully back across onto the scaled display. Strawberry is a Qt6 application and I believe the only one I have to test, and the only difference I can think of between it and the other Qt applications on my system, so perhaps this is why it has different behaviour. I have tested with several KDE applications such as Dolphin, System Settings and Kate, as well as several GTK applications such as Chromium, Firefox and Lutris. Xwayland applications appear blurry on scaled displays regardless. When taking a screenshot of the windows, the resolution of the screenshot is different when the window is sharp and when it is blurry. When taking a region screenshot, once the window appears low resolution, a strange divide appears where the scaled monitor ends (see screenshots in "Observed Result"). STEPS TO REPRODUCE 1. Drag a native Wayland application between a scaled and non-scaled display. 2. Once more than halfway: 2a. If dragging *from* a scaled display, the window will appear blurry when dragged more than halfway across 2b. If dragging *to* a scaled display, the window will appear blurry until dragged more than halfway across, where it will appear normal. 3. Appearance never changes on the regular, non-scaled display at any point. OBSERVED RESULT If dragged *from* a scaled display, the window will appear blurry when dragged more than halfway onto the non-scaled display. If dragged *to* a scaled display, a window will appear blurry until dragged more than halfway onto the scaled display. This is Lutris between my scaled display and a non-scaled display, where it displays normally: https://i.imgur.com/2bkVsGU.png This is Lutris when I move it too far across between the displays, and it begins to appear blurry: https://i.imgur.com/Y49fh0V.png EXPECTED RESULT Window appears identically when between mixed displays as it does when on a single display. SOFTWARE/OS VERSIONS Linux/KDE Plasma: 5.16.0-arch1-1 KDE Plasma Version: 5.23.90 KDE Frameworks Version: 5.90.0 Qt Version: 5.15.2 ADDITIONAL INFORMATION - Visual issue with the screenshot is reproducible with all screenshots I take using Spectacle under the same circumstances. - Windows appear fine between non-scaled displays.
I believe there is a technical reason why we can't fix this, but I'll leave it up to the KWin developers to explain it. :)
That would be a real shame if it wasn't fixable, it's one of the last remaining painpoints I have with Plasma Wayland. Thanks for the insight though, and hopefully there's an explanation from a KWin dev before this is closed, at the very least to help explain the issue to future users :)
This is not fixable at the protocol level. The buffer scale is chosen by the client, the compositor only tells the client what output its windows are on and there is no concept of per output views so the client could provide buffers for every output with different scales.