Go Back   nV News Forums > Linux Support Forums > NVIDIA Linux

Newegg Daily Deals

Reply
 
Thread Tools
Old 12-09-05, 12:20 PM   #1
philcostin
Registered User
 
Join Date: Jun 2005
Location: UK
Posts: 52
Default Technical OpenGL Question....

Is it the case that under Windows, the OpenGL API has to make further API calls to the windows Hardware Abstraction Layer, which then controls the graphics card whereas under Linux, OpenGL is the only hardware abstraction layer between a program and the card?

Thanks in Advance...
philcostin is offline   Reply With Quote
Old 12-09-05, 12:27 PM   #2
uOpt
FreeBSD cheering section
 
uOpt's Avatar
 
Join Date: Nov 2004
Location: Boston, MA, USA
Posts: 609
Default Re: Technical OpenGL Question....

There is the DRM interface in between which would be equivalent to the Windoze HAL. It allows the higher level rendering portions to ask the kernel to give out resources shared by multiple instances of the rendering portion.

I wonder whether NVidia uses DRM or whether they brew their own stuff.
__________________

My Unix benchmark results
uOpt is offline   Reply With Quote
Old 12-09-05, 12:47 PM   #3
d4rk74m4
Registered User
 
Join Date: Aug 2004
Posts: 72
Default Re: Technical OpenGL Question....

Nvidia doesn't use DRI, so they can't use DRM. They provide their own custom kernel interface, Xorg GLX extension, and libGL.
d4rk74m4 is offline   Reply With Quote
Old 12-09-05, 07:34 PM   #4
philcostin
Registered User
 
Join Date: Jun 2005
Location: UK
Posts: 52
Default Re: Technical OpenGL Question....

So I'd be right in guessing there's only one direct interface to the device driver under Linux whereas windows is layered on HAL?

Or is it direct GL calls to the driver in windows too (for now, until vista)

Cheers,
Phil
philcostin is offline   Reply With Quote
Old 12-09-05, 10:28 PM   #5
uOpt
FreeBSD cheering section
 
uOpt's Avatar
 
Join Date: Nov 2004
Location: Boston, MA, USA
Posts: 609
Default Re: Technical OpenGL Question....

I don't know how the NVidia interface works.

But for DRI it is like this: The OpenGL library encodes commands to GLX. Still in the library, GLX commands get converted into commands that the 3D card will understand. That is all in userland. The DRM interface is a kernel interface and it's main purpose is to enable the userland library that comes up with the card commands to request memory areas on the card. The kernel interface also manages windows on the screen (although I am not quite sure how it controls that one area it gave out to one program doesn't get rendered to by a different program that got a different screen area). The actual rendering is then done from userland, by writing into the memory areas requested from the kernel DRM interface, which are physically on the card. To my knowledge, all modern cards have no other way to talk to them than just writing memory cells (some of them commands, some data), once rendering started.

My knowledge is a bit rusty, it has been 5 years since I read that stuff.

In any case, on Unix GLX is what seems to be HAL on Windows.
__________________

My Unix benchmark results
uOpt is offline   Reply With Quote
Old 12-09-05, 11:01 PM   #6
d4rk74m4
Registered User
 
Join Date: Aug 2004
Posts: 72
Default Re: Technical OpenGL Question....

This may be useful if you want to understand DRI a little better: http://dri.freedesktop.org/wiki/DriArchitecture
d4rk74m4 is offline   Reply With Quote
Old 12-10-05, 02:24 PM   #7
philcostin
Registered User
 
Join Date: Jun 2005
Location: UK
Posts: 52
Default Re: Technical OpenGL Question....

Thanks guys,

I assume this means there are the same number of API layers between userland OpenGL calls and the graphics card under Linux as under Windows.

If DRI and GLX are like HAL, do the ATI cards not use GLX at all? Or do they layer GLX on top of DRI..

Just wondered why GL seems to perform slightly better on Linux than Windows...

philcostin is offline   Reply With Quote
Old 12-10-05, 02:36 PM   #8
gnutux
Linux User: 362616
 
Join Date: Oct 2005
Location: Toronto, Canada
Posts: 108
Default Re: Technical OpenGL Question....

Also, you need to know how the X Server display stuff. The frame buffer in the X server is 10 times faster and better than the WIN32 graphic API. Therefore, no matter if you are using DirectX and/or OpenGL, it'll be slower than your running it on Linux/UNIX.

gnutux
gnutux is offline   Reply With Quote

Reply


Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


Similar Threads
Thread Thread Starter Forum Replies Last Post
OpenGL book Airstrip1 Software Development 2 08-12-12 08:55 AM
HPC on Your Phone: the Technical Vizualization Private Cloud News Archived News Items 0 06-05-12 08:00 PM
Major WineX prob... I think it has to do with the vidcard... Linewbie NVIDIA Linux 20 10-09-02 09:58 PM
A question of acelloration, openGL and anti-aliasing stootles NVIDIA Linux 1 08-12-02 03:24 AM
Slow OpenGL on 7.3 kl899 NVIDIA Linux 1 08-04-02 07:58 PM

All times are GMT -5. The time now is 10:26 PM.


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