Basic Video Wall Setup Tutorial
This tutorial covers how to set up a 2 node video wall with Debian Squeeze 6.0. The video wall is made up of a host and client. The host runs Xdmx and takes keyboard and mouse input. The client is then controlled by the host.
This tutorial uses generic names for the computers. In any of the commands in this file, you should replace these generic names with the appropriate names or ip addresses for your setup.
host-computer: your machine that will host machine. Replace this with either the hostname or IP address of your host.
client-computer: replace with either hostname of IP address of the client
Step 0: Debian Installation
This tutorial assumes that you have two computers with a clean installation of Debian Squeeze 6.0. Also you should install and setup Xorg. I won't cover how to do this here as it falls outside the scope of this tutorial.
Step 1: Enable Xorg TCP Listening
By default, Xorg disables TCP listening. We need to enable it so that the host and client x sessions can communicate over the network.
There's some way to do this using SSH X forwarding instead of Xorg TCP forwarding. If you can figure it out please post it here.
Do the following on both the host and client computers:
Step 1.1: Edit /etc/X11/xinit/xserverrc
it will read:
#!/bin/sh exec /usr/bin/X -nolisten tcp "$@"
remove the “-nolisten tcp” so that the file reads:
#!/bin/sh exec /usr/bin/X "$@"
Step 1.2: Ensure X Started with Correct Options
To verify that X is now listening for TCP connections, start X in a virtual terminal by:
root@computer# startx
Switch to another virtual terminal, and execute:
root@computer# ps aux | grep X
Find the X process. It should be running without the “-nolisten tcp” switch. If it still has that option, verify that you correctly edited the configuration file.
Step 1.3: Verify Port 6000 is Open
While X is running, verify that X is listening on port 6000 by running:
root@computer# nmap localhost
You should see that port 6000 is open.
Step 2: Install Xdmx
We will use the Xdmx binary from node132 because it is old enough that it still works. SSH into node132 and execute the following command to copy the binary to your host computer:
scp /usr/bin/Xdmx host-computer:~
The versions of Xdmx in the Debian repositories have been broken ever since Debian Lenny. The older Etch package still works. This used to mean that you could download the old package from the Debian Etchpackage archives. However, Debian no longer holds all the old Etch packages. If you find an online source for the working package, let me know or post it here.
Step 3: Setup Allowed Hosts
On both the client and host computers, run xhost to allow any computer to connect to each x server. Execute these commands while X is running. You will need to repeat these commands every time you restart Xorg.
root@computer# export DISPLAY=":0" root@computer# xhost +
Step 4: Start Xdmx
On the host machine, run the following command to initialize Xdmx.
root@host-computer# ./Xdmx :1 +xinerama -ac -ignorebadfontpaths -noglxproxy -display :0 -display client-computer:0
Next Steps
Figure out how to run a window manager on top of Xdmx Automate the process of starting Xdmx
Resources
Much of this tutorial comes from this site: http://mitros.org/p/xdmx-setup.html
For ideas on how to automate the process of starting Xdmx, investigate the /root/menu2 and /root/sources/w-up_2.sh scripts on node132