Text & UI Scaling
There's two big elements to scaling that need to be accommodated so people can make best use of their systems: display scaling (so that the overall UI optimally fits the resolution of their current display), and text scaling (all text being displayed at a size that is legible). Both are used either in unison or separately for better or increased UI legibility on GNOME.
Other platforms support a wide range of options for display scale and text size, both for accessibility and hardware support.
Problems
- text scaling (specifically the Large Text, a11y feature) is being used by people as a stop-gap for non-optimal UI scaling on their devices with dense displays [1]
- others have been lowering the resolution of their display so the UI is "scaled" and more legible as a workaround to their scaling factor not being available
- integer scaling is insufficient for many display types--namely laptops where there are non-integer multiple of base HD resolution sizes on a given display, e.g. 2560x1600 (1280x800@2), 3200x1800 (1600x900@2) which are both 720p+-- where they need to be scaled up to an integer value and scaled down to fit.
Goals
- support fractional scaling to better accommodate display diversity (and a11y needs)
- support greater Font Size options to give more flexibility in the a11y option for text
- insure other modules (e.g. the Shell) support changes in text and UI scale options and display correctly
Font Scaling
Currently the Large Text setting is the only text-scaling settings exposed in the UI and it simply sets a 1.25 scaling factor. People who may want to change the font size of the UI may want more granularity here to accommodate their vision. There is an issue filed about expanding this support and bringing over the already existing font scaling options from Tweaks into gnome-control-center proper. Here some updated designs will be needed for how to present expanded text scaling and replace the single switch for "Large Text".
Some concerns:
- non-GTK applications don't follow the font scaling setting: GNOME/gnome-tweaks#375 (closed)
Fractional (UI) Scaling
Experimental Mutter Feature
There is an experimental mutter feature scale-monitor-framebuffer
that allows for more options to be shown in Settings:
the coordinate space for each monitor is scaled according to their individual scaling factor, and instead of having GNOME Shell manually drawing itself twice as large, it draws itself with an unchanged logical size, but uses higher resolution images or font caches. [2]
It's been relegated to being experimental because of concerns about legacy applications not being properly displayed or appearing blurry bu users can nonetheless enable this feature manually.
I believe there's some work underway to better enable x11 applications to run under wayland via "Xwayland rootful".
New UI in Settings
Allan has already made designs for a settings UI that presents fractional scaling options which there is already progress towards implementing. (The big caveat here is this is only still seen with the experimental feature enabled!)
Related Issues
Other Material
- Old Wiki Initiative: https://wiki.gnome.org/Initiatives/FracionalScaling