Any chance to support Windows NT4 for retro gaming, its limited to DirectX3/5, OpenGL is working fine?

Discuss bugs in DXGL or make suggestions. Please note that issues will be better tracked if you file a report at https://www.dxgl.info/bugzilla/
Post Reply
ruthan
Posts: 3
Joined: April 12th, 2025, 3:06 pm

Any chance to support Windows NT4 for retro gaming, its limited to DirectX3/5, OpenGL is working fine?

Post by ruthan »

Hi,
any change to support WinNT4?
Im asking because Windows NT4, is the last retro gaming unconquered land.. and its supporting only Direct3D 3 officially and Direct3D 5 somehow unofficially. So make Direct3D to OpenGL wrapper to work would be big thing.

As i checked DXGL description is OpenGL 2+, on NT there is only the last OpenGL Nvidia driver which claims OpenGL 2 support here:
https://www.nvidia.com/en-us/drivers/details/13/

For all other drivers i would probably need to downgrade DXGL to OpenGL 1.x

Glide to OpenGL wrappers are running fine on NT4, same as OpenGL, there details from my testing:
https://docs.google.com/spreadsheets/d/ ... sp=sharing

It seems that no other project has enough knowledge to make it happen, i tried to search Direct3D to Opengl wrappers for NT4, but i failed.
William
Site Admin
Posts: 183
Joined: November 19th, 2011, 5:08 pm
Contact:

Re: Any chance to support Windows NT4 for retro gaming, its limited to DirectX3/5, OpenGL is working fine?

Post by William »

So far I have not attempted to test Windows NT 4, but I have managed to get it down to Windows 2000 so far with the VS2005 and VS2008 builds.
The DXGL Config app will launch on Windows 98, but as of the 0.5.x series the DXGL wrapper crashes upon initialization.

It seems that Visual Studio 2005 might not be designed to target Windows NT 4.0, so this might be a bit hard to support at this time.

Please double-check that the NVIDIA driver shown there supports non-power-of-2 textures (note the GeForce FX series does not support them properly), rectangle textures, and framebuffer objects. Rectangle textures and framebuffer objects didn't become core until OpenGL 3.x and DXGL will check for their support at startup.

For NVIDIA graphics cards, GeForce 6 or newer series is required; GeForce FX series will be unplayable due to the lack of non-power-of-2 texture support in hardware.
ruthan
Posts: 3
Joined: April 12th, 2025, 3:06 pm

Re: Any chance to support Windows NT4 for retro gaming, its limited to DirectX3/5, OpenGL is working fine?

Post by ruthan »

Thanks for reply.
Im just occasional coder so it say you much details, but Visual studio version should not be issue, through project settings, downgrading .Net version i managed to run some of my programs written in VS2010 or VS 2012 on Windows 98 fine. VS 2002 is the first with .Net support.
Im not sure you using .Net functions or just "clean" C /C++.

WIn98 are limited to .Net 2.0; WinNT to .Net 1.1 .. I also managed to to convince VC5 and VC 6 working fine on WIndows 10 for Quake 1 and Hexen 2 source code compiling. Someone managed to get running .Net 2.0 + .Net 3.5 - on Windows 95 (so 98 included):
https://github.com/itsmattkc/dotnet9x add adding warkarounds for not SSE cpsu. There is nice developer video from that fight:
https://www.youtube.com/watch?v=CTUMNtK ... nel=MattKC

But not yet on NT4, there not real demand of it.

I expect that real problems would be some missing Kernel calls for which we would need to find some workarounds, because they would not popup during building, but after real test on NT4.
If i can help with some testing let me know.

So far except real HW, you can test NT4 fine with 86Box https://86box.net/ - videocard option are limited to 3Dfx cards - to support good OpenGL and Glide - i can confirm than Banshee is working fine.. supported Matrox card has not really accelerad OpenGL support and G200 to G450 support is missing. Nvidia Riva 128 is still in the works, there are claims that after Riva 128, would be implemented it would not be hard to get up to Geforce 3.

Other option for Windows 95/98 testing is Virtualbox / Vmware gpu acceleration SoftGPu project, it has not NT support so far.
https://github.com/JHRobotics/softgpu

I spend quite a lot of time on NT4 research and its work in progress, you can check it here on Vogons:
https://www.vogons.org/viewtopic.php?t=103915

So far i did not even tested DXGL on NT4, because system requirement where not fulfilled.. so it looked like real long shot.

Update:
I have tried newest version legacy installer, but im stuck on - XP SP3 + OS install check.
msvc9 version - stuck on win2000 + test
msvc8 version - its failing with this call - The procedure entry point CreateToolHelp32Snapshot could not be located in the dynamic link library kernel32.dll - its generated by dxglcfg.exe

I also wonder do you use DirectX files to actually make DXGL working? Because as i wrote NT has only DirectX3 support and unofficial Direct 5 is more shim than working thing. DX6 pathing is even worse - its just change of files version number.. Another supposed DX6 patch for NT, is just DirectX media part, just of 1 of like 8 main DX components.
If you use them NT4 port would need to copy some modern DIrectX files somewhere..
Last edited by ruthan on May 3rd, 2025, 10:52 pm, edited 1 time in total.
William
Site Admin
Posts: 183
Joined: November 19th, 2011, 5:08 pm
Contact:

Re: Any chance to support Windows NT4 for retro gaming, its limited to DirectX3/5, OpenGL is working fine?

Post by William »

There is no usage of .NET at this point. Also, DXGL only depends on OpenGL.

If I ever decide to support NT4 I will not depend on any OS-level hacks.
ruthan
Posts: 3
Joined: April 12th, 2025, 3:06 pm

Re: Any chance to support Windows NT4 for retro gaming, its limited to DirectX3/5, OpenGL is working fine?

Post by ruthan »

Its great that its pure C++ not, .NET it would make things easier.

OpenGL support is fine on NT, its first Microsoft to support it, only difference is that beside standard ICD OpenGL driver model, its supporting MCD driver model which used for first OpenGL card, where part of functions could be not HW accelerated. It was used for CAD / 3D modeling, where speed does not matter much, its too slow for games (when maybe not know with todays fast CPUs).

It you are interested in MCD, there is nice article and test early OpenGL cards:
https://retro.swarm.cz/nt4-opengl-mini- ... ge-ii-pro/

CreateToolHelp32Snapshot error:
You dont need some OS level hacks, like new Kernels etc, this function is not simply supported by NT kernel, i looked at its this function description:
https://learn.microsoft.com/en-us/windo ... 32snapshot , i dunno if you are using it for something critical, if not you are use something like if (OS==NT) skip this call, but it its needed, mesa9x contributor already found the way how make it working on the NT:
https://github.com/JHRobotics/mesa9x/issues/2

It should be easy to fix, if you do it let me know i can test new build, i expect that there would be more similar problems.
Post Reply