VOGONS


First post, by iulianv

User metadata
Rank Member
Rank
Member

I'm trying to run Quake2 in default OpenGL mode on an Intel 810E2 based Fujitsu Siemens Scenic T computer - with either the OS (WinXP SP3) installed video driver or the latest one downloaded from Intel the game bails out with "GLimp_Init ( ) - no hardware acceleration detected" on the console. Tried full-screen or window mode, tried 16bit or 24bit desktop color depth (32 is not supported), no change. From what I've read the i810 integrated graphics is supposed to support OpenGL - has anyone had any success with what I'm trying to accomplish? Thank you.

Reply 1 of 19, by silikone

User metadata
Rank Member
Rank
Member

Try the well known OpenGL caps viewer.

On a mostly unrelated note, my 2013 portable PC includes an Intel graphics driver with basic Windows features and no OpenGL in the driver store. The pre-installed driver includes OpenGL, but no OpenCL. So yeah, Intel driver packages can be a bit shoddy.

Do not refrain from refusing to stop hindering yourself from the opposite of watching nothing other than that which is by no means porn.

Reply 2 of 19, by Scali

User metadata
Rank l33t
Rank
l33t

The i810 uses a derivative of Intel's i740 accelerator.
What's interesting is the announcement of the i740:
https://www.intel.com/pressroom/archive/relea … 98/CS021298.HTM

"The Intel740 3-D accelerator provides no-compromise performance for Quake II players," said John Carmack, technical director and president of id software. "Intel has shown that it isn't necessary to cut features or sacrifice quality in consumer-level 3-D."

That would imply that indeed the i740 and its derivatives can run Quake II, and afaik OpenGL was the only acceleration supported in that game.
So I would indeed suspect the drivers.
I wouldn't be surprised if the drivers for XP didn't include OpenGL at all, probably because it was too slow, buggy and lacking features to be of any use. GPU Caps Viewer or GPU-Z should be able to tell you if any OpenGL driver support is detected at all.
Either OpenGL is missing altogether, or the later drivers are not compatible with Quake II for some reason. In both cases, I'd try older drivers, and perhaps an older OS. In the days of Quake II and the i740, Win98(SE) was likely the OS of choice. The OpenGL support under Win9x may be different/better than under 2k/XP.

http://scalibq.wordpress.com/just-keeping-it- … ro-programming/

Reply 3 of 19, by spiroyster

User metadata
Rank Oldbie
Rank
Oldbie
Scali wrote:

I wouldn't be surprised if the drivers for XP didn't include OpenGL at all

OpenGL 1.1 was shipped with WindowsXP, and has existed as part of windows since. There was even a GL->Direct3D wrapper so it could be hardware accelarated with out installing vendor specific GL drivers. Quake2 might have pushed the boundaries of GL 1.1 and so require GL 1.2+ which certainly requires drivers to be installed. Otherwise everything will fallback to (potentially) software GL 1.1.

Sounds 100% like driver issue. Just have to try different drivers.

Scali wrote:

probably because it was too slow, buggy and lacking features to be of any use.

I wouldn't go that far 😀, afterall it existed and evolved a long time before M$ lifed Direct3D from that company.. but since GL is nothing more than a standard, it's M$ who probably tried to stunt it by providing a shite default implementation... hence the reason to always install the vendor drivers.

Reply 4 of 19, by Scali

User metadata
Rank l33t
Rank
l33t
spiroyster wrote:

OpenGL 1.1 was shipped with WindowsXP, and has existed as part of windows since.

I'd like to separate two things here:
1) Windows support for OpenGL via the ICD interface, and a default software renderer
2) OpenGL Support for specific hardware via an ICD-compatible display driver.

Clearly Windows has had 1) for a long time, going back to Windows NT (the software renderer was dropped recently, some people made noise about it, but get real... that renderer was only GL1.1-compatible, so it lacked the features and performance to be of any use. Besides, all GPUs have supported OpenGL for years now).
But I am talking about 2). I know that my laptop doesn't get OpenGL support either with the default Windows 7 or Windows 10 drivers. If I manually download and install the right Intel package, I do get OpenGL. Some drivers just don't include the OpenGL portion of the driver.

spiroyster wrote:

I wouldn't go that far, afterall is existed and evolved a long time before M$ lifed Direct3D from that company.. but since GL is nothing more than a standard, it's M$ who probably tried to stunt it by providing a shite default implementation... hence the reason to always install the vendor drivers.

I think this is a common misconception: Microsoft writing drivers for hardware.
Just think of all the hardware out there, and how huge Microsoft's driver department would have to be if they had to write the drivers for all the hardware that is supported out-of-the-box on a standard Windows installation.
That's just completely unreasonable.
Microsoft only writes a few very basic drivers for extremely common and generic hardware (such as USB mice and keyboards, memory sticks and whatnot).
The more specific stuff such as harddisk controllers, video drivers, audio drivers etc, are provided by the manufacturers themselves, there is not even a 'default' for most stuff (apart from a fallback 'SVGA' driver, which obviously is so basic that OpenGL is the least of your concerns, and that is not what we are discussing here).
For some reason (especially in the past), certain manufacturers choose to provide a stripped version of their driver, which does not include all components that you'd get when you'd download the full driver package from their own website. In Intel's case it is known that OpenGL is not always included. However, other vendors do always include OpenGL, so it is unlikely that Microsoft is involved in these decisions.

http://scalibq.wordpress.com/just-keeping-it- … ro-programming/

Reply 5 of 19, by spiroyster

User metadata
Rank Oldbie
Rank
Oldbie
Scali wrote:

I know that my laptop doesn't get OpenGL support either with the default Windows 7 or Windows 10 drivers.

Strange... you shoud do...I do.

khronos wrote:

Without drivers, you will default to a software version of OpenGL 1.1 (on Win98, ME, and 2000), a Direct3D wrapper that supports OpenGL 1.1 (WinXP), or a Direct3D wrapper that supports OpenGL 1.1 (Windows Vista and Windows 7). None of these options are particularly fast, so installing drivers is always a good idea.

https://www.khronos.org/opengl/wiki/Getting_Started

Scali wrote:

I think this is a common misconception: Microsoft writing drivers for hardware.

M$ are indeed the authors of the default openGL32.dll in Windows\System32

gl.PNG
Filename
gl.PNG
File size
15.72 KiB
Views
2392 views
File license
Fair use/fair dealing exception

Now what happens when instantiated ... well ... what do we reckon?

I reckon when they were in the ARB, it was this GL->Direct3D wrapper and utilise hardware... when they left, it probably became M$'s software render as they didn't want GL to succeed. 😵
I don't know the chronology of them leaving, but I'm sure it was sometime around WinXP?

This is all moot these days since full Standard GL implementations come with most (if not all) drivers... certainly we have never had anyone having problems with GL standards and drivers... its the vendor specific extensions that cause issues for peeps with hardware we haven't tested on. Best leave the vendor specific extensions unless really needed... in those situations specific hardware would be recommended.

Reply 6 of 19, by Scali

User metadata
Rank l33t
Rank
l33t
spiroyster wrote:
Scali wrote:

I know that my laptop doesn't get OpenGL support either with the default Windows 7 or Windows 10 drivers.

Strange... you shoud do...I do.

I'm talking about a very old laptop with an Intel X3100 and GM965 chipset.
It was originally sold with Windows Vista. It's not officially supported under Windows 10 obviously, but you do get a driver installed for it, and it has Direct3D support.
If I however install an old Vista/7 driver, I do get OpenGL.

spiroyster wrote:

M$ are indeed the authors of the default openGL32.dll in Windows\System32

I suppose you are not familiar with what ICD is: Installable Client Driver.
See here: https://docs.microsoft.com/en-us/windows-hard … e-client-driver
The default OpenGL32.dll runtime is indeed written by Microsoft, and it acts as a sort of 'proxy'. Applications are linked to this opengl32.dll, and this DLL will scan through the registry for ICDs, and forward the calls to a compatible driver (you'll find that the actual OpenGL driver for your graphics card is not usually called opengl32.dll at all).
Direct3D works in a similar way. It's the only way to be able to support multiple devices in a single system, and to allow the user to choose which device to use in an application. Or even use multiple devices in a single application.

spiroyster wrote:

I reckon when they were in the ARB, it was this GL->Direct3D wrapper and utilise hardware...

As far as I know, Microsoft never had a GL->Direct3D wrapper in any version of Windows, and only had a software renderer. The only GL->Direct3D wrappers I know of, were third-party, like SciTech GLDirect.

Last edited by Scali on 2019-01-04, 21:48. Edited 1 time in total.

http://scalibq.wordpress.com/just-keeping-it- … ro-programming/

Reply 7 of 19, by silikone

User metadata
Rank Member
Rank
Member
spiroyster wrote:

M$

You really have a quarrel with Microsoft, don't you?

Do not refrain from refusing to stop hindering yourself from the opposite of watching nothing other than that which is by no means porn.

Reply 8 of 19, by spiroyster

User metadata
Rank Oldbie
Rank
Oldbie
Scali wrote:

I suppose you are not familiar with what ICD is: Installable Client Driver.
See here: https://docs.microsoft.com/en-us/windows-hard … e-client-driver
The default OpenGL32.dll runtime is indeed written by Microsoft, and it acts as a sort of 'proxy'. Applications are linked to this opengl32.dll, and this DLL will scan through the registry for ICDs, and forward the calls to a compatible driver (you'll find that the actual OpenGL driver for your graphics card is not usually called opengl32.dll at all).

Yes thanks, I know what an ICD is 😉. My point is that when there is no ICD installed... it falls back to the default implementation, which is written and supplied by Microsoft and is a 'Client Driver' in it's own right. Installed as part of Windows default installation.

To quote nVidia on this matter, who know a lot more than me...

The opengl32.dll and opengl32.lib come from Microsoft and you need to link against that.
The DLL contains Microsoft's software OpenGL 1.1 implementation as well as the mechanism to load OpenGL "Installable Client Drivers" (ICD) which get installed on your system along with the display drivers for your graphics board. These vendor specific ICDs implement newer OpenGL versions for your GPU.

https://devtalk.nvidia.com/default/topic/9113 … driver-package/

This has been my understanding too since working with GL on windows, that OpenGL32.dll is not only the 'proxy', but also the software renderer. Not that I have had to deal with the software renderer for eons… so it may be different now…but I don't think M$ really care, so its probably the same thing it has been for a while?

Scali wrote:

As far as I know, Microsoft never had a GL->Direct3D wrapper in any version of Windows, and only had a software renderer. The only GL->Direct3D wrappers I know of, were third-party, like SciTech GLDirect.

tbh, that link in my previous post was the first I have ever heard of it too, and since it's Khronos, I'm kinda inclined to believe them. Thing is, the situation that this would occur is pretty non-existent these days, we are talking about OpenGL support in Windows without any other display driver (ICD) installed. Which I can't see as happening as I'm sure most GPU's in the last 20 years have had some form of support for GL. And only masochists try to get on with work without a the ICD for their system these days... don't know many of them 🤣

silikone wrote:
spiroyster wrote:

M$

You really have a quarrel with Microsoft, don't you?

No more than others 🤣. Thats been a tongue'n'cheek reference to Micorsoft since I've been working on the windows platform... heck I even know VB6 devs (who lurves Micorsoft) call it that.

Truth be told, if I had a quarrel with them... the post would be NSFW.

Reply 10 of 19, by Scali

User metadata
Rank l33t
Rank
l33t
spiroyster wrote:

Yes thanks, I know what an ICD is 😉. My point is that when there is no ICD installed... it falls back to the default implementation, which is written and supplied by Microsoft and is a 'Client Driver' in it's own right. Installed as part of Windows default installation.

Well, I thought originally you were claiming that MS wrote *accelerated* drivers for all hardware:

spiroyster wrote:

but since GL is nothing more than a standard, it's M$ who probably tried to stunt it by providing a shite default implementation... hence the reason to always install the vendor drivers.

And you pointing to opengl32.dll being written by Microsoft is a bit strange as well. Yes, that's the runtime for the ICD, obviously Microsoft wrote that.
And yes, we all know that Microsoft also wrote a software implementation.

I still think the claim of a GL->Direct3D driver is wrong (other than perhaps the software implementation using DirectX to draw its pixels, probably because of the new Aero DWM introduced in Vista). But even if it were true, it's no different than a software renderer really: it's a hardware-agnostic default solution. It wouldn't explain why some hardware gets OpenGL support out of the box and others don't.

Anyway, on opengl.org they also say that Windows Vista only has a GDI-based software implementation of OpenGL:
https://www.opengl.org/pipeline/article/vol003_7/
I vaguely recall that MS initially had the idea of a GL->Direct3D wrapper, but ultimately abandoned it.

http://scalibq.wordpress.com/just-keeping-it- … ro-programming/

Reply 11 of 19, by iulianv

User metadata
Rank Member
Rank
Member

GPU Caps Viewer shows "OpenGL 1.1 (GDI Generic with 2 ext.)" (those two extensions being GL_EXT_bgra and GL_WIN_swap_hint).

Intel's driver also installs an i81xgicd.dll file in system32 - I guess I'll try older versions of the driver, to see what happens...

Reply 12 of 19, by Scali

User metadata
Rank l33t
Rank
l33t
iulianv wrote:

GPU Caps Viewer shows "OpenGL 1.1 (GDI Generic with 2 ext.)" (those two extensions being GL_EXT_bgra and GL_WIN_swap_hint).

Yea, that would be the default software renderer. You won't be able to run Quake on that.

iulianv wrote:

Intel's driver also installs an i81xgicd.dll file in system32 - I guess I'll try older versions of the driver, to see what happens...

Yea, pretty sure it didn't install the OpenGL portion of the driver (properly).

http://scalibq.wordpress.com/just-keeping-it- … ro-programming/

Reply 13 of 19, by weldum

User metadata
Rank Member
Rank
Member

you might be having another problem or conflict, because with the latest drivers from intel for XP you get OGL support and it works pretty fine.
i'd say try reinstalling windows or with an older windows and the latest drivers to see if it works

DT: R7-5800X3D/R5-3600/R3-1200/P-G5400/FX-6100/i3-3225/P-8400/D-900/K6-2_550
LT: C-N2840/A64-TK57/N2600/N455/N270/C-ULV353/PM-1.7/P4-2.6/P133
TC: Esther-1000/Esther-400/Vortex86-366
Others: Drean C64c/Czerweny Spectrum 48k/Talent MSX DPC200/M512K/MP475

Reply 14 of 19, by silikone

User metadata
Rank Member
Rank
Member
Scali wrote:
I still think the claim of a GL->Direct3D driver is wrong (other than perhaps the software implementation using DirectX to draw […]
Show full quote

I still think the claim of a GL->Direct3D driver is wrong (other than perhaps the software implementation using DirectX to draw its pixels, probably because of the new Aero DWM introduced in Vista). But even if it were true, it's no different than a software renderer really: it's a hardware-agnostic default solution. It wouldn't explain why some hardware gets OpenGL support out of the box and others don't.

Anyway, on opengl.org they also say that Windows Vista only has a GDI-based software implementation of OpenGL:
https://www.opengl.org/pipeline/article/vol003_7/
I vaguely recall that MS initially had the idea of a GL->Direct3D wrapper, but ultimately abandoned it.

Odd. I vaguely recall booting up Quake 2 and seeing DirectX related vendor information on screen after messing with my OpenGL driver, and there were some horrible artifacts. I believe I wanted to invoke the software emulation, but a wrapper was apparently getting in the way. I don't recall ever installing a third-party wrapper, though memories are not infallible.

Do not refrain from refusing to stop hindering yourself from the opposite of watching nothing other than that which is by no means porn.

Reply 15 of 19, by spiroyster

User metadata
Rank Oldbie
Rank
Oldbie
Scali wrote:

Well, I thought originally you were claiming that MS wrote *accelerated* drivers for all hardware

No, but erm... yeah... think I mis-read you 😊 . I was talking about the default implementation only (contained in opengl32.dll) being entirely Microsoft. I thought you were saying otherwise.

I suggested an OpenGL context could be hardware accelerated if there was Direct3D hardware acceleration without OpenGL hardware acceleration through use of this mystical wrapper.

Scali wrote:

I still think the claim of a GL->Direct3D driver is wrong (other than perhaps the software implementation using DirectX to draw its pixels, probably because of the new Aero DWM introduced in Vista). But even if it were true, it's no different than a software renderer really: it's a hardware-agnostic default solution. It wouldn't explain why some hardware gets OpenGL support out of the box and others don't.

It does explicitly say Direct3D though, rather than just blitting another offscreen context? I take from it that a GL ->Direct3D wrapper would wrap the GL calls to a Direct3D context, so if it did exist.... and the Direct3D was hardware accelerated, then this could mean openGL non-software rendering without a OpenGL ICD present. No?

Given that the document doesn't mention anything later than Win7, perhaps it is dated. Seems only Khronos know what it is they are talking about here.

Scali wrote:

Yea, that would be the default software renderer. You won't be able to run Quake on that.

My first experience with Quake2 was on a K6-233, software rendered, 320x200... easily playable enough for me to complete the game 😀.

silikone wrote:

Odd. I vaguely recall booting up Quake 2 and seeing DirectX related vendor information on screen after messing with my OpenGL driver, and there were some horrible artifacts. I believe I wanted to invoke the software emulation, but a wrapper was apparently getting in the way. I don't recall ever installing a third-party wrapper, though memories are not infallible.

What gfx was this?

Reply 16 of 19, by DosFreak

User metadata
Rank l33t++
Rank
l33t++

The OGL->D3D wrapper is part of the ACT. I want to say Windows XP+. Should be easy to check by loading the ACT with the /X switch.

Re: The Wrapper Collection Project
Re: The Wrapper Collection Project
OpenGL-to-Direct3D Wrapper inside Quake 3?
Re: The Wrapper Collection Project

How To Ask Questions The Smart Way
Make your games work offline

Reply 17 of 19, by spiroyster

User metadata
Rank Oldbie
Rank
Oldbie
DosFreak wrote:
The OGL->D3D wrapper is part of the ACT. I want to say Windows XP+. Should be easy to check by loading the ACT with the /X swit […]
Show full quote

The OGL->D3D wrapper is part of the ACT. I want to say Windows XP+. Should be easy to check by loading the ACT with the /X switch.

Re: The Wrapper Collection Project
Re: The Wrapper Collection Project
OpenGL-to-Direct3D Wrapper inside Quake 3?
Re: The Wrapper Collection Project

Interesting! Mystery solved then 😀
I wonder why more of a song and dance wasn't made about this? I pressume this is for gfx with bad or zero OpenGL support?

Reply 19 of 19, by iulianv

User metadata
Rank Member
Rank
Member

In the end I decided to give up on WinXP and go for 98SE - with Fujitsu's video drivers (pretty much the same as Intel's latest at first sight) Quake2 runs like a charm in default OpenGL mode.