Bug 470628

Summary: Unable to configure "ScalingMode" drm property
Product: [Applications] systemsettings Reporter: NW <nw9165-jjnfov5mav>
Component: kcm_kscreenAssignee: kscreen-bugs-null <kscreen-bugs-null>
Status: CONFIRMED ---    
Severity: wishlist CC: nate, plasma-bugs-null, xaver.hugl
Priority: NOR    
Version First Reported In: 5.27.5   
Target Milestone: ---   
Platform: unspecified   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description NW 2023-06-04 13:37:46 UTC
Hi,

On KDE Plasma 5.27.5 on Linux (both with Wayland and X), when going to "System Settings -> Display and Monitor -> Display Configuration", there is no setting to adjust the screen size and position. Only the resolution can be adjusted.

To elaborate:

When using a monitor with a size of 48 inches and a native resolution of 3840x2160 pixels for example, selecting a resolution of 1920x1080 in KDE Plasma for example, will result in the monitor upscaling the 1920x1080 image to it's full 3840x2160 pixels, meaning the screen size will still be 100% (48 inches).

That in itself is not a problem. And it is the correct default behavior for most use-cases.

However:

An option should be added which allows to display the image as is, i.e. without scaling.

When enabling that option, the 1920x1080 image would be displayed pixel by pixel and centered on the 3840x2160 "canvas", i.e. would only take up a quarter of the monitor's size, i.e. would result in a 24 inch picture.

In this case, KDE Plasma would still send a 3840x2160 signal to the monitor, but would only draw 1920x1080 pixels.

This would allow to use large TVs as computer monitors at a shorter viewing distance.

Such an option already exists in the Intel/AMD/NVIDIA graphics control panels on MS Windows.

Additionally, an option should be added which allows to change the position of the pixel by pixel image, so that the image can be moved around freely, instead of limiting it to a centered position.

This would allow to move the image up and down (and left and right) and essentially would allow to perform height adjustments on monitors/TVs which do not have a height adjustable stand.

Submitting this into the "kwin" queue. If it needs to be moved to a different queue, please feel free to move it to the appropriate queue.

Regards
Comment 1 NW 2023-06-08 01:09:33 UTC
Hi,

Thanks for setting this to confirmed.

Apparently the title was renamed from:

* "Unable to configure screen size and position"

to:

* "Option to use less than screen's native resolution with the picture displayed at 100% scale and centered within the screen, rather than expanded to fit it"

Changing it back to "Unable to configure screen size and position", because the original comment (comment #0) also includes the following:

> Additionally, an option should be added which allows to change the position
> of the pixel by pixel image, so that the image can be moved around freely,
> instead of limiting it to a centered position.
> 
> This would allow to move the image up and down (and left and right) and
> essentially would allow to perform height adjustments on monitors/TVs which
> do not have a height adjustable stand.

Please feel free to comment if the positioning part should be submitted separately. 

Regards
Comment 2 NW 2023-06-08 21:31:09 UTC
PS:

According to https://drmdb.emersion.fr/properties/3233857728/scaling%20mode there already seems to be a "ScalingMode" drm property for this.

Which can be set to:

* None
* Full
* Center
* Full Aspect

This is exactly what already exists on MS Windows and is what was meant with:

> Such an option already exists in the Intel/AMD/NVIDIA graphics control
> panels on MS Windows.

But KDE Plasma does not have a UI setting to adjust it.

It could be added to "System Settings -> Display and Monitor -> Display Configuration", via an additional drop-down, similar to the already existing "RGB Range" drop-down.

KDE Plasma also already seems to be aware of this "ScalingMode" drm property in some way, according to:

* https://invent.kde.org/plasma/kwin/-/blob/master/src/backends/drm/drm_connector.cpp

But there is no UI setting for it in "System Settings -> Display and Monitor -> Display Configuration".

It would be appreciated if a "Scaling Mode" drop-down could be added to  "System Settings -> Display and Monitor -> Display Configuration" to adjust this drm property.

Changed the title from:

* "Unable to configure screen size and position"

to:

* "Unable to configure "ScalingMode" drm property"

Regards
Comment 3 Zamundaaa 2023-06-09 12:54:39 UTC
The scaling mode property stays as it is, it's quite broken, at least with amdgpu.
Comment 4 NW 2023-06-09 21:15:30 UTC
Hi,

If the "ScalingMode" drm property is not a valid option and it instead needs to be implemented by KDE Plasma, it would likely be beneficial. Because this then would probably allow more flexibility and would probably also allow to implement the positioning feature mentioned earlier.

Being able to adjust the position of the pixel-by-pixel image (i.e. image that has lower than native resolution but is still being displayed pixel-by-pixel), would be very helpful.

Some newer Samsung 4K (3840x2160) 16:9 TVs (for example) have a built-in feature, which allows to set the resolution to 3840x1080 for a 32:9 aspect ratio and then allows to move the image to the top or middle or bottom of the TV screen, to basically mimic a height adjustable stand. It's explained in the following video, starting at 02:59 mins (and 04:31 mins):

* https://www.youtube.com/watch?v=L9u7nYAM5OU

If this could be implemented via KDE Plasma, it would be very helpful. Especially if KDE Plasma would allow to set any resolution and would allow to move around / position the image freely.

Because then this feature would no longer be limited to some TVs only but could essentially be used on any TV. And it would essentially allow to put a large TV onto a desk and use it as a regular computer monitor (with smaller image for the shorter viewing distance) and would allow to height adjust the image (which otherwise would not be possible due to most TVs not having a height adjustable stand).

Regards