nV News Forums

 
 

nV News Forums (http://www.nvnews.net/vbulletin/index.php)
-   NVIDIA Linux (http://www.nvnews.net/vbulletin/forumdisplay.php?f=14)
-   -   3D Vision and Linux (http://www.nvnews.net/vbulletin/showthread.php?t=153887)

krokodil 08-09-10 02:31 AM

3D Vision and Linux
 
Hi,

the subject says it all: I am interested in using 3D Vision for scientific visualisation (no gaming) and, as I know some people from Nvidia are reading here, would like to ask if there are plans to support 3D Vision with the Linux drivers (or if it already is there and nobody knows :) ).

TIA

Licaon 08-09-10 04:48 AM

Re: 3D Vision and Linux
 
Quote:

Originally Posted by krokodil (Post 2299681)
Hi,
the subject says it all: I am interested in using 3D Vision for scientific visualisation (no gaming) and, as I know some people from Nvidia are reading here, would like to ask if there are plans to support 3D Vision with the Linux drivers (or if it already is there and nobody knows :) ).

get a Quadro card: http://www.nvidia.com/object/quadro_...echnology.html ;)

cehoyos 08-09-10 09:08 AM

Re: 3D Vision and Linux
 
Before buying a "cheap" Quadro card, read this:
http://www.nvidia.com/object/quadro_...rds_linux.html
MPlayer should support playing side-by-side 3D content on these cards out-of-the-box with -vo gl:stereo=3

Carl Eugen

Thunderbird 08-10-10 06:49 PM

Re: 3D Vision and Linux
 
Note it might not be that hard to offer support for non-Quadro systems but I haven't looked at in much detail.

On Quadro cards you have the extra din-connector which provides a synchronization signal to the USB transmitter which sends the signals to the glasses. On Windows the glasses also work on Geforce cards. In that I think a signal is generated by hooking in the calls which signal that a frame is ready (wglSwapBuffers in case of OpenGL and Present in case of Direct3D). All that might be needed is someone to figure out what USB commands to send and then a basic GL wrapper like StereoGL might already work.

For professional use, I would still recommend a Quadro since even if this hack I propose works, timing can't be guaranteed in a very reliable way.

cehoyos 08-11-10 08:53 PM

Re: 3D Vision and Linux
 
Quote:

Originally Posted by Thunderbird (Post 2300480)
On Quadro cards you have the extra din-connector which provides a synchronization signal to the USB transmitter which sends the signals to the glasses.

Only on the more expensive Quadro cards;-(
Quote:

On Windows the glasses also work on Geforce cards. In that I think a signal is generated by hooking in the calls which signal that a frame is ready (wglSwapBuffers in case of OpenGL and Present in case of Direct3D). All that might be needed is someone to figure out what USB commands to send and then a basic GL wrapper like StereoGL might already work.
I don't think that is enough: On X, 3D can currently only be presented via OpenGL, and only Quadro cards support OpenGL 3D, iiuc.
I believe your solution would only help make cheaper Quadro cards work.

Carl Eugen

Fredz66 09-13-10 12:07 AM

Re: 3D Vision and Linux
 
Quote:

Originally Posted by Thunderbird (Post 2300480)
In that I think a signal is generated by hooking in the calls which signal that a frame is ready (wglSwapBuffers in case of OpenGL and Present in case of Direct3D).

I don't think it does work this way, the buffer swapping should not occur when a new frame is ready but at each vertical retrace in order to be correctly synchronized with the glasses. And wglSwapBuffers can't do that since the rendering of a frame can take more time than the period between two consecutive vertical retraces.

Even if the duration of any frame rendering took less time than this period, you'd have no guaranty to be given a timely timeslice by the scheduler to send a signal to the USB emitter. You would miss a lot of retraces when the CPU is under heavy charge, which is often the case for games or scientific visualization applications.

Quote:

Originally Posted by Thunderbird (Post 2300480)
All that might be needed is someone to figure out what USB commands to send and then a basic GL wrapper like StereoGL might already work.

Some people on the MTBS3D forums did already find a solution to send commands to the USB emitter for frequencies equal to 120 Hz.
See : http://www.mtbs3d.com/phpBB/viewtopic.php?f=26&t=3130

Quote:

Originally Posted by Thunderbird (Post 2300480)
For professional use, I would still recommend a Quadro since even if this hack I propose works, timing can't be guaranteed in a very reliable way.

I think timing can be as good as with the old NVIDIA stereo driver by having a kernel module intercept the IRQ which occurs at each vertical retrace, the SoftGenLock/Genlock applications were doing this some years ago for scientific visualization. As their code is no more maintained, I posted an updated version of Genlock compatible with recent kernels here :
http://www.mtbs3d.com/phpBB/viewtopic.php?f=6&t=10625

Quote:

Originally Posted by cehoyos (Post 2301008)
I don't think that is enough: On X, 3D can currently only be presented via OpenGL, and only Quadro cards support OpenGL 3D, iiuc. I believe your solution would only help make cheaper Quadro cards work.

It's possible to support stereo 3D OpenGL rendering on Geforce cards, I've tested it successfully on my Geforce 7600 GT with the technique presented in the last link. But I've yet to implement a working stereo driver using OpenGL calls interception to support any 3D game/application.

cehoyos 09-13-10 06:49 AM

Re: 3D Vision and Linux
 
Quote:

Originally Posted by Fredz66 (Post 2317142)
It's possible to support stereo 3D OpenGL rendering on Geforce cards, I've tested it successfully on my Geforce 7600 GT with the technique presented in the last link. But I've yet to implement a working stereo driver using OpenGL calls interception to support any 3D game/application.

Does that mean mplayer -vo gl:stereo=3 does not fail immediately for you (it fails for me on a G210), but shows something (for which you need to synchronize your glasses)?

Carl Eugen

Fredz66 09-13-10 12:47 PM

Re: 3D Vision and Linux
 
The technique I talk about is just another way to obtain stereo 3D rendering on Linux, but it doesn't provide OpenGL quad buffering (yet). So using mplayer -vo gl:stereo=3 will fail, but you can still play s3d videos by using mplayer. See :
http://www.mtbs3d.com/phpBB/viewtopic.php?f=6&t=10633


All times are GMT -5. The time now is 10:54 AM.

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