Application split over 6 screens

I was asked for building an application that will be displayed on 6 screens.
I have a few questions regarding hardware and how OpenFrameworks would handle this.

  • There should be 2 rows of 3 screens
  • Resolution of each screen has not been fixed for now but will probably be Full HD TVs. So final resolution might be 5760 x 2160
  • Splitting the app in two apps running on 2 computers is a possibility.

  1. Would OpenFrameworks be able to handle such a huge resolution ? If not, what is the max resolution for OF ?
  2. App code won’t do any intensive graphical work, mainly displaying images and animations. Should a high-end PC be able to handle this ? Or would this lead to performance problems and two separate apps on 2 PC the way to go ?
  3. I’m thinking of using an [ATI Eyefinity][1] graphic card as it can to handle exactly 6 screens. Does anyone have some experience with them and would you advise them ?
  4. We should probably run on Windows OS, unless osx is more capable of running on 6 screens, which I’m not sure.

Thanks in advance for your help.
[1]: http://www.amd.com/us/products/technologies/amd-eyefinity-technology/Pages/eyefinity.aspx

Hello,

I’m not an OF expert but would think OF is only limited by OpenGL max (viewport?) size? Somebody else can confirm this?

You can use the following code for getting max size (similar for GL_MAX_TEXTURE_SIZE, …)

int dims[2];
glGetIntegerv(GL_MAX_VIEWPORT_DIMS, dims);
cout << dims[0] << " " << dims[1] << endl;

High end pc should pose no problems, surely when you will use a six output Eyefinity card which is de facto powerful.

I’m pretty sure this will work. I’ve worked many times with these cards for a 3x2 setup with fullHD screens in landscape orientation using the same resolution you specify and never had problems. Was using Max/MSP though, never tried Eyefinity + OF, but again I don’t think OF is the deciding factor here since it uses OpenGL calls.

However, be sure to get displays with native Displayport connectivity. If not, you should use active Displayport to DVI/HDMI converters. This is obligatory.

As long as you create one big Windows display with the ATI Catalyst software suite, your OpenGL can span over this whole width (ie. 5760x2160). You can then launch an of App in fullscreen… It depends on what you actually render/generate how the computer will perform. Your application shouldn’t pose problems.

Eyefinity only works in Windows/Linux, not on Mac.

[quote]Thanks in advance for your help.
[1]: http://www.amd.com/us/products/technologies/amd-eyefinity-technology/Pages/eyefinity.aspx
[/quote]

Best,
Vincent

1 Like

Hi, two years ago, I built out the display logic for a project in a similar vein. Check out Sanctum

It’s totally doable from one machine, so long as you have a graphics card that can handle 6 outputs (or two with 3 outputs, etc.). We ended up going linux because the gstreamer and quicktime are too slow on windows for that much gpu work. Linux worked just fine, except for some early troubleshooting we had to do with the graphics drivers. We did desktop spanning via the catalyst control center, as you’re suggesting, and yes, you can draw to a large resolution virtual screen.

I wasn’t working on the project close at the delivery date, so I’m hazy on details of the exact setup (I set the system up with an ATI card, but the installation ultimately used NVIDIA), so I can’t speak to specific hardware decisions, but feel free to reply back if you need some guidance.

1 Like

Great answers, thanks a lot @Vjacobs and @soyoung ! That’s a relief I can use OF without problem in this configuration.

I’m thinking of buying a FirePro W600. I hope 2gb will be sufficient.
I won’t use any video files, only animations driven by code, with lots of tweenings.
Anything to pay attention about the computer, appart from PCI Express ×16 on the motherboard ?

This seems fine. What do you mean by 2GB?

If you’re doing some intense manipulation in your code, you might need to optimize it to run in real time, possibly by moving some of your logic into a GL Shader?

I have an addon to do bezel correction, when you get to that point. https://github.com/soyoungshin/ofxBezel

Good luck!

1 Like

Thanks @soyoung , I meant the FirePro W600 has 2 GB of memory and I’m not sure if it’s a big deal for such a resolution.

if the card advertises being able to display 6 hd monitors, i wouldn’t sweat it too much. That said, I’d recommend buying from newegg, or similar, since they have a generous return policy (in case it isn’t what you need in the end).

1 Like

2GB should be plenty for your needs as long as you are not using loads of textures, 3d surface/light computations, big 3d meshes, … Just build yourself a computer with ®(d)ecent hardware.

Nice card btw this FirePro W600. I didn’t know AMD had a professional Eyefinity 6 solution. Curious to see how they implement the ‘projector overlap’ solution stated on their website.

Btw, there is a bezel correction module included in the AMD Catalyst Software suite which works very well, but I’d recommend to check @soyoung ofxBezel for easy re-correction during work.

1 Like