[vtkusers] VTK on two graphics cards?

Benoit Bleuze Benoit.Bleuze at inria.fr
Mon Nov 22 05:08:52 EST 2010


Hi Samson, David,

I totally disagree with David on his answer. If you have two graphics 
cards, unless they are linked together in SLI (nvidia) or Crossfire 
(ATI/AMD), then you have Two X servers and they can't share the same 
memory or Xinerama to get a single X server and several displays. Twin 
view only works for single cards that have two outputs, and I am close 
to certain that it Twinview doesn't work with SLI card either. Xinerama 
can use several graphic devices, but Open-GL is often as David said not 
working on several monitors, or sometimes even not at all.

Then if you have two X servers, you will have two solutions:
1- run a different application on each X server, and they will 
communicate through some IPC protocol such as DBus or whatever socket 
based communication.
2- run a single application and connect to the 2 different X displays 
with it. Then it becomes some nifty X wizardry to connect each of your 
windows to each X servers. To do so you need to open a display using the 
XLib. I don't know how this is done inside VTK, but the usual way is to 
use XLib, and its XOpenDisplay function: 
http://tronche.com/gui/x/xlib/display/opening.html

You might still try Xinerama and your two cards, maybe drivers are now 
better in handling two screens and open gl, but even then don't even 
dream of having 3d accelerated windows spanning several monitors with 
xinerama.

Ben

Samson Timoner wrote:
> Thanks for your help David.
>
> One other question: If I instead wanted to open up two vtk OpenGL 
> windows, one covering the entirety of each graphics card, is there a 
> command to tell vtk to be full screen on one graphics card?
>
> If not, might you happen to know how can I can query X to get the 
> coordinates for a particular monitor/graphics card?
>
> Thanks!
>
> -- Samson
>
>
> For NVidia cards, all you have to do is set up TwinView in a
> side-by-side configuration.  Use nvidia-settings to do this (you can
> run it from the command-line or select it from the menu).
>
> For other cards, you might be out of luck.  You can use Xinerama to
> make your linux desktop span both monitors, but hardware OpenGL
> acceleration might not work in this configuration.  You might have to
> use non-accelerated OpenGL instead, and the way this is done will vary
> from system to system (on Ubuntu 10.04 the non-accelerated OpenGL is
> kept in /usr/lib/mesa).
>
>   David
>
> On Thu, Nov 18, 2010 at 10:25 AM, Samson Timoner <Samson at bwh.harvard.edu <http://www.vtk.org/mailman/listinfo/vtkusers>> wrote:
> >/ I'm wondering what VTK's support is for a two graphics card setup. I have a
> />/ two graphics card system on linux, each with one monitor.
> />/
> />/ Can I open a single VTK OpenGL render window across both monitors?
> />/
> />/ Thanks,
> />/
> />/  -- Samson/
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html
>
> Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://www.vtk.org/mailman/listinfo/vtkusers
>   




More information about the vtkusers mailing list