Gnome 44 Wayland - fractional scaling via terminal


Since Gnome 44 released, we’ve noticed that the default fractional scaling setting is set to 150%. Before it was 100%. For us, it’s a little annoying to change the setting manually back to 100%, when installing a new device with Gnome.

We’d like to automate the process and set the scaling to 100%, when we install the device via our configuration-management tool.

Is there a way, to change the default fractional scaling without the GUI? Being it a file or a gsettings command?
The command gsettings set org.gnome.desktop.interface scaling-factor 1 doesn’t work as expected.

I’ve followed the Arch-Wiki article: HiDPI - ArchWiki


You should note that in upstream GNOME 44, fractional scaling is still disabled by default. If you’re having problems with fractional scaling behaviour, the first thing you should consider is to restore the default setting (fractional scaling off); then GNOME will pick the most appropriate integer scale factor instead.

There is no way to force a default scale value desktop-wide in GNOME. This is because the scaling setting is a per-monitor setting, which is initialized for each monitor when that monitor is connected, based on EDID information. Windows does something similar. A lot of work has gone into choosing a reasonable default scaling factor. If the default is a poor choice for a particular monitor, please open an issue on the Mutter project. Provide information about why the selected scale factor is a bad choice for this monitor (problems with fractional scaling that affect any monitor, like blurry windows, are not appropriate to mention). A dump of the monitor EDID would be helpful too.

It is possible to manually edit the configuration to adjust the scale factor for a specific monitor: this information is stored in the file ~/.config/monitors.xml, created and used by GNOME Shell (Mutter). Set the <scale> value under <logicalmonitor> to 1. But this file isn’t created until the user logs in (and possibly not even until the user manually adjusts some monitor settings?), and the settings in the file apply to specific monitors identified by which GPU connector the monitor is on and the monitor’s EDID vendor, product, and serial number.

Because of the requirement to identify the monitor, you can only pre-configure monitor settings for the builtin display on a laptop and maybe a few specific displays that are known in advance like a common projector or shared dock. For example, you could have a template file for each laptop model and substitute in values looked up by having your configuration management tool parse the internal display’s EDID.

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