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

Continue OpenGL support
> Important component of the Windows platform, particularly for high-end workstation applications
In-box hardware accelerated version of OpenGL
> Uses WGF 1.0 as common graphics pipeline
> Upgraded API support compared to XP
> OpenGL 1.4
Continue to support OpenGL ICDs
> Can be shipped by OEMs
> New ICDs required for LDDM
> Old XP ICDs work with XP driver model in Longhorn

The Information is from:

http://download.microsoft.com/download/9…t#273,16,OpenGL

Is that true?

The key word here is support - I mean what kind of support, certainly not 100%.

Yes you can have “support” for IHVs driver ICD - the same way it works on XP - BUT as soon as ICD is activated by some application (this concerns mostly windowed apps since then it is visible) you will loose Aero composing. It will look like you turned Vista to “old” XP style windows.

Also some guy on Aero forum wrote that OpenGL ICD can be used but only with one application? I am not sure about that, it does not make sense, so if someone knows more about this it would be great to post reply.

Originally posted by croky:
[b] [quote] Sure the OpenGL/Vista/Aero problem is still here but I hope IHVs will be able to get valuable info on how to make OpenGL and Aero work together. For now it’s up to Microsoft to make this happen.
Of course, this is the most reasonable level of action, but where is the OGL community in this scene ? After all, aren’t we here to Ensure that OpenGL remains a first class API under Windows Vista ?

The community can organize and start mailing IHVs and M$. I will predict a more open attitude from IHVs and i believe that should be the main concern as for now. IHVs can then persuade M$ to change its plans and shift this situation to a more favorable position for OGL, a “real” OGL.

It is a fact this is a problem, it is a fact that M$ originated the problem, it is a fact that M$ does not want to solve the problem with IHVs, it is a fact that the best that M$ came up with will cripple OGL, it is a fact that Win developers working with OGL will be negatively affected, it is a fact that due to OGL portability, other OSs will also be hit as OGL is their main 3D API, and i assume - with a high degree of certainty - that without developers, there’s no future but only a decaying API.

How many more facts do we need for people to stop assuming a heavenly M$ attitude towards OGL ?
Such possible attitude is obviously clouded due to such facts.

Croky[/b][/QUOTE]Ok, you’ve got a point on the fact that we have to make our voice heard :slight_smile:
If some moderator could post a email list for each IHV + Microsoft, and a mail example so we can send it to them it would be more constructive :slight_smile: Maybe this has already be done but I must admit I didn’t take time to read all the posts…

Whew! all this nonsense just makes me glad that I switched to Linux a few years ago!

I’m not here to “bash” Microsoft… :stuck_out_tongue:

IMHO,
Anyone who thinks this is going to affect us Linux users is nuts.
At the most this might affect Linux users who run “commercial” software… I seriously doubt even that.

The people who are going to suffer most is Windows users… (duh!)
They might even lose some great GPL’d windows software, most GPL software starts on Linux till someone comes along and ports it to Win.
I imagine that very very few “open-source” dev’s would drop Linux in favour of Windows…
Seeing as most open-source dev’s don’t do it for the money, MS can do what they like but they’ll never manage to “squash” them, as a result Linux or OpenGL won’t die!

As far as I’m concerned MS is like a huge warship that has a small but irreparable hole below the waterline - they’re going down! :eek:

Check this:

http://www.microsoft.com/windowsxp/using/games/gameadvisor/default.mspx

I have seen “… Recommends Windows XP in many sites and even the TV,” but to see that ATI is recommended as well it’s unbelievable. Why not recommending NVIDIA cards which beat the hell out of any gaming card ever created.

Tell you why it’s because ATI have good support for DirectX right? And NVIDIA dones not? No. Both have good support for DirectX and probably the later has much better out performing drivers.
It’s the fact that ATI does not support OpenGL as NVIDIA does and if they have supprot their OpenGL dirvers lack behind their Direct3D counterpart on Windows. On Linux it’s still infancy.

It’s clear that MS is monopolizing not only the business but also the gaming desktop.

DirectX sucks performance
DirectX sucks API
DirectX sucks direct hardware access
DirectX is not direct it’s a wrapper by itself and now they are going to wrap it. Making a nasty swissroll to kill the perfomrance and the elegant true direct API “”“”“OpenGL”“”“”

We all wish that DirectX die.

If I can just cut thru the FUD,ranting and generally OT bollox floating around in this thread (ie most of the pages here infact) for a moment, I’d like to draw your attention to the following;

…Currently, the implication of using the IHV-supplied OpenGL driver is that the Aeroglass desktop compositor will be switched off for the OpenGL application going through an OpenGL ICD. This means that the borders of the application window will be opaque instead of (potentially) transparently composited with underlying windows…

…Other running apps are unaffected.

  • Randi Rost, 3DLabs.

So, everyone can put down their flaming torches for now as things arent as bad as they seem; you can still get ICD acceleration for your windowed apps, they just wont be under the control of the compositor for blending etc.

Can you post the whole text instead of quote? I was unable to find complete post. Thanks

Hey guys im following this and compiling a small to the point news coverage on my site visentinel.com

So it seems to run windowed apps the aeroglass will haveto close first, that could be slightly annoying having to wait for it shutdown first sigh, but any information for fullscreen apps like games ?

I think some Developers/Vendors should act like in the past when D3D wasn’t very useful:

http://www.geek.com/techupdate/opengltc.htm

But now the main reason would be s.th. like:

We want any 3D API competition to happen on an open technical playing field, with us […]

I think the problem is, that most people use DX and don’t care about competition.

Originally posted by lgop:
I think the problem is, that most people use DX and don’t care about competition.
The majority of Games developers under Windows may use Direct3D, but this does not equate to most graphics developers, its only one part of the games market, let alone the rest of the computer graphics market.

The professional graphics application has always predominately used OpenGL and continues to use OpenGL. The professional graphics application market isn’t standing still, it now adopting OpenGL 2.0 and they very much do care about peformance. I know, because I serve this sector, over 1100 application developers use my middlware that soley runs OpenGL.

Microsoft’s OpenGL 1.4 implementation for Vista, without support for extensions, and using a wrapper that will envitably lead to a significant reduction in peformance simply is not acceptable.

Disabling the desktop compositor to use OpenGL applications is not acceptable either. Yes its a work around, but its far far from a professional solution. Are we not supposed to be moving forward with technology? Not making integration and peformance worse with each new generation of software.

There is a simple solution to this problem. Provide the specs for integrating with the desktop compositor, and actively engage with the industry to make a killer OpenGL 2.0 implementation that works seemsly with OS and its desktop environment. We all know its technically possible, its just a matter of will, and the humility required to actually listen to what application developers want.

Originally posted by Robert Osfield:
[b] [quote]Originally posted by lgop:
I think the problem is, that most people use DX and don’t care about competition.
Microsoft’s OpenGL 1.4 implementation for Vista, without support for extensions, and using a wrapper that will envitably lead to a significant reduction in peformance simply is not acceptable.

Disabling the desktop compositor to use OpenGL applications is not acceptable either. Yes its a work around, but its far far from a professional solution. Are we not supposed to be moving forward with technology? Not making integration and peformance worse with each new generation of software.

There is a simple solution to this problem. Provide the specs for integrating with the desktop compositor, and actively engage with the industry to make a killer OpenGL 2.0 implementation that works seemsly with OS and its desktop environment. We all know its technically possible, its just a matter of will, and the humility required to actually listen to what application developers want.[/b][/QUOTE]I absolutely agree with you. And we should also
let MS know about our displeasure. An we should
keep the topic in the foreground.

I suspect this issue will ultimately become an opportunity for the hardware vendor that devises a workable solution. Unless the display driver side of the house has changed dramatically in Vista, there are at least a couple viable approaches for merging OpenGL with D3D without performance issues or Window Manager/Compositor artifacts.

I’ve got a favorite vendor in mind, hence I won’t elaborate. Clearly, the vendor that has consistently invested in OpenGL and D3D equally will mostly likely get this right.

If MS decides not to play, MS will ultimately loose control. In other words, if you want MS outside of the OpenGL household DON’T EMAIL them or complain about their strategy. They’ll come knocking on the OpenGL door with hat in hand if we let things progress as they have been. There are some games you don’t want to play by yourself and this is one of them.

Have faith in OpenGL and the vendors that support it.

Do you really think that IHVs are going to hate writing ONE driver for their products? Think again!
You are making hype without a clear or argumented
reason. I’ve read so many things here that fall
under the category of uninformed like:
“No multiwindow apps with DX”
“Bad performance”
“Monopolistic behaviour” etc…

Don’t know about you, I’m using DX since v3.0 and
I’m happy I didn’t have to learn all those
extensions and other time consumers from the
“wonderful open source” community.

General advice: learn about your “enemy” before
you take it for granted!

@actionGL
That quote is all I have to work with, I’m happy to trust the source that the rest of the infomation wasnt important.

@tosa
maybe you should do the same;
For starters OpenGL isnt Open source.
You also mention ‘learning all the exentsions’, well you dont have to, just stick to core opengl. and I tend to think that learning a few extensions is less of a time consumer than dealing with MS changing the API every year or so :wink:

Instead of extensions in DirectX you have ‘caps’. You need to check if hardware supports the stuff you want. Also GL has many free tools that handle extensions (glext - GLsdk library and such), so there is no need to panic about extensions. The same way you ask DirectX if some cool FX is supported, you do for GL. The only difference is that GL extensions are available as soon as IHVs make them (driver update), and DX users need to wait for next version/update of DirectX. So do the math.

I don’t beleive that DirectX is suitable for CAD/CAM/VR/Simulation applications. It’s much more suitable for games.

And the fact we have to create a buffer, lock it, fill it, and unlock it to draw a single primitive is something breaks the rule of a good API design, and incurs more overhead. Reflects less Direct interface to the hardware. Direct3D is layerd by itself and layering another API on top of it is a disaster.

It’s not our responsibility but the ARB who arte supposed to take some legal action.

And the fact we have to create a buffer, lock it, fill it, and unlock it to draw a single primitive is something breaks the rule of a good API design,
I guess you mean a vertex buffer. You do the same with GL :
glMapBuffer, get a pointer, write your data, glUnmapBuffer.
You can use glBufferSubData but that does the lock/unlock for you.

“breaks the rule of a good API design”

Damn straight! DirectX sucks!

Smart move by MS but i hope it is strongly contested.

Well it’s not. It’s actually a dump backward step where they can show that D3D outperforms OGL on their platform.

From: http://en.wikipedia.org/wiki/OpenGL

Future in Microsoft Windows

On August 6, 2005, Microsoft’s intentions for OpenGL support in Windows Vista were revealed on in an Opengl.org news announcement:

Microsoft's current plan for OpenGL on Windows Vista is to layer OpenGL over Direct3D in order to use OpenGL with a composited desktop to obtain the Aeroglass experience. If an OpenGL ICD is run - the desktop compositor will switch off - significantly degrading the user experience.

In practice this means for OpenGL under Aeroglass:

OpenGL performance will be significantly reduced - perhaps as much as 50%

OpenGL on Windows will be fixed at a vanilla version of OpenGL 1.4

No extensions will be possible to expose future hardware innovations

[b]It would be technically straightforward to provide an OpenGL ICD within the full Aeroglass experience without compromising the stability or the security of the operating system. Layering OpenGL over Direct3D is a policy more than a technical decision.[/b]

As a result, the future of Microsoft Windows support of OpenGL as a mainstream library for computer and video games looks precarious. Microsoft have taken the decision not to release the information necessary to allow third parties (such as those at NVIDIA, ATI or the other large graphics card manufacturers) to develop replacement drivers, leaving no way to avoid the 50% speed drop. A 3Dlabs employee states in the same Opengl.org thread:

This information came from the OpenGL BOF held at Siggraph 2005 in LA this last Wednesday evening. This was confirmed at the BOF by NVIDIA, ATI and us (3Dlabs).

As soon as an [installable client driver] is loaded the composited desktop is turned off on Windows Vista. If you want the composited desktop Aeroglass experience, you will need to make your application go through Microsoft's OpenGL implementation, which is layered on top of DirectX. As pointed out earlier, this layering can have performance implications. Their implementation supports OpenGL version 1.4 only, without extension support.

[b]We believe it possible to provide an ICD with full composited desktop support while adhering to the stability and security requirements in Windows Vista. But we need Microsoft's help in doing so.[/b]

Therefore, as mentioned before, please let your contact in the ISV or IHV or OEM community know how you feel about this and spread the word.

For some more information, you can browse these Microsoft WinHEC slides:

"Windows Graphics Overview [WinHEC 2005; 171 KB]"  [http://download.microsoft.com/download/9...07_WinHEC05.ppt](http://download.microsoft.com/download/9/8/f/98f3fe47-dfc3-4e74-92a3-088782200fe7/TWPR05007_WinHEC05.ppt) 

"Advances in Display and Composition Architecture for Windows [WinHEC 2005; 422 KB]"  [http://download.microsoft.com/download/9...05_WinHEC05.ppt](http://download.microsoft.com/download/9/8/f/98f3fe47-dfc3-4e74-92a3-088782200fe7/TWPR05005_WinHEC05.ppt) 

Regards, Barthold 3Dlabs

An installable client driver is the glue provided by a card manufacturer to connect your operating system with your graphics card.