xrandr issue when panning second monitor

12,976

Solution 1

Only scaling and panning wont help. You have to specify the side of your external monitor. Please check my command, i am using external monitor to the right of my native laptop display. I have yoga 2 pro with resolution 3200x1800 and external FHD monitor. In my case i use xrandr panning option:

xrandr --output eDP1 --auto --output HDMI1 --auto --panning 3840x2160+3200+0 --scale 2x2 --right-of eDP1

Basically if your hidpi monitor is AxB pixels and your regular monitor is CxD and you are scaling by [ExF], the commandline for right-of is:

xrandr --output eDP1 --auto --output HDMI1 --auto --panning [C*E]x[D*F]+[A]+0 --scale [E]x[F] --right-of eDP1

Solution 2

The original post is old and probably few people concerns about this problem nowadays but i encountered the same problem on debian stretch (xorg-server 1.19) and somehow fixed it. so let me share my procedure.

My displays are main laptop LCD 3820x2160 + external ASUS MB16AC 1920x1080. I called xrandr like:

xrandr --output DP-4 --auto --fb 7680x2160 --output DP-5 --auto --fb 7680x2160 --panning 3840x2160+3840+0 --scale 2x2 --right-of DP-4

but mouse cursor couldn't go out of top-left quarter of external display.

It seems this xorg-server version has bug in constraining mouse cursor as someone has already pointed out. I applied patch to xorg-server package and building it. first, you need to download patch from https://cgit.freedesktop.org/xorg/xserver/commit/?id=d7297b00444b0e2cd936fbfb08206a575ab8c29d and save it as fixCursorConstraint.patch

apt-get source xorg-server
sudo apt-get build-dep xorg-server
cd xorg-server-1.19.2
patch -p0 < ../fixCursorConstraint.patch
debuild -b -uc -us
dpkg -i ../xserver-xorg-core_1.19.2-1+deb9u5_amd64.deb

and then you need to reboot and execute the xrandr command again.

Share:
12,976

Related videos on Youtube

daveoncode
Author by

daveoncode

Updated on September 18, 2022

Comments

  • daveoncode
    daveoncode over 1 year

    I'm using Linux Mint Cinnamon on a macbook (with HiDPI display), the primary monitor looks great but the second one (which is not an HiDPI monitor) is terrible... by using xrandr I forced it to scale 2x:

    xrandr --output HDM-1 --scale 2x2
    

    now it looks pretty good, but the pointer is limited to less than an half of the monitor (I can't move it to the right edge). So I tried to specify a panning:

    xrandr --output HDM-1 --panning widthXheight
    

    now I can move the cursor correctly, BUT once I defined the panning the primary monitor get mirrored... WTF?? I don't want to mirror the main monitor, but instead to have an extra one... what should I do?

    ps. moreover the pointer appears huge on the second monitor

    UPDATE:

    the full commands with related output are:

    retrieving monitor info:

    xrandr
    

    which prints:

    Screen 0: minimum 320 x 200, current 4800 x 1800, maximum 8192 x 8192
    eDP-1 connected primary 2880x1800+0+0 (normal left inverted right x axis y axis) 331mm x 207mm
       2880x1800      60.0*+
       1920x1200      59.9  
       1920x1080      60.0  
       1600x1200      59.9  
       1680x1050      60.0  
       1400x1050      60.0  
       1280x1024      59.9  
       1280x960       59.9  
       1152x864       60.0  
       1024x768       59.9  
       800x600        59.9  
       640x480        59.4  
       720x400        59.6  
       640x400        60.0  
       640x350        59.8  
    DP-1 disconnected (normal left inverted right x axis y axis)
    DP-2 disconnected (normal left inverted right x axis y axis)
    HDMI-1 connected 1920x1080+2880+278 (normal left inverted right x axis y axis) 531mm x 299mm
       1920x1080      60.0*+   50.0     59.9  
       1920x1080i     60.1     50.0     60.0  
       1680x1050      59.9  
       1600x900       60.0  
       1280x1024      75.0     60.0  
       1280x800       59.9  
       1152x864       75.0  
       1280x720       60.0     50.0     59.9  
       1440x576i      50.1  
       1024x768       75.1     60.0  
       1440x480i      60.1     60.1  
       832x624        74.6  
       800x600        75.0     60.3  
       720x576        50.0  
       720x480        60.0     59.9  
       640x480        75.0     60.0     59.9  
       720x400        70.1  
    VGA1 disconnected (normal left inverted right x axis y axis)
    VIRTUAL1 disconnected (normal left inverted right x axis y axis)
    

    apply the scaling+panning to the second monitor:

    xrandr --output HDMI-1 --scale 2x2 --panning 1920x1080 --verbose
    

    and this is the output:

    screen 0: 6720x2438 1777x644 mm  96.05dpi
    crtc 3:    1920x1080   60.0 +2880+278 "HDMI-1"
    
    • Admin
      Admin about 9 years
      Yes, Actually I did exactly that
    • Admin
      Admin almost 9 years
      I've updated the question including full xrander output
  • Trevor Rudolph
    Trevor Rudolph almost 8 years
    what is the formula for left-of ?? sorry for repost
  • MageWind
    MageWind over 7 years
    I think this should work, but there's a bug with it currently. bugs.launchpad.net/ubuntu/+source/xorg-server/+bug/883319
  • jsls
    jsls about 5 years
    This works, but the mouse pointer on my laptop can disappear into the abyss below it now?
  • jsls
    jsls about 5 years
    (it treats it as one big screen now)
  • tocallaghan
    tocallaghan almost 5 years
    @KarlMorrison did you manage to fix your mouse pointer disappearing into the abyss? I'm having the same issue