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
Hi,
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
area.
I hope you can help me and others further with this,
best regards,
Oliver
More information about the xorg
mailing list