Best option for running jogl app on multihead setup

I have a Java webstart activated jogl application (running on FC9) that queries a database of images to render a 3D view of the planet. It utilizes LOD code to efficiently render the view as the users zoom in and out. Presently the rendering is done to a jogl GLCanvas, but I want to have the application display on a 8x8 LCD multi monitor display system.

I see where the underlying X11 display system can be configured to use multiple monitors without the program knowing, however I require 64 monitors, and I’m not sure how to get it done for 64 monitors. I have also seen a xdmx X proxy, but work on this seems to have ceased in 2004 and I’m not sure if today this is still my best option. I was thinking that another way would be to have a number of rendering threads which render to different GLCanvas’s, which are bound to specific X11 displays, which are in turn tied to particular monitors.

I’ve seen NxN LCD multi monitor systems but I don’t know how they are implemented. Also in terms of running my type of application I don’t know which method is best for me.

Can anyone offer some thoughts on which approach would probably suit me best.

Well, as far as I’m concerned, getting two monitors to work in linux is already enough of a pain >:( so I can’t help you much on that front. If you can get the monitors all set up as X11 displays, then that sounds like the way to go.

Assuming X11 displays map to GraphicsDevices in AWT, you should be able to something like


GraphicsDevice[] gds = GraphicsEnvironment.getLocalGraphicsEnvironment().getScreenDevices();
for (GraphicsDevice gd : gds) gd.setFullScreenWindow(...an AWT Window containing a GLCanvas...);

That’s similar to the code I use for setting up projections from my laptop.

I don’t know what kind of hardware you’ll be using to drive those displays, but I believe that if you have several threads competing for control of the same graphics card, you will end up with performance difficulties as the driver is forced to do lots of context switching and so on.

Good luck, sounds like a good project.