Distributed Multihead X and overall X concept - experiences and problems

Oliver Schäfer oliver.schaefer at desy.de
Wed May 7 14:43:56 PDT 2014


like many others, I tried to get going with Xdmx to hang screens on 
different computers together.

My concrete setup is:

- a Debian Wheezy PC with an older Radeon 4850 chipset and two monitors 
connected via DVI and VGA
- a Raspberry Pi with one monitor
- all monitors have 1280x1024 size

Both are set to maximum possible common ColorDepth of 16. (My Raspberry 
Pi seems to have issues with 24 bit and LXTerminal).

Both computers have some kind of Debian Wheezy with the respective 
normal Xdmx package installed.

Both computers are directly connected in a local network, where the PC 
is disp0 and the RPi is disp1.
Having configured my window manager (KDE) to listen on remote Ports (no 
listen tcp false in kdmrc), this works to some extent.

Now with the command:
startx -- /usr/bin/X11/Xdmx :1 -configfile xdmx.conf -config quad_config 
-ignorebadfontpaths +xinerama -norender -param XkbModel microsoft -param 
XkbLayout de -noglxproxy

and xdmx.conf:
# xdmx.conf  - Xdmx configuration file
# triple config setup 3x1

virtual quad_config {
   display "disp0:0"  2560x1024 @0x0;
   display "disp1:0"  1280x1024 @2560x0;

this "kind of works": A new KDE desktop is started, the two monitors of 
disp0 share one desktop background picture and disp1 has a second, 
different one.
I can start programs and shift their windows onto the disp1 screen. 
However the mouse only reaches the first/zero's pixel column of that 
screen. The keyboard is working also on disp1, as sometimes Windows are 
created on that screen, which I can operate by keyboard. I also can 
"take over" the cursor with the mouse connected to the Raspberry Pi. I 
cannot click with that mouse, merely move the cursor on disp1. If I move 
the PC-mouse, the cursor jumps back to the screens of disp0, however.

I guess the problems come from a conflict between RandR and the Xinerama 
option. Without the latter, Xdmx doesn't work at all. The bootup of 
KDesktop (progress bar) simply dies on the last quarter and Xdmx hangs 
in limbo, neither crashing nor working.

I tried to be clever and do everything very basically. I started two 
individual X-servers (Xorg :1 and Xorg :2) with each a different server 
layout and only one of the monitors enabled. I used fvwm as client. 
RandR was also clever and cloned the second output. So I used the arandr 
tool to disable one in each X-server.
With these two servers set up, I tried to make a Xinerama-screen using 
Xdmx only locally on disp0:

startx /usr/bin/fvwm -- /usr/bin/Xdmx :3 -display disp0:1 -display 
disp0:2 +xinerama -norender -ignorebadfontpaths

However, no success, the screen goes black after changing with 
Ctrl+Alt+F8/F9 and a new fvwm is not started. I thought that combining 
the screens with Xinerama first and then combining this with the RPi 
screen via network and Xinerama might work better, but this I can't test 
due to the first step not working.

Now, as Xinerama is (was supposed to be) replaced by RandR, why does 
Xdmx not support this official way to combine screens?

Locally, using RandR indirectly through kdm and without Xdmx everything 
is fine. I have two screens on my radeon card with one Desktop stretched 
over both screens and can even select different background pictures and 
shift Windwos between both screens. That's fine. However it would 
greatly extend flexibility if distributed multihead would work in that 
way, too (so I could have three different background pictures, or 
stretch one over all three monitors at will).

I also tried to hang both systems together by ssh -X connection from the 
PC to RPi (using localhost:0.0 and localhost:10.0 as displays), however 
the result is the same as with the less secure option.

I intend to use chromium, too, as programs like glxgears don't work on 
the usable part of Xdmx. As the pure Xdmx solution doesn't even work, 
yet, this seems to be far in the future.

I write this merely, because it is very hard to find a real status of 
the concept for these kinds of usecase and many problems with Xdmx 
remain unanswered on the web.

The intention is to build a wall of Monitors with a Raspberry Pi each as 
a cheap daughter X-server. Thus one could have a large available desktop 

I hope you can help me and others further with this,
best regards,

More information about the xorg mailing list