Call to Action: Ensure that OpenGL remains a first class API under Windows Vista

"[QUOTE]Originally posted by Treesong:
[QB]Since I have access to Vista I performed some tests.
System:

  • Vista Beta1(AMDx64)
  • AMDx64
  • ATI Radeon 9800 Pro"

Then this happens, after install Windows Vista :

  • Aeroglass is active (composite desktop,nice GUI effects)
  • OpenGL is layered over D3D (no after 1.4 support and no full performance)

We can install a ICD, if we install we obtain :

  • Aero desktop without nice GUI effects
  • OpenGL running with ICD 100% performance

After read the posts, I thing that Areoglass is one of the most important enhacement in Windows Vista. We will have support for ICD but we loose the composite desktop. OpenGL became a “invited” in the windows area and not a main actor.

I think that for some application (CAD,Engineer,simpe games) the support for OpenGL 1.4 is ok. But for games…

¿ This will affect my pockets in the future ? ¿ This will make the software tittles more expensive ? Like customer and end user I think that I want to see more applications with 3D capabilities based on OpenGL, for this the Microsoft support is OK.
I want to play on PC the same OpenGL games that Linux, Mac and PS and have the freedown to go from one machine to another. PS3 in my home, OpenGL ES in my mobile, Vista PC in my office. And not pay more for it.

I want a full aeroglass user experience and I want to play my OpenGL games at full speed, the only thing that I want is that my O.S. vendor have the intention to do it.

I posted my opinion about this in other forums:

If this is true, it doesn’t matter if you are a D3D fan or an OpenGL fan, we all lose. D3D is what it is today thanks to the ‘competition’ with OpenGL. If MS kills or limit OpenGL (it is more or less the same), they won’t need to update D3D. It is like when they won the browser battle with Netscape. They didn’t update IE with new features for a long time (now with Firefox, it seems that there are movement again).
Without OpenGL, and IHV exposing new functionality through it, there will be no sense to create new features in HW as there is NO way to expose them through D3D. The feature set of the graphic cards will be those that MS will dictate. They don’t need to update D3D (or WFG) for 5/6 years (we had TNT2s that time ago). They have no competition that forces them to do it. For example, speculating, MS can limit the features in the API to those that the XBOX 360 will have. With no API update, PC games can’t be visually better than the console ones and they can make the XBOX 360 life longer.
Without OpenGL, MS will dictate how and when the PC 3D graphics will evolve (both HW and D3D API). This will affect everybody. D3D and OpenGL programmers, PC users, IHV, …

As the ex-development lead for this project, I can tell you the following without breaking my NDA:

  • The new Vista OpenGL driver is a single file “ogldrv.dll”, code-named “MSOGL” which takes the place of the ICD.
  • The intent here is two-fold: 1) reduce the work of driver developers and 2) reduce the security risk presented by the ICD driver model.
  • This is not an overt attempt to kill OpenGL; far from it. By eliminating the need to write two different sets of drivers (ICD and DDI), Microsoft has taken a large burden off the likes of ATI, NVIDIA, 3D Labs, etc., while ensuring performance and expansibility continue.
  • MSOGL sits between OpenGL32.dll and D3D. It translates OpenGL calls into D3D calls. This is done using MANY different techniques and at several different levels to ensure the highest possible performance. When I left the project, we were well over 80% performance on average compared to the native OpenGL driver.
  • It is still possible to use an old ICD driver on Vista, but this disables D3D rendering of the desktop, which basically takes you back to XP theming of the desktop. This is because D3D cannot share the rendering context with OpenGL. Ideally, most games would run in full-screen OpenGL mode, so the intended audience for this driver is the content creation, CAD/CAM, etc. crowd (AutoCAD, Maya, 3DS Max, Pro Engineer, etc.)
  • When I left, the driver supported over 80% of OpenGL 1.4, with plans to continue implementing support for extensions most used by the target applications. We were even able to run Doom 3 in some limited modes over 6 months ago (some functions were NULLed out for testing).

@rtargosz

And that should be “good”? For 1.4 specification?

Graphic Vendors say that they can do it properly (speed and security) for OpenGL, but need M$ help. Which I doubt they will get (they need to get organized and take hard pressure on MS). It is clear that M$ is trying to achieve monopoly in the whole industry and set its own standards - and in the same time constantly fails to make products relatively BUG free and secure. And now, suddenly, M$ want to help out (???) and do more job for OpenGL? Portable, open standard, direct M$ competitor… How naive…

We need to remember that many of the major content creation and CAD/CAM applications originated on platforms like SGI, HP-Apollo and Solaris, all running on OpenGL. Microsoft worked long and hard to convince the ISVs to port their applications to Windows, and part of this support is OpenGL. They cannot simply abandon OpenGL because D3D is “better”, and with the time and money invested in programs like ProE, Unigraphics, Maya, SolidWorks, etc., there’s no short-term solution for them to be ported to DirectX, nor is there any real incentive for the ISVs to do so, since it limits their portability.

IMO, Microsoft will have to continue to support OpenGL in future versions of Windows in order to maintain their partnership agreements with the ISVs. While I’m obviously not privy to the details of these agreements, I have seen first-hand the kinds of pressure AutoDesk and Unigraphics can put on Microsoft.

From a gaming perspective, however, things are completely different. I’ve seen some posts which say that lack of competition with OpenGL will slow invention in D3D. I don’t believe this is the case, since the main driver behind D3D technology has historically been game sales. John Carmack can say what he likes, but the API in DX10 (when you get your hands on it) far Outstrips OpenGL, and provides game developers (and other ISVs) with the ability to do things never before possible in graphics. Without starting a whole new “D3D vs. OpenGL” war, I think I can safely predict that OpenGL has lost the game development battle. Whether it will also lose share in the rest of the ISV world is entirely dependant on the ability of the ARB to innovate. Frankly, with competing members like ATI and NVIDIA, and Apple vs. Intel constantly bickering, I just don’t see the kinds of innovation happening in OpenGL that we’ll be seeing in D3D over the next few years.

In my opinion, OpenGL will continue to hold a place as a graphics API for some time. Applications in the embedded fields (cockpit displays, automotive, etc.) will continue to grow and mature. On the Windows platform, however, I think the writing is pretty much on the wall; D3D has won, and it’s frankly a shame. If you ask Alex St. John, he’ll tell you that D3D should never have existed save for the bickering of the WinNT and Win9x teams…imagine shooting yourself in the foot like that and getting away with it!

I think we should start to plead with Steve Jobs
to release an OEM verion of MacOS X.
Will it ever happen?
Wouldn’t it just solve everybody’s problems?
Isn’t Darwin open source anyway?

MacOS X: taking over the planet!
Let everybody switch.
Otherwise we all switch to Linux it’s fine.
Why oh why can’t it happen?

>> I think I can safely predict that OpenGL has lost the game development battle.

Not so - OpenGL ES is now widely adopted by the handheld industry for 3D gaming (soon - 100s of millions of OpenGL ES cell phones a year). OpenGL ES has also been adopted by Sony for PS3. That makes OpenGL an increasingly attactive target for gaming developers. See www.khronos.org

Could somebody with some descent writing skills write up a form letter to write to ati & nvidia.

Then we could all send them too:
For ati please send emails to: cevenden@ati.com
For nvidia send emails to: dperez@nvidia.com
For Microsoft: rrt@wagged.com

I’m not 100% sure this is right, but its who shows up when you search “public relations” on their websites.

Re: actionGL

> @rtargosz
> And that should be “good”? For 1.4 specification?

I have pondered about this. I mean, if Microsoft wants to alienate all OpenGL users / gamers outright, why would they want to implement the OpenGL 1.4 spec in their crippled Vista OpenGL driver?

Why don’t Microsoft force users to make the choice between Aeroglass compositor and full OpenGL ICD all the time, and instead implement this OpenGL 1.4 driver on their own?

As someone in the thread has already said, Microsoft is no longer on the OpenGL ARB board, and it has no obligation to provide its own OpenGL driver (well, this has been more or less the case with Windows up to this point, right? Everybody installed OpenGL driver from the graphics card vendor, and expected next to nothing from MS regarding OpenGL). Hence it really has NO responsibility to offer both Aero and OpenGL at the same time, right? Then why the OpenGL 1.4 driver in Vista’s implementation? Why don’t drop the ball altogether?

See, the writing is really on the wall, because MS chooses the path of least resistance, strategically. If all those Counterstrike and Quake3 gamers out there found out they have to sacrifice Aeroglass to play their games, they will be up in arms and flame at Microsoft to no end.

Instead, MS allows these gamers to have it both ways - because OpenGL 1.4 guarantees most but the latest OpenGL games running OK, and many gamers can live with it as long as it doesn’t run too bad. It only cripples the future of OpenGL development beyond 1.4 spec.

See, Microsoft is willing to risk the few number of gamers who play newer OpenGL games that require >=1.5+ spec, and the fact that they choose to fix the support at 1.4 ensures the minimum amount of complaints to them. They don’t drop the ball altogether, but cripples OpenGL enough so it has no desirable future so to speak.

A lot of OpenGL developers will really find it disturbing, but there’s no point to convince MS to play nice. Their chosen fix support of 1.4 already tells you how they play their cards well. Perhaps the PC gaming will die sooner because of this as this may move people to consoles faster. OpenGL’s future will reside with Mac OS X, Linux, and PS3. I bet Autodesk and UG will port their apps to Mac OS X sooner as Apple is migrating to x86. Microsoft probably won’t mind losing 2-3% of OpenGL focused marketshare to undermine an competing technology.

Why should gamers (majority kids and average users) to switch to another OS and play a very few number of games because they cannot have their favourites run in full OpenGL under Windows? Who cares?

Professionals and developers could write their own ports, what a big deal?

The time Glide is dead computer graphics is dead.

The time vendors don’t dare a proprietry API then why do u blame them for not supporting OpenGL?

Don’t blame Microsoft for that because it’s a business and now competing with a giant monster called Playstation 3 which will be using OpenGL, so what do u expect? A good support from MS?

Get real. The only thing you can do is to port ur applications or face it and like D3D. Anyway we use 90% of DirectX it will not be a problem if we complement it by using D3D instead of OpenGL.

Personally I will be targetting consoles XBox and PS3 and probably others.

Man, what a nightmare of a forum to register for. Kept giving me errors about a conflicting name because of the DISPLAY NAME I entered, and then gave me flood protection warnings even though I was fixing errors it gave me. Yikes, someone should really fix that.

Anyway, this was my response over on Neowin:

IMHO…

It’s a tricky problem… Apple decided to pipe everything through their own interfaces, and lost a lot of GL performance. It sounds like the Vista designers are trying to find ways around those limitations where possible - but it might not be possible in all cases.

Basically, it looks to me like the DWM is one big full-screen Direct3D app that hosts all your other apps. Piping a Direct3D app through it probably took some clever thinking and a lot of work with the Longhorn driver model, but I’d think this is only possible since it’s the same API.

However, an OpenGL app is going to want direct access to the hardware… something it can’t get if a Direct3D app (like the DWM) is running. So either it has to shutdown the DWM, or find a way to pipe it through Direct3D. They seem to be trying to support both options, depending on which is optimal for a specific scenario.

I’m always skeptical of conspiracy theories, but this one seems particularly “out there.” It’s a technological problem that is difficult to overcome.

Worst case is that CAD/modeling users will have to run in Classic mode, or at least with the DWM shut off. Big deal.

Why should gamers (majority kids and average users) to switch to another OS and play a very few number of games because they cannot have their favourites run in full OpenGL under Windows? Who cares?

That’s not what’s being suggested here.

I believe the Vista guys have said that when ANY full-screen game is run, many system services including the DWM will stop to allow the game to take full advantage of the system’s resources.

In windowed mode (which is rarely used for games), you have two options:

  1. Let the system turn off the DWM in order to let the application run at full speed.
    OR
  2. Let the application run through the DWM with somewhat reduced performance, if it supports the DWM/OpenGL compatibility layer.

For 99% of games, no one will notice a difference. Most games have crappy windowed mode support to begin with.

For 99% of CAD/modeling people, they’re not going to care if the DWM stops while they’re working.

Of course, this is all speculation at this point, since little or none of this has been confirmed by the Vista team.

I fail to understand what the problem is here. Let’s stop the hatin’ for a moment here, and step back to take a look at things. So Microsoft has a DirectX based GUI. Okay, I get that, they want all the shiny bells and whistles bull**** to make it look nice. If they can accomplish all this with DirectX, why re-write it for OpenGL? There’s some older games that support both OpenGL and DX (the Unreal 1.x/2.x engine comes to mind) But you don’t see many hybrid DX/OGL games anymore. Why? Because it’s a salty pain in the ass to code for both if you can just do one! If you want to use OpenGL, then turn off the damn Aeroglass! Geez! :stuck_out_tongue: We’ve been perfectly happy with the same GUI for 10 years- many people I know even turn off Luna on XP in favour of the classic 9x GUI look. Now, we’re getting some crazyass 3d accelerated GUI, and all y’all are pissing and moaning because it uses DX- and Microsoft had the foresight to build a (good) OGL wrapper into it! How about instead of “aw, HELL no”, let’s hear a “we don’t have room to complain because half of us are gonna download Longhorn from Bittorrent, and the other half is gonna stick with XP for another 3 years because we’re too lazy to upgrade” :smiley: Point being, until we get more info, wait an see.
Oh, and one more thing- Microsoft is spelled M-I-C-R-O-S-F-T. This little guy- $ - he’s meant as a prefix for united states currency. If I see any more “M$” or “Micro$oft”, I’m taking out the rusty spork, and you know what that means. Sorry if I’m coming across as a bitch, I’m nice, uh, really! :smiley:

errm… we should be greatfull because MS have forced everyone who wants to ue OpenGL to jump thru hoops todo so?

Frankly, no.
Firstly, 1.4 was 2 revisions of the spec ago, we’ve had 1.5 and 2.0 since then.
I do ALL my coding against the 2.0 spec because I use GLSL all the time, as such 1.4 is utterly useless to me.
Now, when debugging I run my stuff in windowed mode so I can break the program and see whats going on, so it ‘being ok for fullscreen apps’ is like wise utterly useless for me.

OK, so I could turn off Aeroglass, practically the ONLY selling point for Vista after they stripped most of the other stuff out for ‘later’ release, but this is where the whole ‘jumping thru hoops’ kicks in. Under XP I run the skinned GUI as I happen to like it to look nice, Vista is ment to look and respond even better and thats what I want from my OS, not to have MS dictate how I use it (which is basically what they are saying).

As for not being able todo it, sorry, I dont buy that for one moment. End of the day everything ends up in video ram in the same format, as such it should be possible to render GL commands to a ‘render target’ of sorts and then use that as a source for Vista’s rendering of the desktop.
Sure, you’ve never been able to run D3D and OGL in the same app before now but thats because no ones ever needed to, end of the day the driver writers should have complete control over what goes where and how things are accessed, so there shouldnt be an issue into supporting it.

Originally posted by bhpaddock:
For 99% of CAD/modeling people, they’re not going to care if the DWM stops while they’re working.
This is most definitely not true. 99% of CAD/modelling people use other applications in conjunction with the modeller (e.g., Office, IE, etc.). It is definitely not clear if these applications will provide full functionality if the DWM is running in ICD compatibility mode.

I can say for certain that 100% of CAD/modelling people will not accept a 20%-50% drop in performance. Therefore the people that are paying the bills for high-end graphics cards will still require ICD support to maintain the current level of performance. That being said, there is no reduction in the burden on the graphics card vendors because they are already committed to OpenGL 2.0 and that is clearly not going to be supported in the full featured Aero DWM.

If there is no significant technical reason for preventing full ICD support along side the full featured Aero DWM (per a previous post by a 3Dlabs poster), then there is only one reason for this limitation but I will leave it up to the reader to determine what that might be. I will point out that both D3D and OpenGL share a common low-level interface – silicon – and every graphics card vendor maps ICD and DDI calls onto this interface.

– tranders

Makes me long for the days when we used to boot up a game at computer startup. I think it’s time that someone provides a lite OS to cradle games with full support for OpenGL.

Do it! Do it! Just do it!

thwart

If this is the case, couldnt linux just adapt? Why not just create a directX for linux? Something that just has the same function calls as the windows directX, only they call opengl equivilent, or even a whole new 3d system should opengl die… All is never lost, MS cant kill linux, or other alternate OS’s.

As things develop this site may be called:
OpenGL - Industry standard for low performance and compatibility graphics :smiley:

Can anyone post links or official statements from NVidia, 3DLabs, ATI, Intel… regarding OpenGL and Vista. I would like to hear their opinion - since I find that they are the only one that can truly correct things. And if it is not clear for them what kind of problem this would be in 3-5 years, then I really have nothing to say more. We all know what is MS (M$ - “the way its meant to be spelled” :wink: ) doing with vista.

Also it would be good to make automated petition page, where people can post their opinions. Also providing email addresses with template text would be good.

We can talk forever on this forum, but only ones with true impact on MS are IHV-s and big software companies that support OpenGL. The problem can be solved, but MS don’t want that – that’s the point. MS wants to push some-sort-of crappy GL till all apps go WGF and then leave GL stuff forever…

Microsoft is Dead