I have two screens:

  1. 4K, HDMI-0
  2. 1680x1050, DVI-1

HDMI-0 is left of DVI-1. DVI-1 is rotated physically 90 degrees clockwise ( --rotate left will make it rotate correctly to fit the physical rotation).

I want to scale the two displays properly and keep the rotations. How do I do this?

Here's what I've experimented with:

Experiment 1:

xrandr --output DVI-1 --rotate normal --mode 1680x1050 --scale 2x2 --panning 3360x2100+3840+0 --fb 7200x2160 --pos 3840x0 --output HDMI-0 --mode 3840x2160 --scale 1x1

This will make both screens be side-by-side and not rotated. On DVI-1, the pointer can go past the bottom of the screen for a few pixels (~30 pixels?), however, when highlighting the screen area, the highlight only goes to just above the bottom of the screen (probably like 40 pixels).

Experiment 2:

xrandr --output DVI-1 --mode 1680x1050 --rotate left --scale 2x2 --panning 2100x3360+3840+0 --fb 5940x3360 --pos 3840x0 --output HDMI-0 --mode 3840x2160 --scale 1x1

This will rotate DVI-1 correctly but the scale will be wrong. It will be the original scale but the screen size for DVI-1 is doubled so when the mouse goes to the right or bottom edge of the screen, the screen will pan around the area of 2100x3360 but the view-port of the display will only display 1050x1680 of the screen. (Just like panning around the map in an RTS game).

I am using Kubuntu 18.04.

This question is similar to Configure 3 screens/dual graphic/rotated screens Ubuntu 15.10 although that has 3 screens, and resolution problems as well.

  • xrandr transforms all its options in a final homogeneous transformation matrix (which for 2D is a 3x3 matrix). So you could do the maths beforehand and use a final --transform option. I'm not sure if the total virtual screen size is correctly increased by xrandr.
    – A.B
    Oct 12, 2019 at 10:30


This site is temporarily in read-only mode and not accepting new answers.

Browse other questions tagged .