I'm currently in the process of building a sixteen-monitor video wall,
and am in search of some *free* software that will make it work (I found
a $1000 program called X-META-X that does what I want flawlessly, but I
am doing this project at my high school and don't have any money for
it). So far I haven't found any such software, and I am begining to
think I may have to write some code myself. Before I ask any questions,
I think it would be a good idea to give an overview of my setup.

The wall will consist of five PCs and sixteen identical monitors and
video cards. It should work as follows: four of the PCs will have four
video cards each and will run an X server on each video card, possibly
using Xinerama to combine them. The fifth PC will be networked with the
four other PCs, will use some mechanism to combine the sixteen remote
displays (four if Xinerama is used) into one large display, and will act
as a head-end for this display.

As I said, there exists a piece of software called X-META-X which
proxies X connections and allows one to create setups such as the one I
just described. Since I can't afford this software, however, I have come
up with some other ways for the fifth machine to combine the remote
displays into a single large display. My first idea was to hack Xnest to
open multiple windows on multiple remote displays and have it split up
its frame buffer among these windows. I gave up on this eventually, as
it would most likely involve way too much work (I'm trying to avoid
doing more work than I have to). My current idea, and the idea I want to
use, involves writing a new driver module for X 4.2.0 that works a lot
like Xnest. X would believe it was drawing to a graphics card, when in
reality my driver would be passing its frame buffer to a remote X
display (this would violate the guidlines for X drivers as my module
would make calls to Xlib). This would allow me to (hopefully) get my
project done as quickly as possible (before the school year ends), and
would leave me with what I believe would be a very elegant setup. The
monitor and keyboard for the display would go on the fifth machine, and
I could use Xinerama on this machine to organize the remote displays.

Unfortunately, I'm not exactly familiar with writing drivers for X. I am
hoping for some pointers to get me started. Specifically, I want to
know:

+ Will this work? Is there a better/easier/cooler way?
+ Are there any X driver writing docs that are a little more helpful
than the ones on xfree86.org?
+ What would be the best way for my driver to tell when it should update
the remote display? (The way I understand it, a basic driver simply
passes the address of the card's frame buffer to the X server, which
then writes to this buffer without telling the driver. How can I found
out when X writes to the buffer?)
+ How should I display the frame buffer on the remote display? (should I
simply write it pixel-by-pixel to a full screen window, or is there a
faster way?)

If you've read this much of my post, thank you very much. If you can
help me at all, please respond, and thank you even more. That's all
folks.

-Jacob Kuenzel
_______________________________________________
Xpert mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/xpert

Reply via email to