cancel
Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

stereotype
Journeyman III

Quad-Buffered 3D Stereo display with HD3D on Linux and on Windows+OpenGL?

Hi,

I'd like to do Quad-Buffered 3D Stereo display stuff in Linux.

The 3D Vision stuff sold by NVidia only works either with Direct3D on Windows or with their expensive quadro cards and OpenGL,

but they have no solution that would work with a graphics card that i can afford and Linux (or even OpenGL on Windows)

So my questions to you guys, concerning the gamer-type graphics cards (not the pro stuff that i can't afford):

* Is it currently possible to use AMD's HD3D with Quad-Buffering on Linux?

* and does it work with OpenGL on Windows?

0 Likes
21 Replies
gsellers
Staff

Hi,

Quad buffered stereo with consumer grade HDMI/DP displays (i.e., TVs) should work on recent drivers in OpenGL on Windows Vista and beyond. There are certain restrictions. You need a Radeon HD 6000 series board or newer. You will need to write a full-screen application and set the display mode to something the TV recognizes as a 3D mode, which will vary from display to display. Generally, standard TV formats work - 1080p, 720p @ 60Hz. When choosing a pixel format, include the PFD_STEREO in the dwFlags field of the PIXELFORMATDESCRIPTOR structure passed to ChoosePixelFormat (http://msdn.microsoft.com/en-us/library/dd318284%28v=vs.85%29.aspx). If you have a 3D-capable system, you should see stereo modes reported.

Unfortunately, consumer displays are not supported under Linux right now - although the professional 3D displays are and the same code should work for both Windows and Linux. No additional libraries or SDKs are needed.

Cheers,

Graham

Hi Graham,

thanks for the reply.

If i understand correctly, Quad-Buffered 3D should work under Windows with a >= HD6000 and the PFD_STEREO flag. I'll try that, thanks. That's already great news (and quite better than nvidia's artificial no-stereo-opengl-on-consumer-devices policy)

What I didn't quite understand though is the linux side:

1) first of all, you make a difference between consumer and professional 3D displays. Uhm... how do i know which Monitor i can buy so that it will work?? if the distinction is about stereo via HDMI 1.4a formats (which afaik do 1080p stereo only up to 24p and 60p only up to 720 lines) versus 120Hz-based monitors then i could understand. But otherwise? what's the distinctive criteria to know which monitors and projectors are OK for this? (especially for monitors if i'd like to do 1080p at more than 24p, say at 120Hz=60p stereo) ?? Is any monitor that would work with NVIDIAs vision glasses (which need 120Hz to do 60Hz stereo) ok?

2) independently of 1) please, if possible, do add support for consumer displays on linux as well and please do tell your collegues in marketing (which probably measure linux only by market share) that the  interest for stereo 3D is on average way higher and that the developer density is orders of magnitude higher among linux users than among windows users. in other words: making quad-buffered stereo 3D accessible to consumer devices on linux would be a move that has a developer conversion impact far higher than on windows. Those guys (me included) will deveolop programs that run on both operating systems. Or, to formulate it the other way around: if a solution is not available on linux, then this has a negative impact on its adoption on windows too, simply because many developers use linux a lot (even if they sell primarily to windows users) and look for solutions that do both. So please add that if possible.

3) on linux, do i have to do anything equivalent to the PFD_STEREO flag thing under windows?

Cheers,

Pat

0 Likes

Hi Pat,

First, by consumer display, I mean one that takes the stereo sync signals from the digital input over DVI-D, HDMI, DP or similar technologies. There certainly are high quality displays that could be considered professional grade in that category, but in general, these are TVs and TV/monitor combo devices. Professional 3D displays include multi-monitor devices (including HMDs), displays which decode embedded sync signals within the image itself and devices that make use of the standard workstation stereo connector (http://www.stereo3d.com/vesa3.htm). Those types of displays are not supported on consumer (Radeon) boards.

On Linux, X is the normally window system through which applications interact with OpenGL. In X, the equivalent of ChoosePixelFormat is glXChooseVisual. Documentation may be found at http://www.manpagez.com/man/3/glXChooseVisual/ amongst other places. If you include the GLX_STEREO token in the attribList parameter, it should give you stereo visual configs if they're supported by the system. Like I said, this will not work on our consumer (Radeon) GPUs but it will work on professional products (FirePro) assuming a compatible display is connected and configured.

Support for consumer stereo on Linux theoretically possible, but is not implemented at this time.

Finally, I can't comment on support for NVIDIA products, but my guess is that their shutter glasses will not work with AMD hardware. However, I've never tried this and don't even know if they're physically compatible.

Cheers,

Graham

0 Likes

Hi Graham,

> Support for consumer stereo on Linux theoretically possible, but is not implemented at this time.

Is there a timeline for consumer stereo visuals on Linux?  I'm currently evaluating platforms for scientific computation and 3D visualization for the home. [edit:  I have a Radeon 6970 that I currently use for OpenGL/OpenCL work under Linux (works great btw), but if would be fantastic to be able to do 3D with it without having to reboot into windows, upgrade, or switch vendors.]

Thanks for your time.

- Beau 

0 Likes

First, by consumer display, I mean one that takes the stereo sync signals from the digital input over DVI-D, HDMI, DP or similar technologies. There certainly are high quality displays that could be considered professional grade in that category, but in general, these are TVs and TV/monitor combo devices. Professional 3D displays include multi-monitor devices (including HMDs), displays which decode embedded sync signals within the image itself and devices that make use of the standard workstation stereo connector (http://www.stereo3d.com/vesa3.htm). Those types of displays are not supported on consumer (Radeon) boards.

Hi Graham,

Thanks for the info on what display is a comsumer device. I am planning to buy a 3d monitor that uses the even lines for the left eye, and the odd lines for the right eye. Something along the lines of this one: LG D2342P

It uses polarisation, not active shutter glasses.  Is this device supported by AMD radeon boards?

Second question,

I would like to use a radeon (not firegl) card in linux to see a movie in 3D using bino (http://bino3d.org/), using the output mode "OpenGL quad-buffered stereo (only available with some graphics cards)". Is this possible?

Best regards,

Cedric

0 Likes

Hi Cedric,

I'm afraid that I can't comment on the compatibility of specific monitors. However, if it is able to display 3D images from other sources (such as Blu-Ray players or digital set-top boxes), then it should work with Radeon (and FirePro) graphics boards. The video signals are standard, and the graphics card and display device should be agnostic to one another.

As for Bino3D, again, I can't say - I haven't personally used that product. However, if it expects standard quad-buffer OpenGL stereo as would previously have been available on high-end professional products, then it should work on Radeon boards with a compatible display attached. Regardless, we'll give it a whirl and make sure it works. If we find any problems, we'll get them fixed.

Graham

0 Likes

Hi Graham,

Thanks for the fast reply.

Just to be sure, this means the linux driver for the radeon has quad-buffer opengl support?

If that is the case, I can start choosing components for my new PC, starting with a radeon card.

Best regards,

Cedric

0 Likes

Hi, I was browsing around for HD3D solutions for Linux when I saw your post.

About using a monitor with micropolarization (even/odd lines), if all you need it for is to watch 3D movies you don't even need hardware support. Use a 3D player with software interleaving to push the left/right pictures to even/odd lines.

Just remember to disable any deinterlacing filters since those might seriously disrupt the 3D picture.

Hope that helps you a little bit

0 Likes

Hi Graham,

Thanks for the info. I'm also looking to output OpenGL quad buffered 3D over HDMI. I have a FirePro V4900 - should that also work or do I need to get myself a Radeon card? And, if the V4900 should work, do the same instructions apply?

Thanks,

Jon

0 Likes

Hi Jon,

Yes, HDMI stereo should work with a FirePro V4900. You will need recent drivers, and I don't know if the updates have made it to a workstation certified driver yet. Keep in mind that HDMI stereo is for full-screen applications only. Professional DCC/CAD type applications that typically run in Windowed mode will not work in this mode - you will need a professional 3D display for that.

Cheers,

Graham

0 Likes

Hi Graham,

I've had no luck with the current FirePro drivers for my V4900, so I'm guessing I just need to wait on that. In the meantime, could I please ask if you would you expect any of the HD6000 and HD7000 series Radeon cards currently listed on:

http://www.amd.com/us/products/desktop/graphics/Pages/desktop-graphics.aspx

to be OK or do I need to stick to the higher end of those scales?

Thanks,

Jon

0 Likes

Hi Jon,

All Radeon HD 6000 series and 7000 listed on that page support HD3D stereo with OpenGL in Windows. There is no reason to stick to the high end, although a better card will obviously perform better, which might be important as you're essentially going to be rendering everything twice.

Graham

0 Likes

Some questions,

seems AMD brought earlier this year Crossfire support for HD3D (I assume this is in D3d driver only?).. is this also true for OpenGL stereo contexts?.. if not,  there are plans for implementing support also?

also are you going to add HD3D OpenGL support also in 5xxx series?

thanks.

0 Likes

Hi Graham,

Thanks for your help. I can confirm that I've got a Radeon HD6570 in an otherwise stock Dell Optiplex 990 MT running Win7 Pro SP1 x64 and the v12.4 Catalyst driver package to output 3D over HDMI (1080p, 24Hz) to a 65" Panasonic Smart VIERA TX-P65VT30B from the Python/OpenGL-based molecular graphics package PyMOL in full screen mode.  Very nice!

There's another molecular graphics package called Coot we'd also like to use (also Python/OpenGL) but that looks like it will be a lot of work to convert it to run in proper full screen mode - it uses lots of windows.

Is there any hope of windowed OpenGL quad-buffered stereo support for HDMI output in the near future?

Thanks again,

Jon

0 Likes

Hi Jon,

I'm glad you got this working. It's good to hear that our work is useful!

Unfortunately, performing stereo in a window requires support from the operating system, or a lot of additional effort from the drivers to make the operating system unaware that it's effectively compositing two versions of the desktop. That work is (in part) where the premium for our professional cards goes. In short, if you have OpenGL stereo working in full screen, that same code should work in a window in a professional card with the appropriate display attached, but not on current consumer boards.

We are investigating ways to allow windowed mode stereo on consumer devices and may be able to produce something in the not-too-distance future. We'll keep you posted.

Cheers,

Graham

0 Likes

Hi Graham,

Thanks for the explanation. Does that mean that it should work on a recent FirePro once the 3D HDMI support is in the drivers?

If so, do you happen to know when that might be? The current Catalyst Pro drivers I can see are 8.911.3.3 from 10 April 2012 and I don't think I got 3D HDMI to work with a V4900 in otherwise the same setup as above. The Radeon drivers I've got to work are slightly more recent.

Thanks,

Jon

0 Likes

Hi Jon,

Windowed mode stereo should work on HDMI devices using a professional board once support hits a workstation driver. I can't really comment on the schedule though. The Catalyst Pro drivers tend to lag behind the consumer Catalyst drivers because of longer QA cycles, certification processes and other factors.

Thanks,

Graham

0 Likes

Jon,

I also would be very interested in having COOT work on a 3DTV.  We have also been running pymol on  a 3DTV just driven from a mac laptop with a mini-Display port to HDMI adapter the image quality is not great.  I will put together something like you have.  What pymol stereo settings did you use?  I presume the internal GUI has to be turned off due to windowing issues?

Yes, we really want full OpenGL support for HDMI1.4a in the drivers. I don't care whether if it is Windows or not. Have you heard anymore about whether AMD or others are actively working on this and when it might be available? 

I also read that one might be able to put two SDI signals from a professional graphics Quadro card set into a HDMI1.4a signal with a multiplexer.  Then windows could be used and the HDMI1.4 signal assembled later.  Does this many any sense to you?  Yes it costs money, but using a commercial 3DTV is cheaper and cleaner than dual DVI projectors.

George

0 Likes

Hi Graham,

I was very interested in your post about quad-buffered capabilities of consumer grade ati radeon cards. So I went out and bought a 6870 and found that it worked great in windows 8 with the latest catalyst driver when using 3d pymol. What's great and the reason why I'm posting, is that it also works in non-full screen mode, in windowed mode, which you said did not work. Is this now working because of changes in the drivers or becasue of changes in windows 8?

A second question, is there any quad-buffered stereo capabilities for OSX. Although the latest officially supported OSX cards are the 5770 and 5870, unofficially, it has been well known that 6870s work in OSX in a plug and play fashion. I was wondering if you have anything to do with writing OSX ati drivers or is that solely in the domain of apple.

Thanks.

0 Likes

Hi,

Yes, the reason that this works in windowed mode on Windows 8 is because of changes in the operating system, including support for compositing a 3D desktop. At the time I made this post, we were unable to talk about upcoming changes in Windows 8.

Unfortunately, I don't have much to do with the Mac drivers. Those are produced in a partnership between Apple and AMD, but not by my team.

Thanks,

Graham

0 Likes

That is great about windows 8.

About OSX, would you be able to get me in touch with the correct people to ask these questions to?

0 Likes