User Tools

Site Tools


dslab:testvideowall

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

dslab/testvideowall.txt · Last modified: 2011/01/30 14:49 by hps1