Reputation: 1213
I've stripped the xserver configuration on my HiDPI laptop down to just:
displayManager
: lightdm (autologin, no greeter)windowManager
: xmonad desktopManager
: none (xterm disabled)And everything is working fine apart from DPI scaling in some places. Specifically: the cursor size and default tty font are both tiny. Apps - terminal emulators, Firefox, etc - are scaling fine as a result of my X settings (below).
Cursor size, and the slow movement that results, is the biggest pain.
So my question is: why would I see proper scaling in some places and not others? What is responsible for the cursor size and other "core" display stuff?
Stuff I've done/tried:
✓ services.xserver.dpi = 180;
(sets xserver
flag)
✓ .Xresources settings
Xft.dpi: 180
Xft.autohint: 0
Xft.lcdfilter: lcddefault
Xft.hintstyle: hintfull
Xft.hinting: 1
Xft.antialias: 1
Xft.rgba: rgb
✓ export GDK_SCALE=2
✓ export GDK_DPI_SCALE=0.5
✓ export XCURSOR_SIZE=32
✓ export QT_AUTO_SCREEN_SCALE_FACTOR=1
Relevant (?) GH issues:
Using NixOS 18.03
Upvotes: 11
Views: 4519
Reputation: 1213
Having struggled with this for a while, here are my conclusions...
Whatever black magic is at play making the mouse pointer do it's thing, it has no concern for DPI. In retrospect this seems kinda obvious. A mouse pointer moving across a screen is "lower-level" than a GUI application, such that DPI per se is irrelevant.
The fix? Bigger pointer icon (64x64 worked for me) and more sensitive movement (libinput Accel Speed
in my case).
Upvotes: 7