Qubes-Community-Content/docs/customization/dpi-scaling.md
2018-04-15 08:25:38 +03:00

2.1 KiB

DPI scaling

Qubes OS passes on dom0's screen resolution to VMs (this can be seen in the output of xrandr) but doesn't pass on dom0's dpi value. Recent distributions have automatic scaling depending on the screen's resolution (eg. in fedora if the vertical resolution is greater than 1200px) but for a variety of reasons one may have to set a custom dpi scaling value.

Dom0

The simplest way to set dpi scaling in dom0 is to use the desktop environment's custom dpi feature:

  • Xfce: Qubes Menu → System Tools → Appearance → Fonts tab: Custom DPI setting: xxx
  • KDE: Qubes Menu → System Settings → Font → Force font dpi: xxx

VMs

We'll make use of the Xft.dpi X resource in VMs. Most toolkits and applications honor it so it is the prefered way to set dpi scaling instead of using toolkit-specific features.

Get the current value of Xft.dpi:

xrdb -query | grep Xft.dpi

Test with a different dpi value: in a terminal issue the following command and then start an application to check that the menus/fonts' size is increased/decreased (replace '144' accordingly with a number that is a multiple of 6 as numbers that aren't sometimes result in annoying rounding errors that cause adjacent bitmap font sizes to not increment and decrement linearly):

echo Xft.dpi: 144 | xrdb -merge

Once you found a value that fits your setup you'll likely want to permanently set the dpi Xresource. You can do so on a per-template or per-VM basis:

  • add (or modify) Xft.dpi: xxx in the TemplateVM's Xresource file (/etc/X11/Xresources or /etc/X11/Xresources/x11-common for whonix-ws-template).
  • or, add Xft.dpi: xxx to $HOME/.Xresources in each AppVM.

Note for R3.2: the Xft.dpi resource should work but if you have issues you may want to try the following (replace 2 and 0.75 accordingly):

gsettings set org.gnome.desktop.interface scaling-factor 2
gsettings set org.gnome.desktop.interface text-scaling-factor 0.75

Resources

Related official issue: https://github.com/QubesOS/qubes-issues/issues/1951

Contributors: @taradiddles