SUMMARY In Wayland by design, compositors can ask client to scale only in integers, therefore in fractional scaling compositors ask client for integer scale and then scale it down. This causes some problem in "full-screen" apps like Kodi or games supporting wayland, because they DON'T need scaling of any kind. So, it would be great if there was a kwin rule to disable scaling for some wayland clients like SDL Games or apps like Kodi. There is ongoing discussion to solve this problem on displays requiring fractional scaling on wayland-protocols here: https://gitlab.freedesktop.org/wayland/wayland-protocols/-/issues/47 and as I understand its not possible for xwayland apps to disable scaling for single app only (Unable to find a link for it on internet but I read it somewhere on nate graham's blog). Therefore, this would be a great stop gap measure until awaylnd protocol is finalized. STEPS TO REPRODUCE 1. Open Kodi or wayland supported game on a fractionally scaled display 2. You will observe slight blurriness - for systematic check: check resolution in the app's settings. OBSERVED RESULT It will show either a large resolution or smaller resolution from which kwin is scaling it down or up. EXPECTED RESULT To NOT scale at all. SOFTWARE/OS VERSIONS Windows: X macOS: X Linux/KDE Plasma: Archlinux (available in About System) KDE Plasma Version: 5.22 KDE Frameworks Version: Qt Version: ADDITIONAL INFORMATION
Seems like a reasonable request to me
Current kwin's design doesn't allow make scaling exceptions and changing that will be difficult.
This is also causing me problems on RetroArch on Wayland, which has no use for scaling. When using Vulkan, having scaling enabled causes graphical glitches with garbage data from previously running programs. When using the glcore driver, it causes rhythmic 1hz stutters. Both glitches disappear when I set scaling back to 100%. Not sure what's the cause of these issues, but a window rule to disable scaling would work around all of this.
This would be very useful for Qemu windows as well: -display sdl,gl=on with SDL_VIDEODRIVER=wayland mouse handling and resolution detection breaks if scaling is not 100%, making this very hard to use. -display gtk,gl=on also has issues with the fractional scale.
It'd be a good feature for native Wayland apps, XWayland already has it. There are many use-cases where apps behaves incorrectly with any scaling or fractional scaling, so for these apps it's better to run without scaling. Example applications: - virt-manager - image is too small or blurred when using fractional scaling - remmina - same as virt-manager - rawtherapee - image is blurred because this app doesn't support HiDPI scaling - vkcube - image is upscaled (this app doesn't support HiDPI scaling) - gimp has wrong image size at 100% zooming, so better to run at 100% UI scaling and enlarge fonts and icons - qemu upscales image on best fit - testing Qt application during development with various scaling (should be better than using fractional QT_SCALE_FACTOR with patch https://codereview.qt-project.org/c/qt/qtbase/+/664057 to compensate our global UI scale) - probably many more applications especially if we use fractional scaling Could we re-open this?
I want to update that, even though this would still be a nice feature, the issue that I reported about RetroArch having trouble with scaling is no longer valid. It now works correctly.
A feature like this might also help those who want to preview documents actual size 1 cm (or 1 inch) on screen matching the paper equivalent.