nV News Forums

 
 

nV News Forums (http://www.nvnews.net/vbulletin/index.php)
-   NVIDIA Linux (http://www.nvnews.net/vbulletin/forumdisplay.php?f=14)
-   -   stereoscopic mode in Linux (http://www.nvnews.net/vbulletin/showthread.php?t=534)

ethan_b 08-08-02 06:20 PM

stereoscopic mode in Linux
 
I'm running Linux on a box with an Asus V7700-series (GeForce2 GTS) video card. The video card includes a set of LCD shutter-goggles for stereoscopic video and I'd like to use them to do some volume visualization.

Unfortunately, it appears that they are not yet supported under Linux. I'm running driver v2960.

When I call:
glutInitDisplayMode(
GLUT_RGB |
GLUT_DOUBLE |
GLUT_DEPTH |
GLUT_STEREO
);
I get "GLUT: Fatal Error in vis: visual with necessary capabilities not found". Without the GLUT_STEREO flag it works fine.

I'm assuming my only good option is just to wait until this is supported in the Linux drivers. Any hope of that ever happening?

I've also noticed that the shutter-glasses flicker when plugged in to the video card, even if the stereo mode is not enabled. Perhaps I can just render to two separate buffers and swap them? I've been playing with this, but I've had trouble with synchronization...

Thanks,

Ethan
UW-Madison
MRI Research

Thunderbird 08-09-02 04:53 AM

There's no 3d glasses support in the nvidia drivers. Remember that glut is a kind of wrapper api.

r0gu3 08-09-02 08:49 AM

Well assuming they are syncing with the refresh rate of the monitor, you COULD enable vsyncing and have it swap seperate buffers you maintain, but the downside of all of it is that you have to have a way to flip the eye's just in case they are inverted... cause there is no way to know which buffer is which eye :)

- r0gu3

ethan_b 08-09-02 11:12 AM

How do I go about doing that in Linux/X? I was under the impression that glSwapBuffers would wait for VRT, but when I try doing a minimal render (just some axis and a cube) it ends up running at several hundred FPS. If I could sync to VRT I've got no problem maintaining separate buffers - the renders take a significant part of a second, but the scene only changes rarely, so it'd be great if I could render to two separate buffers and then blit one or the other to the screen each frame.

The eye swap is easy enough to deal with...

r0gu3 08-09-02 02:41 PM

#!/bin/bash
export __GL_SYNC_TO_VBLANK="1"
glxgears -fps

Then it will be locked... there are other environmental variables that can be set inside of the drivers for stuff like anti aliasing :)

http://download.nvidia.com/XFree86_4...960/README.txt

- r0gu3

ethan_b 08-09-02 04:31 PM

Thanks... Setting that stopped the random eye swapping that was giving me such a headache last night. It still exchanges frames ocasionally, but hopefully I can figure out a way to deal with that.

Any idea if stereo will ever be supported in the nVidia Linux drivers?

Ethan

ethan_b 08-12-02 05:30 PM

aux buffers ever supported?
 
So I have the rendering working in stereo now, but it's a bit too slow to render the whole scene in every frame. It can't maintain a high enough frame rate and it ends up swapping sides. I'd like to render each eye to a back buffer and alternately blit the buffers to the screen, but it appears that the nVidia Linux drivers don't support any aux buffers?

When I call glGetIntegerv with GL_AUX_BUFFERS I get zero, and glDrawBuffer(GL_AUXi) calls fail.
Is there some mode I need to use in order to have access to auxiliary buffers or are they not supported?

Thanks,

Ethan

Thunderbird 08-13-02 02:54 AM

I don't have any GL programming experience yet. (got the redbook lieing here but didn't have time to read it.)

What you need to play with are perhaps pbuffers for offscreen rendering. (they are poorly documented for GLX)

zimmer 08-13-02 01:31 PM

1 Attachment(s)
Ethan:

Regarding your initial problem with GLUT:

I had the same problem with the exact same card on a Windows system. I don't think that the card actually has stereo buffers as perceived by OpenGL... it must achieve stereo effects some other way, and yes, probably only with the Windows drivers, not Linux.

The fact that GLUT is a wrapper API has nothing to do with it. GLUT makes standard OpenGL calls for stereo buffers, that should be honoured by any respectable driver for a card that actually has stereo buffers. I've attached some plain OpenGL/GLX code that, unfortunately, fails in the same way as the GLUT stuff.

The kicker is, that I just bought a Quadro-4 750XGL card for my Linux box, specifically because it DOES have Quad-buffered OpenGL stereo support in hardware... but I get the exact same error as you do.

So, it seems that NVIDIA's Linux driver is NOT supporting stereo, unless I'm missing something. Unfortunately there is VERY LITTLE information out there on stereo configuration for Linux (eg. are there any special considerations regarding monitor refresh rate, the contents of the XF86Config-4 File, etc).

In fact, the only decent stereo link I've been able to find is Bourke's page on programming for stereo. Pretty good stuff, but his pulsar.c fails with the exact same GLUT error on my system. Doh!

As for controlling 3D glasses, I don't know of any Linux device drivers for the simple shutter-glasses... and I've check the web pages of several brands. They all seem to be catering to Windows. Even still, the glasses should still work (I think) simply by plugging them in. Any failure to get a stereo OpenGL context should not at all be related to the glasses, or lack of a driver.

Good luck,

Don Zimmer.

madsnm 08-13-02 05:33 PM

Just want add with my experience.

I needed stereo for scientific visualization and have ended up using ATI Radeon + Eye3D glasses + Xi-graphics driver. This gives me nice quad-buffered stero under linux.

It will be very nice to see how the new ATI cards perform - but still it would very nice if nVidia put a little more effort into stereo support in linux.

I gave up on nVidia cards - it was only possible to get scanline interleaved stereo under linux.

Mads

Thunderbird 08-14-02 03:16 AM

ATI's drivers are much slower than Nvidia's. The XI drivers are slower than the default DRI drivers but they are more advanced.

I would mail linux-bugs@nvidia.com and request these features and say for what you need them.

zimmer 08-15-02 02:22 PM

Ethan, you might want to consider this stereo-emulation library:

http://sourceforge.net/projects/stereogl

Mads, looks like I might be taking your advice and going with an ATI/Xi combo to get stereo.

Don.


All times are GMT -5. The time now is 11:21 PM.

Powered by vBulletin® Version 3.7.1
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Copyright 1998 - 2014, nV News.