phillipberndt / fakexrandr

Fake XRandR configurations for multi-head setups with crappy video drivers, like fakexinerama but with xrandr
270 stars 40 forks source link

Allow splitting of screens that don't have an EDID #35

Open ulope opened 7 years ago

ulope commented 7 years ago

I'm trying to use fakexrandr on Ubuntu 16.04 running in VMWare.

Installation went fine and ldd xrandr shows it's using the new libxrandr. However fakexrandr-manage show-available shows no output and the dropdown in the gui version is also empty.

Output of xrandr:

~$ xrandr
fakexrandr/mmap(): Invalid argument
Screen 0: minimum 1 x 1, current 1280 x 1024, maximum 16384 x 16384
Virtual1 connected primary 1280x1024+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
   800x600       60.00 +  60.32
   2560x1600     59.99
   1920x1440     60.00
   1856x1392     60.00
   1792x1344     60.00
   1920x1200     59.88
   1600x1200     60.00
   1680x1050     59.95
   1400x1050     59.98
   1280x1024     60.02*
   1440x900      59.89
   1280x960      60.00
   1360x768      60.02
   1280x800      59.81
   1152x864      75.00
   1280x768      59.87
   1024x768      60.00
   640x480       59.94
Virtual2 disconnected (normal left inverted right x axis y axis)
Virtual3 disconnected (normal left inverted right x axis y axis)
Virtual4 disconnected (normal left inverted right x axis y axis)
Virtual5 disconnected (normal left inverted right x axis y axis)
Virtual6 disconnected (normal left inverted right x axis y axis)
Virtual7 disconnected (normal left inverted right x axis y axis)
Virtual8 disconnected (normal left inverted right x axis y axis)

Is this expected to not work in a VM or am I doing something wrong?

phillipberndt commented 7 years ago

Fakexrandr relies on an identifier of each monitor (the so called EDID) to detect when to split an output. The virtual device does not have an EDID, hence the issues.

It would be a good idea to reintroduce a "catch-all EDID" to the configuration that allows to work around this issue. I won't implement this in the near future at least, because I don't even find time to look into #16 which is by far the most important outstanding bug. As a workaround, you could use the hard_coded_splits branch - the difference to master is that it does not try to be overly intelligent, it just splits the screen once if it finds a hardcoded resolution.

ulope commented 7 years ago

Ok thanks a lot for the pointer, I'll try the other branch.