Lenovo i3 multiscreen xrandr
So i wanted to to get a multiscreen setup to work with a lenovo laptop in a dockingstation (one external monitor connected via HDMI $EXT2
and one via VGA $EXT
), so there is a total of three monitors (including the internal one $INT
).
When changing the configuration via xrandr
(e.g. enable two external ones and disable internal one) i faced the error configure crtc X failed
and the configuration was not applied correctly.
Searching for xrandr configure crtc failed with three monitors
brought up enough results, but none of the solutions (like specifying --crtc X
) worked.
In some threads, arandr
is suggested to explore options visually. Interestingly enough, arandr
was able to switch to the desired configuration. When looking at the resulting xrandr
command, i saw that it switched the configuration in multiple steps.
So it seems that xrandr
cant switch three sources at once (not sure under which conditions) so the solution in my script was to:
- enable one external monitor (and check if it worked)
- if it worked, turn off internal monitor (avoids having no monitor active)
- enable second monitor as well
The script then looks like this:
xrandr --addmode $EXT2 $EXTRES2 || exit 1
xrandr --addmode $EXT $EXTRES || exit 1
xrandr --output $EXT2 --auto --mode $EXTRES2 --primary --scale 1x1
ret_code=$?
if [ $ret_code -eq 0 ]; then
xrandr --output $INT --off
fi
xrandr --output $EXT --auto --mode $EXTRES --right-of $EXT2
One problem that was left was that the i3 tiling window manager would not put the i3status bar on the primary screen. Luckily i found the solution here, in ~/.config/i3/config
add the line for tray_output