I am trying to set up proper multi-monitor HiDPI scaling on Xubuntu, on a laptop and an external screen (HP 24w). Both are 1920x1080, but the laptop is 14" while the external monitor is 20". The ideal scaling would be an 1.5x zoom on my laptop (otherwise everything is too small), and 1.0x on my external screen, and the latter above the former.

Since I would like to use dwm as my window manager (that has no individual DPI settings) over Xorg, I first set Xft.dpi: 144 for a system-wide 1.5 upscaling (this works as expected: everything looks good on the laptop, and everything is huge on external screen), and now I am trying to scale back the external display using xrandr. After browsing a lot of solutions and reading the man pages, I came up with the following command:

xrandr --dpi 144 --fb 2880x2700 \
       --output HDMI-1-1 --mode 1920x1080 --pos 0x0 --scale 1.5x1.5 \
       --output eDP-1-1 --mode 1920x1080 --pos 0x1620 --scale 1x1

Which (in my interpretation) should do the following: create a single virtual screen, give the top 3/5 of the virtual screen, scaled down by 2/3, to the external screen; and show the remaining bottom 1920x1080 pixels on the laptop screen without rescaling.

It almost does this, except that there seems to be no effect of the --scale 1.5x1.5 command on the external screen: there is a huge overscan, the bottom and the right part of the top image is outside the physical external screen.

Am I missing something here? This seems to be a solvable problem based on my googling, but I could not succeed with the above. What am I doing wrong? I am quite new at this.


I finally fixed this: the problem was with the proprietary NVIDIA drivers. Using the nouveau driver it worked perfectly.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.