VOGONS


Reply 80 of 99, by DLL hell

User metadata
Rank Newbie
Rank
Newbie
DLL hell wrote on 2026-03-27, 17:48:

Out of the box dx8 Lite won't work with dx8 Game, any advice

My win nt 4.0 sp6a roll up setup is Intel 865g, Pentium 4 northwood and 512 ram, graphics card is the Intel integrated extreme graphics 2

Reply 81 of 99, by rmay635703

User metadata
Rank l33t
Rank
l33t

Need to get PAE 64gb working on all NT versions including 3.1 and 2k

Then get Supermium browser up and running on all NT versions

Reply 82 of 99, by shadowmage

User metadata
Rank Newbie
Rank
Newbie
wierd_w wrote on 2026-03-24, 21:02:
I figured it would work. […]
Show full quote
shadowmage wrote on 2026-01-24, 23:38:
Here it is: https://youtu.be/3FYarwJOp9k […]
Show full quote
the3dfxdude wrote on 2025-04-06, 14:31:

When D3D on top of OpenGL work was beginning, the devs were using the best Nvidia cards at the time. I think the minimum version of OpenGL ended up being 2.0, and I remember that version 1.5 was kind of dodgy. What is the best you can do with NT4.0? OpenGL 1.1? Maybe there are newer vendor provided drivers that come close. Sorry, I don't think I've ever done OpenGL with NT 4. I doubt anyone thought about testing and make working Wined3d on NT 4.0 for what limited set is available. It will be interesting to see.

Here it is:
https://youtu.be/3FYarwJOp9k

WineD3D works on Windows NT 4.0. 3DMark 2000 score - 21422. Unfortunately I couldn't make it work on Windows NT 3.51.

I figured it would work.

What was the ogl igp version?

It may be 'plausible' to use mesa for windows as a shim, hook the graphics card's IGP for everything that *can* be run on hardware, then using mesagl to supply missing features to reach OGL 2.0 feature level.

It’s the QEMU OpenGL passthrough, which directly exposes the host’s NVIDIA RTX 4060 Ti driver to the Windows NT 4.0 guest, providing full OpenGL 4.6 support.

Direct3D 9 benchmark 3DMark 2003 also works on Windows NT 4.0. Here is the video:
https://www.youtube.com/watch?v=gtvmWzg15I8

You can use Mesa9x (JHRobotics) with WineD3D to run 3DMark 2000 on Windows NT 4.0, but since it's CPU-based, it’s much slower.

Reply 83 of 99, by wierd_w

User metadata
Rank Oldbie
Rank
Oldbie
shadowmage wrote on 2026-03-27, 23:11:
It’s the QEMU OpenGL passthrough, which directly exposes the host’s NVIDIA RTX 4060 Ti driver to the Windows NT 4.0 guest, provi […]
Show full quote
wierd_w wrote on 2026-03-24, 21:02:
I figured it would work. […]
Show full quote
shadowmage wrote on 2026-01-24, 23:38:

Here it is:
https://youtu.be/3FYarwJOp9k

WineD3D works on Windows NT 4.0. 3DMark 2000 score - 21422. Unfortunately I couldn't make it work on Windows NT 3.51.

I figured it would work.

What was the ogl igp version?

It may be 'plausible' to use mesa for windows as a shim, hook the graphics card's IGP for everything that *can* be run on hardware, then using mesagl to supply missing features to reach OGL 2.0 feature level.

It’s the QEMU OpenGL passthrough, which directly exposes the host’s NVIDIA RTX 4060 Ti driver to the Windows NT 4.0 guest, providing full OpenGL 4.6 support.

Direct3D 9 benchmark 3DMark 2003 also works on Windows NT 4.0. Here is the video:
https://www.youtube.com/watch?v=gtvmWzg15I8

You can use Mesa9x (JHRobotics) with WineD3D to run 3DMark 2000 on Windows NT 4.0, but since it's CPU-based, it’s much slower.

At least on linux*, Mesa3d can pass hardware supported functions through, and only process hardware unsupported functions as software.

I was considering 'older ICD' + MESA, where the OpenGL 1.5ish drivers of yore provide a big chunk of the pipeline, with lighting and shadows done as renders to textures by mesa.

Would still be slow, but not as slow as mesa doing all the lifting.

Reply 84 of 99, by shadowmage

User metadata
Rank Newbie
Rank
Newbie
wierd_w wrote on 2026-03-28, 14:06:
At least on linux*, Mesa3d can pass hardware supported functions through, and only process hardware unsupported functions as sof […]
Show full quote
shadowmage wrote on 2026-03-27, 23:11:
It’s the QEMU OpenGL passthrough, which directly exposes the host’s NVIDIA RTX 4060 Ti driver to the Windows NT 4.0 guest, provi […]
Show full quote
wierd_w wrote on 2026-03-24, 21:02:

I figured it would work.

What was the ogl igp version?

It may be 'plausible' to use mesa for windows as a shim, hook the graphics card's IGP for everything that *can* be run on hardware, then using mesagl to supply missing features to reach OGL 2.0 feature level.

It’s the QEMU OpenGL passthrough, which directly exposes the host’s NVIDIA RTX 4060 Ti driver to the Windows NT 4.0 guest, providing full OpenGL 4.6 support.

Direct3D 9 benchmark 3DMark 2003 also works on Windows NT 4.0. Here is the video:
https://www.youtube.com/watch?v=gtvmWzg15I8

You can use Mesa9x (JHRobotics) with WineD3D to run 3DMark 2000 on Windows NT 4.0, but since it's CPU-based, it’s much slower.

At least on linux*, Mesa3d can pass hardware supported functions through, and only process hardware unsupported functions as software.

I was considering 'older ICD' + MESA, where the OpenGL 1.5ish drivers of yore provide a big chunk of the pipeline, with lighting and shadows done as renders to textures by mesa.

Would still be slow, but not as slow as mesa doing all the lifting.

OpenGL passthrough via QEMU also works on Windows 10, not just on Linux.

Here are some examples:
- Half-Life 2 running on a Windows 98 VM (host OS: Windows 10 1809):
https://youtu.be/R59aYcJxrGc
- Doom 3 running on a Windows 98 VM (host OS: Windows 10 1809):
https://youtu.be/R_ZtCmAYSUw

WineD3D is a wrapper, so it's possible it could also work on older GPUs. Someone already tried using WineD3D on Windows 98 with a Quadro FX 4500 GPU:
SoftGPU: OpenGL + DirectX + Glide driver for Windows 95/98/Me

Reply 85 of 99, by digger

User metadata
Rank Oldbie
Rank
Oldbie

Seeing 3dMark 2003 run with DX9 hardware acceleration and high frame rates in NT4 is really impressive. That would have been unthinkable back in the day.

I applaud everyone who worked on getting it working so well!

Reply 86 of 99, by Novanianer

User metadata
Rank Newbie
Rank
Newbie

There all,
here is a wined3d port for nt4. it is a alpha/beta. It test it with tropico, X tension and X2 the threat (here you need dsound and dinput8 from dx8).

greetings

The attachment X-TENSION-D3D-OpenGL-NT4(2).zip is no longer available

Reply 87 of 99, by wierd_w

User metadata
Rank Oldbie
Rank
Oldbie

What we really need, are opengl icd drivers for newer cards on NT4 to go with the wine libraries.

Reply 88 of 99, by Novanianer

User metadata
Rank Newbie
Rank
Newbie
wierd_w wrote on 2026-06-10, 20:36:

What we really need, are opengl icd drivers for newer cards on NT4 to go with the wine libraries.

The "D3D-OpenGL-NT4" use the opengl driver from the videocard. i test it with a gt 7800. The port support CPU and GPU.

But a new opengl icd driver for newer cards is very difficult.

Reply 89 of 99, by Novanianer

User metadata
Rank Newbie
Rank
Newbie

There all,

here a update. tropico 1 works with hardware support. X2 threat works too - bechmark 57fps.
please test it and give me feedback.
Greetings.

Reply 90 of 99, by shadowmage

User metadata
Rank Newbie
Rank
Newbie
Novanianer wrote on 2026-06-10, 14:17:
There all, here is a wined3d port for nt4. it is a alpha/beta. It test it with tropico, X tension and X2 the threat (here you ne […]
Show full quote

There all,
here is a wined3d port for nt4. it is a alpha/beta. It test it with tropico, X tension and X2 the threat (here you need dsound and dinput8 from dx8).

greetings

The attachment X-TENSION-D3D-OpenGL-NT4(2).zip is no longer available

Hi Novanianer,

Thank you for this WineD3D fork. It also works on Windows NT 3.51.

Here is a video of the Expendable (1999) Direct3D 6 timedemo benchmark running on Windows NT 3.51:

https://youtu.be/xbxduxrH6uc

Average frame rate: 90 FPS.

In addition to Expendable, Tropico demo, the PC Player Direct3D 5 benchmark, the Alien vs. Predator demo, and Monster Truck Madness also run on Windows NT 3.51. I can also launch the Incoming and Thief demos, but the graphics are glitchy.

It also works on Windows NT 4.0.

By the way, which version of WineD3D is this fork based on? I have been using WineD3D 1.7.55 and 1.8.7, but those versions only work on Windows NT 4.0, not on NT 3.51. They also work on Windows 95 and Windows 98.

Reply 91 of 99, by digger

User metadata
Rank Oldbie
Rank
Oldbie
shadowmage wrote on Yesterday, 13:21:

Here is a video of the Expendable (1999) Direct3D 6 timedemo benchmark running on Windows NT 3.51:

https://youtu.be/xbxduxrH6uc

Average frame rate: 90 FPS.

Hardware-accelerated 3D games on Windows NT 3.51, that's insane 🤯

Reply 92 of 99, by wierd_w

User metadata
Rank Oldbie
Rank
Oldbie

Again, why I think new ICDs for NT3.5/4.0 for somewhat newer cards, used with WineD3D libraries, could do quite a lot here.

The NT model has the ICD doing all the hardware tasks with the card, and just provides an interface for OpenGL calls. OpenGL calls happen to be what WineD3D maps to, so if you have a suitably capable ICD behind it, then you can use WineD3D to get DX flavor calls available for newer games.

Writing a new ICD is not a fun exercise though, is my understanding. However, exactly what cards are supposed to be told, to do verious things, is now fairly well documented by FOSS linux OpenGL drivers, so it's not a complete vacuum. It *should* be doable, up to needing stuff like 64bit memory interfaces and stuff like that.

I'd argue that DX8 is likely a fully reachable target for NT4, with such an ICD.

Reply 93 of 99, by shadowmage

User metadata
Rank Newbie
Rank
Newbie
digger wrote on Yesterday, 18:59:
shadowmage wrote on Yesterday, 13:21:

Here is a video of the Expendable (1999) Direct3D 6 timedemo benchmark running on Windows NT 3.51:

https://youtu.be/xbxduxrH6uc

Average frame rate: 90 FPS.

Hardware-accelerated 3D games on Windows NT 3.51, that's insane 🤯

The really new part is Direct3D acceleration.

Hardware-accelerated 3D on Windows NT 3.51 was already possible through OpenGL or Glide. Four months ago, I posted a video showing the Quake timedemo running at over 900 FPS, the Unreal timedemo at 372 FPS, and Deus Ex locked at 60 FPS with VSync enabled:

https://youtu.be/tQcp9nTUJtw

This was also running in QEMU on Windows with WHPX acceleration, so KVM is not required.

Even back in 2005, someone posted about Voodoo 2 drivers for NT 3.51, hardware-accelerated GLQuake, and even Quake III running after installing the NewShell:

https://falconfly.vogonswiki.com/cgi-bin/yabb … um=1115285220/0

However, OpenGL and Glide do not necessarily depend on DirectX. What surprised me here is that WineD3D works on NT 3.51 and allows Direct3D 6 games to run on an operating system that never officially supported DirectX or Direct3D. Four months ago, I assumed that WineD3D would not work on NT 3.51. Apparently, it does.

These are the games I have tested that work on Windows NT 3.51 (they also work on Windows NT 4.0).

WineD3D is required only for the Direct3D games listed in the final section.

-3dfx Glide games:
FIFA 98, Need for Speed III: Hot Pursuit, Turok: Dinosaur Hunter, Sub Culture, Pandemonium 2 demo, Unreal, Unreal Tournament, The Wheel of Time, Rune, Deus Ex, M&M: The Lost Formulas demo, Driver demo, Gex: Enter the Gecko, Carmageddon II demo.

-OpenGL games: Quake, Hexen II, Half-Life: Uplink, Oni, Bugs Bunny: Lost in Time demo, Hitman: Codename 47, Duke Nukem: Manhattan Project.

-OpenGL games that work only with the NT 3.51 NewShell installed:
Quake II, Heretic II, SiN, Daikatana, Soldier of Fortune, Soldier of Fortune II: Double Helix, Kingpin: Life of Crime, Anachronox, Quake III Arena, Return to Castle Wolfenstein, Heavy Metal: F.A.K.K. 2, American McGee's Alice, Star Wars Jedi Knight II: Jedi Outcast, Star Trek: Voyager – Elite Force.

-Direct3D games (WineD3D required): Expendable, Tropico demo, Alien vs. Predator (Alien demo), Monster Truck Madness 1 demo.

Reply 94 of 99, by LSS10999

User metadata
Rank Oldbie
Rank
Oldbie
shadowmage wrote on Yesterday, 21:33:

-OpenGL games that work only with the NT 3.51 NewShell installed:
Quake II, Heretic II, SiN, Daikatana, Soldier of Fortune, Soldier of Fortune II: Double Helix, Kingpin: Life of Crime, Anachronox, Quake III Arena, Return to Castle Wolfenstein, Heavy Metal: F.A.K.K. 2, American McGee's Alice, Star Wars Jedi Knight II: Jedi Outcast, Star Trek: Voyager – Elite Force.

I haven't tested the wrappers yet. Regarding the requirement of NewShell, I think it might be just a simple OS version check (dwMajorVersion >= 4), if the program does not depend on additional symbols not present on NT 3.51. The system files from NewShell apparently hacked the version mechanism to globally report 4.0 instead of 3.51 so things that expected NT4 will not complain.

Not sure if the ddraw.dll from the package can be used as-is. I've been checking this new ddraw and dsound wrapper and I haven't managed to get the ddraw part working on real hardware yet (dsound part works within known limitations). I think the core roadblock for NT 3.51 is the lack of the ability to switch desktop resolutions on-the-fly, which is only implemented since Win95 and NT4.

EDIT: The ddraw.dll in WineD3D wrapper doesn't work for me here, on NT 3.51 (without NewShell). StarCraft fails to run at "CreatePalette".

It seems "ddrawex.dll" imported these from KERNEL32.dll that's absent in NT 3.51:
GetThreadId
TryEnterCriticalSection

I'm not sure if ddrawex.dll is being used, however... Also, the dsound.dll included in the package doesn't seem to work, either, and I wonder if it's the same thing from official DirectX package... Anyway, for NT 3.51, the wrapper I mentioned above does work on my system, albeit with heavy constraints at the moment.

Reply 95 of 99, by Novanianer

User metadata
Rank Newbie
Rank
Newbie
wierd_w wrote on Yesterday, 19:54:
Again, why I think new ICDs for NT3.5/4.0 for somewhat newer cards, used with WineD3D libraries, could do quite a lot here. […]
Show full quote

Again, why I think new ICDs for NT3.5/4.0 for somewhat newer cards, used with WineD3D libraries, could do quite a lot here.

The NT model has the ICD doing all the hardware tasks with the card, and just provides an interface for OpenGL calls. OpenGL calls happen to be what WineD3D maps to, so if you have a suitably capable ICD behind it, then you can use WineD3D to get DX flavor calls available for newer games.

Writing a new ICD is not a fun exercise though, is my understanding. However, exactly what cards are supposed to be told, to do verious things, is now fairly well documented by FOSS linux OpenGL drivers, so it's not a complete vacuum. It *should* be doable, up to needing stuff like 64bit memory interfaces and stuff like that.

I'd argue that DX8 is likely a fully reachable target for NT4, with such an ICD.

I would say, a new ICD for new GpUs is = a running video driver for nt4.

I’ve been thinking about it and, strictly speaking, it’s either Intel or AMD. An RX 480 is on its way in the next few days. First, I want to carry on with the wrapper. A new ICD will then also mean OpenGL 3 or 4. But that’ll take a while. And writing or building drivers means testing and lots of blue screens. So far, I’ve managed to ‘fix’ the NVMe driver – it wasn’t working for me – and to port the Linux network driver (rtl8111D) to NT4 for my ‘test machine’. And to get back to the beginning, Intel and AMD GPUs because of the Linux driver.

Reply 96 of 99, by wierd_w

User metadata
Rank Oldbie
Rank
Oldbie

'Not very good' opengl on old nvidia cards is documented in nouveau.

Nothing newer than pascal, but older stuff could at least get a little love.

Thinking old forceware chipset devices.

Reply 97 of 99, by Novanianer

User metadata
Rank Newbie
Rank
Newbie

What I’d be interested to know, though, is how the wrapper performs under real-world conditions – say, on an Intel 166–300 MHz processor and a GeForce OpenGL 2.0 graphics card.

On the subject of the NVIDIA ICD: there are bits of source code for the NVIDIA NV4, NV10 and NV20. If you combined that with Nouveau, you might be able to build something. But here too, tests, tests, tests; BSODs, BSODs, BSODs; frustration 😁

Reply 98 of 99, by wierd_w

User metadata
Rank Oldbie
Rank
Oldbie

Sadly, my forceware2 based e machines el1300 mini box is 'too new!' For NT4 drivers. It's GeForce 6 series.

I checked. Win2k is the oldest that can go on it.

I'd happily test a prototype ICD for you though.

It's 'otherwise' what you'd like tested. 2ghz dual core athlon.

I have a VX chipset based P54c system I am cobbling together that might be more what you want though.

Reply 99 of 99, by shadowmage

User metadata
Rank Newbie
Rank
Newbie
LSS10999 wrote on Today, 03:15:
I haven't tested the wrappers yet. Regarding the requirement of NewShell, I think it might be just a simple OS version check (dw […]
Show full quote
shadowmage wrote on Yesterday, 21:33:

-OpenGL games that work only with the NT 3.51 NewShell installed:
Quake II, Heretic II, SiN, Daikatana, Soldier of Fortune, Soldier of Fortune II: Double Helix, Kingpin: Life of Crime, Anachronox, Quake III Arena, Return to Castle Wolfenstein, Heavy Metal: F.A.K.K. 2, American McGee's Alice, Star Wars Jedi Knight II: Jedi Outcast, Star Trek: Voyager – Elite Force.

I haven't tested the wrappers yet. Regarding the requirement of NewShell, I think it might be just a simple OS version check (dwMajorVersion >= 4), if the program does not depend on additional symbols not present on NT 3.51. The system files from NewShell apparently hacked the version mechanism to globally report 4.0 instead of 3.51 so things that expected NT4 will not complain.

Not sure if the ddraw.dll from the package can be used as-is. I've been checking this new ddraw and dsound wrapper and I haven't managed to get the ddraw part working on real hardware yet (dsound part works within known limitations). I think the core roadblock for NT 3.51 is the lack of the ability to switch desktop resolutions on-the-fly, which is only implemented since Win95 and NT4.

EDIT: The ddraw.dll in WineD3D wrapper doesn't work for me here, on NT 3.51 (without NewShell). StarCraft fails to run at "CreatePalette".

It seems "ddrawex.dll" imported these from KERNEL32.dll that's absent in NT 3.51:
GetThreadId
TryEnterCriticalSection

I'm not sure if ddrawex.dll is being used, however... Also, the dsound.dll included in the package doesn't seem to work, either, and I wonder if it's the same thing from official DirectX package... Anyway, for NT 3.51, the wrapper I mentioned above does work on my system, albeit with heavy constraints at the moment.

Thanks for the link. I tested the vga-ddraw wrapper on Windows NT 3.51, and both the StarCraft demo and the Red Alert 1 demo work.

WineD3D does not work with the StarCraft demo for me either, but vga-ddraw does. Interestingly, the opposite is true for the Commandos demo: it works with WineD3D, but not with vga-ddraw.

The following games also work with the vga-ddraw wrapper on NT 3.51:

Baldur’s Gate demo, Age of Empires demo, and Age of Empires II demo, Heroes of Might and Magic III demo.

I have not tested the dsound wrapper from that project yet. I currently use dsound.dll from DirectX 7 or DirectX 8, and both work. I also forgot to mention that the Darkened Skye demo works on Windows NT 3.51 through 3dfx Glide, and dsound.dll from DirectX 8 works with it as well.

So far, compatibility seems to depend heavily on the individual game and the wrapper being used:

vga-ddraw: StarCraft demo, Red Alert demo, Baldur’s Gate demo, Age of Empires demo, Age of Empires II demo, Heroes of Might and Magic III demo.

WineD3D: Commandos demo, Heroes 3 demo and the previously mentioned Direct3D games.

Some games may work with one wrapper but not the other.