> 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.
You might be able to convince the company to donate a copy to your school. > 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 want to go with this approach you should look for info on the shadowfb support (it keeps an internal framebuffer and would automatically notify your driver when a given rectangular area needs to updated on your display). Another approach would be to run a large vncserver process and then run four vncviewer processes (one on each of your four Xinerama'd displays) displaying different quadrants of the vnc session. If you did it this way, you could easily run with a window manager config that didn't put borders around the viewers and set the viewers to only have a single pixel wide scrollbar to adjust the portion of the session to be viewed. If your willing to do a little more work, you could modify the viewer to take a command line option to set the initial viewport position and then you could loose the one pixel border around each of the quadrants. > > 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 > _______________________________________________ Xpert mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/xpert
