How to prevent stretching the image when the display resolution is lower than the resolution of the monitor?

I have a monitor which supports a resolution up to 3440x1440 (21:9).

Sometimes I don’t want to use the full width of the monitor, and therefore I set the resolution to 2560x1440 (16:9).

On Windows 10 this results in a smaller image on the screen and black padding on the sides.

On Fedora 36 with Gnome and Wayland it results in a stretched image.

I don’t know which component is responsible for the scaling/centering the image.
It might be the drivers, wayland or Gnome.

My video cards are:

[user@host ~]$ lspci -k | grep -EA3 'VGA|3D|Display'
00:02.0 VGA compatible controller: Intel Corporation HD Graphics 620 (rev 02)
	Subsystem: Lenovo Device 505c
	Kernel driver in use: i915
	Kernel modules: i915
--
01:00.0 3D controller: NVIDIA Corporation GM108M [GeForce 940MX] (rev a2)
	Subsystem: Lenovo Device 505c
	Kernel driver in use: nouveau
	Kernel modules: nouveau

Does somebody know how I can set up my screen to work like with Windows?

1 Like

Try to set the resolution to 2560x1080 (21:9). If still everything is to small, try to set a bigger font.
For the background you might have to resize (in percentage) the picture, and keep the relation on (21:9).

I guess you want to make a smaller resolution to get it more readable ?!

Thank you for your suggestion, but readability is not the issue.
The readability could be improved with the scaling option provided by Gnome.

I try to change the resolution to make the image slimmer.
In some situations, the ratio 16:9 (2560x1440) is more practical than 21:9 (3440x1440).

Of course, I can resize and center each application window, but on Windows I find it more practical because I just can lower the width.

1 Like

I am also looking for a similar solution to this problem, just on the other dimension. I have 1920x1200 displays that for purposes with OBS recording/streaming I would like to be able to set to 1920x1080. The inability to do so results in either having scaling artifacts and pillarboxing in OBS, or having to manually size application to fit the canvas exactly (which doesn’t work for fullscreen applications).

It would be ideal if there was a way maintain 1:1 scaling when changing display resolutions rather than stretching to fit the screen, though I don’t know if this is a hardware limitation with my displays or a GNOME issue.

Edit: I made a post on the GNOME Discourse about this as well: Change display resolution without stretching output - Desktop - GNOME Discourse