fakexrandr
fakexrandr copied to clipboard
Display split canceled
I'm using the Matrox triplehead2go with 2 Dell displays connected via display-port to my Alienware laptop running Arch Linux. I installed the fakexrandr from AUR.
The way that the triplehead2go lets my displays to connect properly is to have them activate first and wait a little and then activate the main laptop display. The fakexrandr works nicely splitting the two displays to separate screens in xrandr as DP2~1 and DP2~2. However when the main display is connected back, the external displays are then recognized as a single screen as DP2.
Here is the command I use to connect the displays.
xrandr --output DP2 --mode 3840x1080 --rate 50 --primary --output LVDS1 --off && sleep 15 && xrandr --output LVDS1 --auto --pos 960x1080
So first the two external screens are connected and the laptop screen is turned off. Then after the triplehead2go finishes its work in configuring the displays and the image appears the laptop screen is connected.
I have tried connecting them all at the same time, but then the image never appears to the external screens (with or without fakexrandr). xrandr does show them as DP2~1 and DP2~2 though.
Does the output of fakexrandr-manage.py show-available change when you reconnect the main display? Did you configure the tool with or without the main display connected?
initial output
fakexrandr-manage show-available
sys:1: PyGIWarning: Gtk was imported without specifying a version first. Use gi.require_version('Gtk', '3.0') before import to ensure that the right version gets loaded. NAME="LVDS1" EDID=00ffffffffffff004ca348540000000000140104902917780ac8959e575492260f505400000001010101010101010101010101010101293680a070381f401810250099e61000001a1c2480a070381f401810250099e61000001a000000fe00484754334a8031383448540a2000000000000041019e0000000002010a202000a8 WIDTH=1920 HEIGHT=1080 SPLITS="N"
xrandr
Screen 0: minimum 8 x 8, current 3840 x 2160, maximum 32767 x 32767
LVDS1 connected 1920x1080+960+1080 (normal left inverted right x axis y axis) 409mm x 230mm
1920x1080 60.00*+ 40.00
1400x1050 59.98
1600x900 60.00
1280x1024 60.02
1280x960 60.00
1368x768 60.00
1280x720 60.00
1024x768 60.00
1024x576 60.00
960x540 60.00
800x600 60.32 56.25
864x486 60.00
640x480 59.94
720x405 60.00
640x360 60.00
DP1 disconnected (normal left inverted right x axis y axis)
DP2 connected primary (normal left inverted right x axis y axis)
3840x1080 59.93 50.00
1920x1200 59.95
1920x1080 60.00
1600x1200 60.00
2560x720 50.00
1680x1050 59.88
1280x1024 60.02
1440x900 59.90
1280x960 60.00
1024x768 60.00
800x600 60.32 56.25
640x480 60.00
DP3 disconnected (normal left inverted right x axis y axis)
HDMI1 disconnected (normal left inverted right x axis y axis)
HDMI2 disconnected (normal left inverted right x axis y axis)
HDMI3 disconnected (normal left inverted right x axis y axis)
VGA1 disconnected (normal left inverted right x axis y axis)
VIRTUAL1 disconnected (normal left inverted right x axis y axis)
output in middle
fakexrandr-manage show-available
sys:1: PyGIWarning: Gtk was imported without specifying a version first. Use gi.require_version('Gtk', '3.0') before import to ensure that the right version gets loaded. NAME="DP2" EDID=00ffffffffffff0036981308e6876c511e13010380000078e81ee5a3574b9c25115054230800d1c0b300a940950081808140d1000101346c0040f1381f40404039003a304100001a465a0040f1381f40404033003a304100001a023a0078a5d01e20f0f05f00d1cb2000001e0000000000000000000000000000000000000058 WIDTH=3840 HEIGHT=1080 SPLITS="N"
xrandr
Screen 0: minimum 8 x 8, current 3840 x 1080, maximum 32767 x 32767
LVDS1 connected (normal left inverted right x axis y axis)
1920x1080 60.00 + 40.00
1400x1050 59.98
1600x900 60.00
1280x1024 60.02
1280x960 60.00
1368x768 60.00
1280x720 60.00
1024x768 60.00
1024x576 60.00
960x540 60.00
800x600 60.32 56.25
864x486 60.00
640x480 59.94
720x405 60.00
640x360 60.00
DP1 disconnected (normal left inverted right x axis y axis)
DP2~1 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
1920x1080 50.00* 60.00
3840x1080 59.93 50.00
1920x1200 59.95
1600x1200 60.00
2560x720 50.00
1680x1050 59.88
1280x1024 60.02
1440x900 59.90
1280x960 60.00
1024x768 60.00
800x600 60.32 56.25
640x480 60.00
DP2~2 connected 1920x1080+1920+0 (normal left inverted right x axis y axis) 0mm x 0mm
1920x1080 50.00* 60.00
3840x1080 59.93 50.00
1920x1200 59.95
1600x1200 60.00
2560x720 50.00
1680x1050 59.88
1280x1024 60.02
1440x900 59.90
1280x960 60.00
1024x768 60.00
800x600 60.32 56.25
640x480 60.00
DP3 disconnected (normal left inverted right x axis y axis)
HDMI1 disconnected (normal left inverted right x axis y axis)
HDMI2 disconnected (normal left inverted right x axis y axis)
HDMI3 disconnected (normal left inverted right x axis y axis)
VGA1 disconnected (normal left inverted right x axis y axis)
VIRTUAL1 disconnected (normal left inverted right x axis y axis)
output when the main display is turned back on
fakexrandr-manage show-available
sys:1: PyGIWarning: Gtk was imported without specifying a version first. Use gi.require_version('Gtk', '3.0') before import to ensure that the right version gets loaded. NAME="LVDS1" EDID=00ffffffffffff004ca348540000000000140104902917780ac8959e575492260f505400000001010101010101010101010101010101293680a070381f401810250099e61000001a1c2480a070381f401810250099e61000001a000000fe00484754334a8031383448540a2000000000000041019e0000000002010a202000a8 WIDTH=1920 HEIGHT=1080 SPLITS="N"
xrandr
Screen 0: minimum 8 x 8, current 3840 x 2160, maximum 32767 x 32767
LVDS1 connected 1920x1080+960+1080 (normal left inverted right x axis y axis) 409mm x 230mm
1920x1080 60.00*+ 40.00
1400x1050 59.98
1600x900 60.00
1280x1024 60.02
1280x960 60.00
1368x768 60.00
1280x720 60.00
1024x768 60.00
1024x576 60.00
960x540 60.00
800x600 60.32 56.25
864x486 60.00
640x480 59.94
720x405 60.00
640x360 60.00
DP1 disconnected (normal left inverted right x axis y axis)
DP2 connected primary (normal left inverted right x axis y axis)
3840x1080 59.93 50.00
1920x1200 59.95
1920x1080 60.00
1600x1200 60.00
2560x720 50.00
1680x1050 59.88
1280x1024 60.02
1440x900 59.90
1280x960 60.00
1024x768 60.00
800x600 60.32 56.25
640x480 60.00
DP3 disconnected (normal left inverted right x axis y axis)
HDMI1 disconnected (normal left inverted right x axis y axis)
HDMI2 disconnected (normal left inverted right x axis y axis)
HDMI3 disconnected (normal left inverted right x axis y axis)
VGA1 disconnected (normal left inverted right x axis y axis)
VIRTUAL1 disconnected (normal left inverted right x axis y axis)
As you can see the external displays turn off when the main display is turned back on. This does not happen without fake xrandr. Without it the displays stay on. I configured everything with all three displays connected and on. I used terminal configuration as the GUI doesn't work for me.
here is my configuration
fakexrandr-manage dump-config
sys:1: PyGIWarning: Gtk was imported without specifying a version first. Use gi.require_version('Gtk', '3.0') before import to ensure that the right version gets loaded. NAME="DP2" EDID=00ffffffffffff0036981308e6876c511e13010380000078e81ee5a3574b9c25115054230800d1c0b300a940950081808140d1000101346c0040f1381f40404039003a304100001a465a0040f1381f40404033003a304100001a023a0078a5d01e20f0f05f00d1cb2000001e0000000000000000000000000000000000000058 WIDTH=3840 HEIGHT=1080 SPLITS="V 1920 N N"
What happens if you try to reenable the screen using
xrandr --output DP2 --mode 3840x1080 --rate 50 --primary --output LVDS1 --off && sleep 15 && xrandr --output DP2 --mode 3840x1080 --rate 50 --primary --output LVDS1 --auto --pos 960x1080
instead, i.e., explicitly repeat the activation command for DP2?
The results are as if the first part of the commands were never given aka the external displays never turn on.