Change display resolution without stretching output

I ran a few searches and didn’t see this issue brought up, but let me know if I missed any. I’m also not sure if this is a hardware limitation and/or compositor feature.

Presently when changing display resolutions, the resulting output will stretch to fit the display. Is there a GNOME option to configure 1:1 mapping of the output so that the display becomes {letter,pillar,window}boxed when set to a reduced resolution rather than stretched? I’d like to avoid the use of command line tools like xrandr or similar for Wayland (if they exist).

My use case for this is for screen recording and streaming purposes. I have a multi-monitor setup where my side displays are 16:10, e.g. 1920x1200. I would like to have a 1:1 capture:viewing configuration for what most end-users would be experiencing (to reduce scaling artifacts), so in OBS I have my canvas configured to 1920x1080 for 16:9 capturing. This forces me into one of a few options:

  • Scale the display capture down to fit the canvas
  • Manually resize the windows to fix the canvas exactly

The former option is the only viable option when capturing fullscreen applications if no display content is to be lost, but results in scaling fuzziness as it’s not 1:1 and pillarboxes the capture. The latter option can be doable for windowed applications but is far from ideal. The easiest solution is to configure the display itself to be the proper resolution, which I can do, however dealing with a stretched display is fatiguing on the eyes and not conducive to a pleasant user experience. I’d much rather prefer my display be {letter,pillar,window}boxed itself and maintain 1:1 display pixel sizing rather than stretched to fit.

As a small follow-up, here’s a quick demonstration of how other platforms handle this. On Windows, the reduced display will be boxed to maintain a 1:1 pixel mapping of the display. There is no stretching or warping of the resulting image, and applications respect the new display bounds. The only change I was able to see was that the display had its refresh rate reduced from 75Hz to 60Hz while not at native resolution.

Another Fedora user brought this up a month ago with a similar goal, just on the opposite dimension. I’m not sure of the process, but where would be the best place to log a feature request for this, Mutter’s GitLab issues?

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.