OpenGL crippled under Windows Vista

It’s funny that aeroglass can’t run an OpenGL app in windowed mode.

I am using a swish 3D accellerated windowing system, and I can run windowed 3D accelerrated apps just fine, and I’ve been doing it for a year, and many people have been doing it for years before I started.

Will.

Unless they had a conscience. id has enough coin and industry influence that they can do almost anything they want. If they choose to NOT code to D3D, that will really put the pressure on MS to keep OpenGL working smoothly on Vista.

If you still don’t have enough evidence the MS is just plain evil and must be stopped before the ruin the entire computer industry more than they have already… sigh…

This also sounds like a good reason to switch to Mac ;-).

Trust me, you’ll be glad you did :slight_smile:

(After all, OS X has most of the cool features that Vista will have, but it had them several months ago.)

That’s true.
However, taking into account that money rules the world… Well, let’s see if ID are the rebels to fight the nasty M$ imperium. They’ve got the force, but judging from their games’ “contents” it looks like they’re on the dark side, too.

[quote]If you still don’t have enough evidence the MS is just plain evil and must be stopped before the ruin the entire computer industry more than they have already… sigh…
[/quote]
Very true.

After wading through a lot of FUD and looking at the MS architecture, it seems to me that:

  • Full screen games will be Ok with OpenGL 2.0 supplied as an ICD as they don’t need aeroglass to be running.
  • Windowed games will be stuck with OpenGL1.4 running over the successor to DirectX.

However I did see one post that pointed out that the heavy DRM stuff in Vista may have an impact in that all ICDs have to be certified by microsoft and hence cannot expose any features that could be used to subvert DRM without all DRM OS features shutting down. Not sure if this is FUD, but suspect there is an issue with freely exposing arbitary extensions and enforcing DRM. Hopefully not a problem for games, since you normally shut down other apps anyway.

The main losers appear to be application writers, who are stuck with Vanilla OpenGL1.4 if they want to keep the aeroglass experience. They’ll probably have to move over to DirectX & successors.

If this isn’t the way of it, I’ve just added to the FUD ;D

Alan

Edit: I wonder how you select the graphics manufacturer’s ICD rather than the default MS 1.4OGL. There’s got to be a OS call for this, which means JOGL and LWJGL will need to expose it.

Well, here’s another thought:
OpenGL on windows has been screwed for quite some time already. Not by MS, but by ATI and their hideous drivers (or most other non-nVidia cards’ OGL drivers).
On the new windows, at least their buggy drivers can be bypassed to use DX (albeit without extensions), which is better supported anyway.

[quote]Hopefully not a problem for games, since you normally shut down other apps anyway.
[/quote]
I still see this a big problem for games. I have more DX/OGL windowed games than fullscreen-shutdown-rest-of-the-world games. Freeware, shareware community has zillions of those all famous “little” games. Most are run fine in windowed mode and do it perfectly fine. I play them regularly and even keep some games running here at the office. They run in background and I play them 5-10min periods once in a while. Especially puzzle games are run this way in most of our desktops I presume.

Now in Vista, good shareware OGL games does not work as Average Joe expects to see it. Many homegrown game coders learn DX/WGF only and that’s it. Soon we get even more pool of some DX experienced coders and none OGL experienced one. Once they graduate and get a job, they know nothing but DX and make games for Win+Xbox platforms only. I would call this “divide and conquer” master plan.

They’ll fix it with the GL vendors so that their ICDs will work perfectly well with Aeroglass, don’t worry. Nothing’s going to stop vendors shipping GL drivers for games that use GL or the vendors will find that their cards won’t sell as well as their competitors. Therefore OEMs system builders will ship their machines with GL drivers as otherwise their machines will appear inferior. And therfore Microsoft will fix the issue because otherwise it makes Vista look inferior. It’s not rocket science! Stop worrying already!

Cas :slight_smile:

I read in the slahsdot comments about this topic, that the reason why aeroglas must be shut down for true openGL is the GPU.
Because it is not possible to run openGL and DX on a GPU on the same time. Everytime a command from the an other API should be executed, the GPU must be flushed. Aeroglass ist pure DX, which means that with some OpenGl windowed app, there are both DX and OpenGL computations for the GPU.
For MS the options are: 1. let aeroglass be slown down by an OpenGL app or
2. wrap OpenGL.
As far as I understand it, fullscreenapps won’t be touched by this, the vendor spezific drivers will work here with true OpenGL. If you want true OpenGL with windowed apps or with a multidesktop system (I love my second TFT, chatting on it while playing something on the first one in fullscreen is great : ) you must disable aeroglass, or it will be disable automaticly if some real OpenGL driver is loaded (I think you must do it yourself).

I am not sure how much of this is a fact or FUD, I read it last night on different places in the web.

You think the GPU knows about high level APIs like DX and OpenGL? Regardless of the API it’ll end up as vendor-dependant microcode anyway. At worst drivers will have to be rewritten to cope with multiple rendering contexts at the same time (which should be largely present already).

I seem to remember some very similar FUD around the XP pre-release hype (no OpenGL at all, only software rendering at best) which amounted to practically nothing.

I found the post about that, like I said, I have no idea if it’s true, but it sounds like it could be.

“The API are different enough (coordinate center position comes to mind, among other things.)”

the URL to the post

I searched a bit for the starting post about that part of the discuission, but din’t found it :frowning:

Coordinate origin would just be a matrix change. Given that you’re going to be changing state anyway thats trivial to work around. Likely I’ll guess you’ll actually see graphics cards doing some better (read: some) state caching in vram for faster context switching.

Besides, we’re already at the point where graphics cards will buffer up and delay actual rendering commands, a sensible driver should have no problem buffering up two or more sets of commands and running one after the other, with minimal amount of switching overhead. Take a little more memory sure, and a tad longer to render your app’s stuff, but the overall thoughput should be pretty much the same.

This may be a silly question, but doesn’t windows already use DX to speed up rendering?

I think you are right here. Because nView (a feature that comes with some nVidia drvers) will complain that it cant make the taskbar translucent because windows is already using DirectX to render transparency or (something like that).

To check this fact out could somebody simply run a DirectX app next to an OpenGL one? (I’m only a linux user, so I’m not able to check that out)

Some german article about that topic here:

They pretty much wrote the same stuff there… and no details from nvidia/ati yet… well, we’ll see.

Well, the last sentence of your newsticker article says this alarming thing which I didn’t read here in the thread so far:
“ID software said that for new projects they possibly will swap to DirectX” ! :frowning:

In case ID’s support for OpenGL falls, OpenGL will be dead on the evil Windows OS and de facto on many other platforms too, which benefit from the cross platform aspect of OpenGL. Imagine Lightwave, Maya, etc.!
After all, this is what M$ wants since ever! Then they would own the one ring to rule them all (what’s concerning 3d).

This would be a terribly sad thing for the freedom of choice what’s concerning your favourite 3d API.
Furthermore I’m somewhat perplex on what to do with our game projects which base on JOGL or LWJGL! It’s already been much work to handle them in one’s spare time and now this!

Sigh. And the masses continue to hail Gates & M$.

I don’t think that Doom3 would make a difference, its more up to the non-entertainment software, 3D Modelling, CAD, science etc. In that domain OpenGL usage is near 100% and thats where the problem really lies, because most of them are not fullscreen.
I personally think particularly the developers of highly commercial software (1k $ per license and up) will hold some funny talks with MS :slight_smile:

It occured to me, that unless this is fixed - the whole AWT/OpenGL-backend path is dead in the water.

In theory it should be the same code that’s running on OSX and *nix boxes, no?
Anyway, this isn’t going to happen. Stop worrying about it.

Cas :slight_smile: