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

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:
[ul][li]OpenGL performance will be significantly reduced - perhaps as much as 50% [/li] [li]OpenGL on Windows will be fixed at a vanilla version of OpenGL 1.4 [/li] [li]No extensions will be possible to expose future hardware innovations [/ul][/li]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.

What can you do?

[ol][]Write to your preferred ISV, hardware developer or OEM and tell them to bring this up with Microsoft (e.g. 3Dlabs, ATI, Intel, Matrox, NVIDIA, HP, Dell)[]Bring this issue up on other developer and tech-related web sites. If you have a personal blog or podcast, talk about the issue there. Windows Vista might end up being a great product, but not if OpenGL is crippled[*] Post your comments to this message board (please no Microsoft bashing - Just make it clear that Windows needs to stay a great platform for the OpenGL API and offer any suggestions) [/ol]

Mac and Linux developers should be especially active, since without a cross platform API, there will be less development on non-Windows systems

out of intrest, where did this infomation come from?

This was discussed within the community both at WinHEC and at Siggraph.

Several tech and gaming web sites have also posted the basic info on Windows Vista and the impact on OpenGL. http://www.gamingforums.com/showthread.php?p=2193526 is the latest one I found

hmmm alot of people I know still arent buying it, they are putting it down to rumors and without any hard evidance to support it from a decent source I dont see them doing so either…

:mad: This is just outrageous!

M$ has decided to make console system out of PC and windows. To make PC to be closed platform for hardware and API they don’t want (read – better than their DX product). With 2.0 spec, OpenGL has finally got real power – and with portability, Sony PS3 development, mobile and PDA market, more and more companies are sure going to use it in game/application development. This is what M$ doesn’t want.

  1. First step is to degrade OpenGL – and force programmers to go to WGF (resulting complete disappearance of GL from windows).
  2. When this is done – force hardware manufacturers to produce windows ONLY hardware (hi-end gaming hardware). Effectively killing growth of Linux and Mac systems.
  3. When this is achieved, M$ will control most of the desktop industry – and then $$$ royalty for each card/hardware/peace of software that works on Windows.

Great plan. If we can’t keep up the race let’s just kill the opponent. Nice and easy. Like a huge truck on the road -it sees Ferrari trying to take advantage in the race – well it simply pushes it of the road.

The true looser in this $$$ policy will be end user. Since if this pass, the day will come when only M$ will choose what way would be right for every application, game or hardware (not to mention programming language - C# and similar). And this is called monopoly – the best way to destroy progress. I don’t know what to say, this move is not only move that hits directly OpenGL and game industry - it is try to control all aspects of future computing. I hope they will fail.

Btw, I would really like to see some sort of easy, plug and play Linux standard for games. For example, user just puts DVD in drive, turn on the computer and nice and easy interface for gaming is there – insert the OpenGL game and enjoy. Or better, small gameLinux OS that goes free, and when inserted in drive reboots machine in “game mode” and starts the game without M$ stuff…

Facts:

  1. Microsoft left ARB comitee.

  2. David Blythe now works for M$.

  3. David Blythe - TWPR05007_WinHEC05.ppt
    See his diagrams and comments… OpenGL will be implemented OVER directX, will be open1.4 only and see the ICD diagrams…

  4. WinFX SDK - http://www.microsoft.com/downloads/detai…&DisplayLang=en

As you can see Longhorn(windows vista) API REQURIES a CLR/.NET language, even for some drivers …

  1. WFG2.0 and DirectX Next.ppt - Siggraph 2005
    More nasty-hurting diagrams…

My thoughts:

  1. M$oft is DECIDED to kill openGL. As you said is a policy… But mr666 has technical reasons too… OpenGL doesn’t fit well with the next MANAGED (clr, .net call it like you want) windows API called WinFX ( read some of my previous posts if you dont trust me… ) neither with the new driver LDDM model.

Remember to initialize opengl in windows XP need to call GDI funcions like GetDC(), ChoosePixelFormat(), blah blah… Also requires POINTERS, unmanaged calls and OGL is NOT strong-typed. Also, GDI IS DEAD IN LONGHORN.

OpenGL in Windows Vista EXISTS but considered an obsolete legacy API. Obviously M$ want ppl using DirectX and WGF, not OpenGL are primary render API… But they are forced to implement it because they dont wanna loose, for example, Doom3/XSI/Maya users… M$ strategy is very logical.

  1. Pls somebody explain why in the meltdown 2005 presentation called “DirectX Futures - David Blythe (Meltdown 2005).ppt” it says literally:

DirectX Technology drives the next generation of graphics: Microsoft Windows® Graphics, Xbox 360™ and PS3/RSX

  1. Personally I don’t anymore use OpenGL in Windows… I use DirectX because I really thing is much better for this platform… But if I need portability I am forced to use OpenGL…

  2. Now OpenGL is in Windows what is Wine in Linux, an emulator…

This was discussed within the community both at WinHEC and at Siggraph.
Who discussed it? Any official sources? Were you there?

None of this is true. The source posted (Gamingforums) originated, I believe, from Guru3D and is completely discountable based on the fact it contains not only articles contradicting what we do know about Vista, but fallacies about the architecture of operating systems and computers in general. Please read it, excersizing scrutiny, and you will see what I mean. Please do not use this piece of drivel as a basis for attacks on Microsoft, it will only make you look foolish.

@cutmeaslice - Good point

I would like to hear comments from OpenGL.org authority. I failed to find more info about Windows Vista and OpenGL. All there is are some messages on forums, speculations, nothing official (same article on several forums). So, I would like to get answers from OpenGL.org.

Where did you get this information? Is it confirmed?
Any official news about the “subject” from Microsoft? (links to web pages)
Comments from ARB board members?

After all, it is in your Headline News, and really casts shadow on future of OpenGL on windows. I REALLY like the GL, speed, simplicity, portability but this headline really got me… what to say more.

I have been doing some testing with the new Betas on Longhorn and this is somthing I noticed.

A flat install gives you eye candy but once you install the latest drivers, you get proper OpenGL but no eye candy. (I had assumed that this was because the drivers were not WHQL for longhorn or whatever - but this discussion makes me think otherwise)

What can we do? Well for gamers and professionals it probably won’t affect them as they always install the latest drivers and plain OpenGL 1.4 won’t cut it even for current games/apps (ie no shaders)

I think they are trying to cut it both ways, gamers and professionals don’t care about UI eye candy and will happly install the latest drivers to get OpenGL support for Max/Maya/Doom3/Prey etc. Joe average user never install drivers and likes eye candy. Net result is that developers see that most computers have inadequate OpenGL support and will stop developing for it.

Again what can we do?
Well Microsoft is not part of the ARB anymore correct?
Microsoft will probably have to get their “wrapper” certified as OpenGL compliant. Correct?
I suggest the ARB (or SGI or whoever) test the stuffing out of this “wrapper” and don’t approve it unless it conforms 100%.
(From what I have seen in the beta, it is quite a way from conformance)

Then MS will have to waste engineering effort to try and get it to conform.(Is it even possible? there is a lot of stuff in OpenGL that I can’t easily see translating, two sided lighting, fixed function lighting is different (specular) )

Hopefully if they cannot conform by longhorn shipping date, they will have to cave-in and ship the OpenGL drivers provided by the hardware providers.

Another plan of attack would be if some “killer” everyday-user application starts using OpenGL and has a check at startup for this “wrapper” and directs users to download correct OpenGL drivers. (not forcing them, just suggesting that for optimal experience update from <link to vendor site>)
Suggestions could be OpenOffice.org (as it already uses OpenGL and it seems to ship on a lot of no-name brand PCs) or perhaps even firefox could have some “fancy OpenGL” usage and do this.

It also does not have to be open source apps that do this. If you ship an app that even uses OpenGL in the slighest, warn and bug the user on first run.

Perhaps the ARB could contribute some code so all these warning messages are displayed in a consistent manner. A interface provided in a static lib like:

GLuint WINCheckOpenGLSupport();

Which would open a dialog if the wrapper was detected and then (with users permission) attempt to contact a central repository (OpenGL.org/SGI?) with the video card vendor and device ID. (assuming Internet support - should be common by the time longhorn ships) This repository would then reply with the website from which the latest drivers could be downloaded from. The dialog would then open the web browser pointing at this web site. (vendors could be responsible for updating their download links)

Return codes from this could be:
0 - driver is OK. Continue to run.
1 - driver is wrapper - user elected to not update. Continue to run.
2 - driver is wrapper - user elected to update. (so exit app now)
3 - driver is wrapper - no net connection/ unable to contact website/ unknown device.

This interface is probably a bit high level but could broken into sub-sections (ie CheckForWrapper, ContactRepository etc) to let the the app developer open their own dialogs.
This lib could be updated periodicly with just the vendor ID’s to websites (ie www.nvidia.com www.ati.com)) so if the repository went down, you could still direct them to the main site. (vendor ID’s and sites should almost never change)

(This is off topic from the MS thing - but would be handy)
This interface could even be extened to provide a means of checking driver support. For example, you could pass a data structure with the date you did all your testing. This date would then be compared agains the timestamp of the currently installed driver (once the wrapper checks pass) and prompt the user if their drivers are too old. Then proceed to do the usual website lookup.

gee, what a rant…

Originally posted by bobvodka:
out of intrest, where did this infomation come from?
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 ICD 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.

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.

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

“Advances in Display and Composition Architecture for Windows [WinHEC 2005; 422 KB]” http://download.microsoft.com/download/9…05_WinHEC05.ppt

Regards,
Barthold
3Dlabs

OK, thank you for confirming it and explaining more, this should certainly help convince people its not just a load of rumours and anti-MS bashing

Ok, thanks for info… this is so Micro$oft. And they wonder why do they have bad reputation among developers. It’s easier to destroy everything that’s not M$ produced than to make it part of family. If you can’t buy them, destroy them policy.

As soon as an ICD 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.
one thing i dont understand fully.
does this mean u cant have an ICD + and the desktop (showing)running at the same time, ie it wont effect the dude who runs doom3 fullscreen but will affect the user who runs windowed apps eg modeling software with the aeroglass thing showing. also for the user who runs doom3 fullscreen what happens when the exit the game?

Hello guys. I didnt got something form all this…
It will not be possible to turn this aero **** off and run OpenGL Applications without this DirectX wrapper?
thank you

DirectX Technology drives the next generation of graphics: Microsoft Windows® Graphics, Xbox 360™ and PS3/RSX
The PS3 is using OpenGL 2.0 ES.

But anyhow, presumably it would be easy for driver writers to get round this since DirectX now replaces GDI completely effectively the driver writers have full control over the graphics subsystem. The solution seems to be for card vendors to get Microsoft to ditch their ICD altogether (why would anyone use it now anyway?) and have video card manufacturers make stand alone OpenGL drivers.

Is there any protection by Anti-trust laws ?

It’s clearling an idea to kill OpenGL on Windows and
impose only their API so maybe…

It is obviously another “smart move” which perfectly fits in a monopolist behaviour which is entering the console market.

Since I have decided to drop linux, I could live with DirectX, still, I am very disappointed by the news. I was considering switching to DirectX but a being forced to do so is a different thing.

Originally posted by Groovounet:
Is there any protection by Anti-trust laws ?
I also believe we shall look in that direction but what legislation would apply? Maybe someone like the ARB should put up a digital way to sign a petition. Since digital petitions are not really useful, they may also provide a way to give “real signatures” on paper. I think this would pack more momentum than electronic medium on legislators.
The problem involved is that it should be valid worldwide (I mean, accept signatures from all the world).
As recently done in the struggle against SW patents in EU, maybe a “economical majority” could also be formed, with enterprises signing in.

It sounds like when Microsoft decided to drop Java from IE. Maybe a similar process shall be followed.

I think I’ve already written too much. Add the obvious (flaming) considerations here.

Umm, this is Microsoft way, but not a wise way !
I do believe that things would be better soon !

God bless OpenGL :wink:

I think that OpenGL standard is too strong to simply destoy it - too many companies support it. However there is another scenario what would happen if NVidia and ATI drop new D3D from their driver? I think that those hardware companies have much more power than software oriented Microsoft…