Create a gist now

Instantly share code, notes, and snippets.

Extend non-HiDPI external display above HiDPI internal display
# extend non-HiDPI external display on DP* above HiDPI internal display eDP*
# see also
# you may run into
EXT=`xrandr --current | sed 's/^\(.*\) connected.*$/\1/p;d' | grep -v ^eDP | head -n 1`
INT=`xrandr --current | sed 's/^\(.*\) connected.*$/\1/p;d' | grep -v ^DP | head -n 1`
ext_w=`xrandr | sed 's/^'"${EXT}"' [^0-9]* \([0-9]\+\)x.*$/\1/p;d'`
ext_h=`xrandr | sed 's/^'"${EXT}"' [^0-9]* [0-9]\+x\([0-9]\+\).*$/\1/p;d'`
int_w=`xrandr | sed 's/^'"${INT}"' [^0-9]* \([0-9]\+\)x.*$/\1/p;d'`
off_w=`echo $(( ($int_w-$ext_w)/2 )) | sed 's/^-//'`
xrandr --output "${INT}" --auto --pos ${off_w}x${ext_h} --scale 1x1 --output "${EXT}" --auto --scale 2x2 --pos 0x0

How do you change this to be right of the main display? eDP1


@JherezTaylor add ``--right-of eDP1to the end of finalxrandr`

a123qwertz567 commented Nov 10, 2016 edited

I came here by the ArchWiki article "HiDPI". Maybe you can help me...I came here to ask because I am not sure to which forum I should go. If I get a hint I will post at another place....

Your script isn't really working for me now but this (from the wiki) works for me:
xrandr --output eDP-1 --auto --output HDMI-1 --auto --panning 3840x2160+3840+0 --scale 2x2 --right-of eDP-1
BUT my hardware setup would need a --left-of. But with by replacing right with left I get a non-good result. I am not sure if it is a panning thing. Still not sire how this works. I think --left-of doesn't make a big difference.

EDIT: Specify "non-good": HiDPI screen fine all the time. LowDPI(FullHD) screen is broken. It is like the screen 4k in the "background". When I go over to the screen around the mouse it is like a zoom rectangle of the size 1920x1080 on the 4k "bachground"....This is difficult to discribe or so screenshot.... :(

raininja commented Jan 4, 2017

I also get a "bad" result on my Asus 1920x1080 device. . . I also require a "left of" configuration. . . looking at these sed scripts. . . I wonder if there is a cleaner method. . .

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment