Bug 501146 - Impossible to set scaling factors on some panels to obtain standard full screen resolutions.
Summary: Impossible to set scaling factors on some panels to obtain standard full scre...
Status: CLOSED NOT A BUG
Alias: None
Product: kwin
Classification: Plasma
Component: general (other bugs)
Version First Reported In: 6.3.2
Platform: Arch Linux Linux
: NOR normal
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-03-06 12:53 UTC by Evert Vorster
Modified: 2025-03-19 18:37 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Evert Vorster 2025-03-06 12:53:32 UTC
SUMMARY
OK, so I do a bit of screen recording and gaming and video editing on my KDE Linux workstation. 
When video editing, using standard resolutions are preferred, like 1920x1080. It then makes sense to capture the screen at this resolution. Video cameras support this resolution and so on. 

The  issue comes in when using my laptop's panel, which is 2560x1440. I could just set the resolution there to 1920x1080, but then I am left with display artifacts which I don't get when applying scaling. 

When applying scaling, there is no scale that will give the a virtual resolution of 1920x1080. 
As you are no doubt aware, when scaling the monitor you only have percentages to work with, and after applying a scaling factor, applications are given a resolution that is the product of the native resolution and the scaling percentage. 

Unfortunately, 2560x1440 is exactly one third larger than 1920x1080, which would require a scaling percentage of 133.333333333 % (Which you can't set) to get an virtual scale of 1920x1080 on a 2560x1440 panel. 

OBSERVED RESULT
No scaling options that result in standard output sizes. 


EXPECTED RESULT
Scaling options to exist which scale the display to standard sizes.

SOFTWARE/OS VERSIONS
Operating System: Arch Linux 
KDE Plasma Version: 6.3.2
KDE Frameworks Version: 6.11.0
Qt Version: 6.8.2
Kernel Version: 6.13.4-arch1-1.7-g14 (64-bit)
Graphics Platform: Wayland
Processors: 32 × AMD Ryzen 9 7945HX3D with Radeon Graphics
Memory: 62.0 GiB of RAM
Graphics Processor 1: AMD Radeon 610M
Graphics Processor 2: NVIDIA GeForce RTX 4090 Laptop GPU
Manufacturer: ASUSTeK COMPUTER INC.
Product Name: ROG Strix G733PYV_G733PYV
System Version: 1.0

ADDITIONAL INFORMATION
I know this is a stretch, but it would be really nice to be able to specify the output resolution for the scaling, rather than the percentage. I know people are used to the percentage thing now, but if scaling could be toggled between percentage and effective screen resolutions with options that would be totally awesome.
Comment 1 Bug Janitor Service 2025-03-06 13:33:36 UTC
Thank you for the bug report!

However Plasma 6.2.4 is no longer eligible for support or maintenance from KDE; supported versions are 5.27. (LTS), and 6.3 (non-LTS) or newer. Please upgrade to a supported version as soon as your distribution makes it available to you. Plasma is a fast-moving project, and bugs in one version are often fixed in the next one.

If you need support for Plasma 6.2.4, please contact your distribution, who bears the responsibility of providing support for older releases that are no longer supported by KDE.

If you can reproduce the issue after upgrading to a supported version, feel free to re-open this bug report.
Comment 2 Zamundaaa 2025-03-06 15:23:52 UTC
> As you are no doubt aware, when scaling the monitor you only have percentages to work with, and after applying a scaling factor, applications are given a resolution that is the product of the native resolution and the scaling percentage. 
No, scaling does not do that at all. It tells apps to render their contents in a different size, at the same resolution as before.

If you actually want to use a lower resolution, you can select a mode with that resolution.
Comment 3 Evert Vorster 2025-03-08 05:46:50 UTC
I made a small mistake in the bug report, stating that the version of Plasma was 6.2.4. The version of Plasma is actually 6.3.2, and of course this bug is present there too. This was plainly evident in the extra information that I included in the initial bug report. 

Actually, anyone that actually read the bug report with the intention of helping would realize that this bug is trivially replicated on any panel with a native resolution of 2560x1440.

I looked through the bug database for something similar, or even close, and nothing showed up. With no bug reports, there is a very low likelihood that there will be any changes in later versions of the same product. 
However, here is how to test for this bug locally:

1. On a display panel that has a native resolution of 2560x1440, enable that native resolution in display properties. 
2. In a terminal, run "xrandr" <- This produces a list of resolutions the monitor supports, with the active resolution marked with a "+"
  You can confirm that the active resolution of the screen equals its native resolution.
3. In Display properties, adjust scaling of this monitor to 130% <- This display now outputs 1969x1108 as it's active resolution.
4. In Display properties, adjust scaling of this monitor to 135% <- This display now outputs 1896x1067 as it's active resolution. 

As you can plainly see, there is no scaling option on this panel that outputs a resolution of 1920x1080 on xrandr. 
So, scaling absolutely positively does do that, mr. "not a bug"

I would like to use the higher native resolution of this built-in panel to avoid screen artifacts when I use the computer normally. Obviously I use my laptop for more than just gaming and screen recording, and then scaling on the native resolution of the monitor makes quite a huge difference, and is the preferred choice. 

However, the fullscreen resolution reported by xrandr is the resolution used by my screen recording software, as well as all the games that run in fullscreen mode. I would like the fullscreen resolution reported in xrandr to be 1920x1080 so that the footage captured from this scaled monitor does not get scaled again in the video editor.   Currently there is no way to position the scaling slider to get this fullscreen resolution, as I calculate that to be 133.3333333333%, and the slider only goes in 5% increments. 

It also does not accept it if I type in this percentage, rounding it down to 132.5%

At the moment I have actually set the monitor to the lower resolution as a workaround, but this is not ideal as there are artifacts on the screen when viewed at this resolution, because it is not the native resolution, and LCD panels scale between non-native resolutions quite poorly. 

Which was the whole reason for inventing scaling in the first place.
Comment 4 Nate Graham 2025-03-14 16:21:40 UTC
If you want a 1920x1080 resolution, you should buy a screen that uses an integer multiple of that resolution (i.e. 1080p or 4k). If you don't, then there is no way to achieve what you want without *some* blurriness or pixelation somewhere, because the physical pixels of the monitor you have don't match what you want.

The expected path forward here is to use the screen's native resolution and set an appropriate scale factor to scale everything to the desired size. As you already found, that number is 133.33% (repeating). You can set decimal scale factors using the `kscreen-doctor` command-line program, and you'll be able to do this using the GUI in Plasma 6.4 as well. However even this will be an *approximation* of what a real 1080p screen will show, since the system will be attempting to draw content using physical pixels that aren't exactly the right size. If we offered the option to fit the scaling to a target virtual resolution, it would be no different: there would still be the very same imperfect approximation of a different physical resolution.
Comment 5 Evert Vorster 2025-03-17 18:58:24 UTC
Hi Nate. Thanks for sharing the workaround for the scaling factor, and the promise of this being a feature in future releases of KDE.

As mentioned elsewhere in this bug report, the main purpose of wanting this 1080p when in fullscreen modes is for recording and editing it, not so much displaying it. 
Content made from this will be watched on other screens, after all. 

Also, as mentioned before in this ticket, the simplest way of achieving this now is to just set the screen resolution to 1080p. Unfortunately this means that I will see the artifacts _all the time_ when not recording. This is the whole reason that I love the scaling option, as the panel looks much better at native resolution with a scaling factor applied when I use my computer for other things. 

Now, one last thing... and this is just a nitpick: How is this not a bug? You acknowledged that it is not possible to set a scaling factor with the GUI for exactly 1080p on my panel at the moment, which is what the complaint was about. Really, this should be "Resolved upstream" or something like that. 

Anyways, thanks for the extra information. I'll go try your recommendations, and wait for the next version of KDE to be released.