PDA

View Full Version : Multiple GPU, different outputs, etc.


c4am95
04-08-2010, 01:47 PM
I've got two separate nvidia cards, each with dual outputs. The setup I'd like to have is as follows: one graphics card with two HD monitors connected, the desktop component, where code can be viewed (and hopefully one vizard window is running) at 1920x1080. The other graphics card is outputting the left and right eye to an nvisor SX (each eye at 1280x1024). So I guess there are a couple aspects to this. One would be cloning a vizard window so that two separate windows are displaying the same thing at different resolutions. The other is guaranteeing that the 1920 window is on the desktop monitors and that the 1280 window is going out to the HMD. I'm pretty sure the WorldViz team had this setup at some point, so I'm assuming it's possible. Thoughts?

c4am95
04-12-2010, 01:12 PM
Ok let me revise. I've learned that Vizard does not support rendering on multiple GPUs. I guess what I'll do is have separate modes for testing/coding and experiments. But right now I'm trying to do (I guess) a virtual HMD setup. I have two extra monitors hooked up to the second graphics card, and I'm trying to have a 2560x1024 window span the two of them in fullscreen/stereo mode. I cannot get this to work for some reason. The best I can get is a fullscreen, stereo window scaled to fit one monitor.

if HMD:
viz.windowsize(2560, 1024)
viz.go(viz.STEREO | viz.FULLSCREEN)
else:
viz.go()

In a .cfg file, I have viz.fullscreen.monitor set to 3, and I want the window to span from 3 onto 4. Could someone help me understand what's going on?

Gladsomebeast
04-12-2010, 05:45 PM
Sound like you need to create a "horizontal span" between monitors 3 and 4 in nVidea's control panel. Thus they appear as one monitor to Vizard/Windows and a full-screened app will streach across them.

To get a third monitor replicating one of the hmd eyes, WorldViz uses a VGA spliter.

c4am95
04-14-2010, 03:48 PM
well that would be the perfect solution. however, i'm running windows 7, which apparently has removed the "horizontal span" feature. damn. any other ideas?

Sven
04-15-2010, 08:48 AM
Same Problem here. After rummaging the net for some time, it seems to me like horizontal spanning won't be coming to Windows 7 any time soon - if at all. Is there a chance for a solution Vizard-wise?

Gladsomebeast
04-16-2010, 12:25 PM
So Vizard can span accross multiple monitors on Windows7/Vista. The viz.fullscreen.monitor vizcore.cfg variable must be set to 0. If the variable is set to a monitor number (1, 2, 3, ...) then fullscreen is restricted to that monitor. Thats your problem c4am95.

If you have 3 monitors I think Vizard will streach accross all of them? I need to test this, but this could be a problem if you want your 3rd monitor to see the windows desktop. I think a Matrox DualHead2Go box would solve this. Power the HMD with the DualHead2Go and have your second graphics card port power your desktop viewing monitor.

c4am95
04-19-2010, 12:03 PM
is there a way then to do fullscreen on, let's say monitor 3? i tried to set the initial window coordinates to (3840, 0) (there are two previous monitors at 1920) and initialize it in fullscreen and i got nothing, just a seemingly frozen vizard loading screen.

Gladsomebeast
04-19-2010, 01:49 PM
Sounds like its frozen because Vizard can only utilize one graphics card to "hardware accelerate" the rendering. So a Vizard window thats on a monitor powered by the graphics card Vizard is not using will have a very slow framerate.

Not sure how Vizard selects which graphics card it works with. Can you power the nVisor with monitors 1 and 2 and set monitor 3 as Window's "Main Display" for desktop use?

TarkaDahl
04-19-2010, 05:09 PM
Hi all.

i dont know if this is what you mean but im working on some code to do a similar thing.

i have viz program that starts on moniter one.

this program uses some code found at http://code.activestate.com/recipes/460509/ to get moniter info.

the main program loads up multiple exe files that fullscreens on moniter 2 and 3 using


viz.setOption('viz.fullscreen.monitor',2)
viz.go(viz.FULLSCREEN)

im currently trying to get the communicating between programs to work properly.

im only dispalying 1 or 2 models and im not bothered if screen 2 and 3 are slightly behind the moniter 1

TarkaDahl
04-19-2010, 05:31 PM
sorry i made a mistake they diplay windowed just to the screens full resolution or there abouts

c4am95
04-26-2010, 01:00 PM
i still can't seem to get things to work. right now i have the hmd connected to the first two outputs on the computer (monitors 1 and 2), and i can see the desktop displayed on both eyes at the correct resolution. but now i'm trying to get the vizard window on there, and it won't show up. the code i'm using is simply:

viz.go(viz.FULLSCREEN)
nvis.nvisorSX()

which is all the documentation tells me i must do (aside from having those monitors at the correct resolution, which they are). any ideas why this isn't working?

Gladsomebeast
04-26-2010, 01:26 PM
Code should be this for nVisor:
viz.go(viz.HMD|viz.STEREO)

When you say "does not show up" do you mean you not seeing vizard at all (no bouncy loading ball)?

If so, then perhaps you still have your viz.fullscreen.monitor set to 3 still? Change that back to 0.

Gladsomebeast
04-26-2010, 01:28 PM
Actualy, your code was more correct. Disregard my previous comment about your code.

nvis.nvisorSX() sets up field of view correctly as well which is nice.

So must be that viz.fullscreen.monitor setting?

c4am95
05-05-2010, 12:05 PM
yeah this issue is still not resolved. what i meant by not showing up is this: when i run my code, another vizard application shows up (the graphical window), yet i don't get a window on either of my desktop monitors nor the hmd. i've tried a bunch of things and just CANNOT get it to work. let me explain exactly how i have this set up: two dual-output ati graphics card. on the top one (outputs 1 and 2) i have the left and right hmd eyes respectively. in windows, they are configured as monitors 1 and 2 respectively. the two desktop monitors are on the bottom two outputs and are monitors 3 and 4 to the system. all the monitors are in "extend desktop to this display" mode. i can see the desktop in the hmd eyes as well, so they're clearly getting a signal. i just do NOT get what code settings put the window in the hmd eyes. i don't understand how there could be ambiguity. i've used (in vizcore.cfg) both viz.fullscreen.monitor = 0, and commenting this line away. i've tried viz.displaymode(2560,1024), i've tried viz.setOption('viz.window.x', where_the_left_eye_is), and always i include viz.go(viz.FULLSCREEN) followed by nvis.nvisorSX(). please WorldViz employees! help me!

farshizzo
05-05-2010, 12:17 PM
What is the combined resolution of your top two monitors? The following code shows how to specify custom position/size of the fullscreen window:import viz

viz.setOption('viz.fullscreen.x',0)
viz.setOption('viz.fullscreen.y',0)
viz.setOption('viz.fullscreen.width',2560)
viz.setOption('viz.fullscreen.height',1024)

viz.go(viz.FULLSCREEN)
This code assumes that your desktop origin (0,0) starts at the top left of monitor 1, and that the combined resolution of monitor 1 & 2 is 2560 x 1024. This probably won't work if monitor 1 & 2 are connected to different graphics cards.

c4am95
05-05-2010, 12:50 PM
unfortunately that code didn't work for me. it produced a stereo window of that size on my desktop monitor (the main display). and then, oddly, i tried this:

viz.setOption('viz.fullscreen.monitor',3)
viz.windowsize(2560,1024) #works with or without this line
viz.go(viz.FULLSCREEN)
nvis.nvisorSX()

and i got a stereo, fullscreen image in the left eye of the hmd. it doesn't really make sense: windows calls the hmd monitors 1 and 2.

the problem with the above code is that viz.fullscreen.monitor limits fullscreen to that monitor. so effectively it can only be displayed in one eye. i can't really understand why this is a problem. does every vizard user use xp, where "horizontal span" still exists? do other users with windows 7 have trouble? vizard is supposed to be fool-proof, but thus far it's defeating me, the fool.

c4am95
05-05-2010, 01:04 PM
finally! a working combination of settings! for future reference in case anyone has this issue:

viz.setOption('viz.fullscreen.x', 3840)
viz.setOption('viz.fullscreen.y', 0)
viz.setOption('viz.fullscreen.width',2560)
viz.setOption('viz.fullscreen.height',1024)

other settings, including windowsize, displaymode, viz.fullscreen.monitor, produce undesired behavior. thanks everyone for your help.

c4am95
05-06-2010, 11:41 AM
by the way, farshizzo, obviously that's the code that you recommended to me. i don't read things: my brain said, "oh, i've tried 'viz.window.x' and 'viz.window.y'. doesn't work". i'm a college kid, and a total idiot, so thanks to everyone for guiding me through a stupid process.