Today on wayland it is not possible to switch between resolutions that the display's manufacturer didn't report to the operating system (see bug #448091) however there are some setups of which this feature would be VERY interesting, like in the scenario of some XPS laptops by dell (including my model 9560) where the display reports only 3840x2160 as the resolution and all we can change is the scale.
However, as the iGPU for this machine is an Intel UHD Graphics 630 (same as 15" inch macbook pros of 2017 and 2018), they seem not capable enough to run smooth animations at that resolution. In macOS they "fixed" this by restricting the eDP resolution to 2,880x1,800, and only having vendor specific resolutions on external displays (which uses the dGPU connection instead of iGPU).
Windows "fixed" this the same way X11 did, by creating dummy resolutions you can choose from.
The only Desktop Protocol which seems not to have any fixes regarding this issue is Linux's Wayland. Today we can use X11 and be restricted to a lot of things, including poor touchscreen support and very bad implementations of HiDPI, but if we move on to Wayland with KDE, we are going to face a HUGE slowdown on some iGPUs like mine (you see, my laptop is not THAT old).
An implementation of dummy screen resolutions that could be triggered by a simple checkbox would totally fix it.
I know it will require some effort from you guys but I think it would definitely worth it.
STEPS TO REPRODUCE
1. Open System Settings
2. Open Display Configurations
3. Try to switch between resolutions from the Drop-Down menu
There are no other options on the drop-down menu
It should have some options to the drop-down menu (at least resolutions that would be considered HiDPI)
Linux/KDE Plasma: Kubuntu 21.10
(available in About System)
KDE Plasma Version: 5.23.5
KDE Frameworks Version: 5.89.0
Qt Version: 5.15.2
Installed via recommended Kubuntu backports.
Only the modes that the display advertises are 'guaranteed' to work but as long as we don't use the generated modes by default I guess it would be fine - KScreen would automatically revert to the working resolution if needed.
We just need to use libxcv to generate the additional modes & do some bandwidth estimations for whether or not a given resolution + refresh rate could work with a reasonable likelyhood. Should be doable to include it in 5.25
*** Bug 444788 has been marked as a duplicate of this bug. ***
*** Bug 427586 has been marked as a duplicate of this bug. ***
Git commit 9ed87a4e23dea212dadd86d4463e7fdfe6aafc84 by Xaver Hugl.
Committed on 23/04/2022 at 21:29.
Pushed by zamundaaa into branch 'master'.
backends/drm: support common display modes
M +1 -1 src/backends/drm/CMakeLists.txt
M +69 -0 src/backends/drm/drm_object_connector.cpp
M +3 -0 src/backends/drm/drm_object_connector.h
thanks a lot for this fix,
does it mean that 5.25.1 is the version we will see the fix in?
As the "Version Fixed In:" field says, it'll be in Plasma 5.25. :)