XRandR DPI on multihead linux
I have multiple screens with different correct DPI settings. I can use xrandr --dpi X
to change DPI for all screens, is it possible to set different DPI for each screen? How do I make apps recalculate font sizes when they are moved to a different screen? xrandr --dpi X
only affects new windows, old windows still use the old DPI value.
I haven't tried it out yet, but there is a good looking answer here which suggests using the xrandr
option scale
which should get you the effect you're after.
UPDATE: This does work, I've written summary instructions here.
I was able to solve this (with issues) using the details outlined in the following github discussion: https://github.com/linuxmint/Cinnamon/issues/3606
External Monitor QHD (2560X1440), Internal/Laptop Monitor 3200x1800
xrandr --output eDP-1 --scale 1x1 --pos 0x2880
xrandr --output DP-1 --mode 2560x1440 --scale 2x2 --fb 5120x4680
OR External Monitor FHD (1920x1080), Internal/Laptop Monitor 3200x1800
xrandr --output eDP-1 --scale 1x1 --pos 0x2160
xrandr --output DP-1 --mode 1920x1080 --scale 2x2 --fb 3840x3960
These work, but there is a significant amount to tearing in the high resolution monitor (laptop) when I move windows, resize screens or scroll on a browser. This feels like a software rending solution (which has all these issues of tearing, and slow refreshes).
Its 2017, Linux/Gnome needs to address the multi-monitor, mixed scaling solution. Both Windows 10 and OS X have this resolved without having to resort to command line band-aid fixes that partially work (the tearing issue isn't acceptable for gaming)
you can set different values for each screen with:
xrandr --output <Display1> --dpi X --output <Display2> --dpi Y
To se what are available use just xrandr
,to restart the font. I think you could turn off the display and turn it on again with with:
xrandr --output <Display1> --off
xrandr --output <Display1> --auto
but am not really sure