you can have as many video outputs as you have graphics ports.
there are some issues you have to be aware of when rendering two different graphics cards, mainly, you want to create a separate opengl context for each graphics card. however this is not the case with multiple ports on a single graphics card.
matrox dual-head and triple-head to-go’s are very useful for multiple outputs as well.
Resurrecting an old post I know, but just found it in my rummaging!
I’m using a matrox triple head to send to 3 projectors, so the 2nd, 3rd and 4th displays are just an extension of the first. You can send jit.windows with the @rect attribute to anywhere in that display.
So in my case my laptop display finishes at 1440×900 and then I have an extra 2400×600 display stuck on to the right. So if I want to send a 800×600 window to the first display I set the @rect coordinates to 1400 0 2200 600, the second display to 2200 0 3000 600 etc.