VOGONS


Rust-DOS, a new DOS emulator

Topic actions

Reply 60 of 75, by The Solutor

User metadata
Rank Member
Rank
Member
dosmax wrote on Today, 18:45:
Best emulator for hassle free statically linked 3Dfx games ever! I don't think I have seen EF2000 GFX+ running so buttery smooth […]
Show full quote

Best emulator for hassle free statically linked 3Dfx games ever! I don't think I have seen EF2000 GFX+ running so buttery smooth at high resolutions without any stutter ever before.

I can't get dynamically linked ones like Tomb Raider or the second Descent II 3dfx patch (d2_3dfx.exe) working for some reason though (rust-dos 1.3.1). Tried various different glide2x.ovl versions from different Voodoo 1+2 driver packages, but none worked. Maybe someone can point me at a glide2x.ovl version that does the trick? Or did I miss something I have to do besides copying the .ovl into the game folder?

Thanks in advance. Any help would be much appreciated.

While I'm at it two feature suggestions:

1. A custom framerate cap for VRR mode (or in general if possible) would be great. More precise in terms of smooth output than tinkering with cycles count.
2. Antialiasing for Voodoo via OpenGL would be fantastic. Forcing AA through the nVidia control panel doesn't work unfortunately. Judging from past experience with fumbling that into a custom D2-XL build that may not be a one-line fix though, might require adding multisampled framebuffer support.

For tombraider you don't need any ovl, just the right tomb.exe for 3dfx, likely it's the same for other 3dfx dos games.

Perhaps tombraider 3dfx seems to do FSAA pushing F3

Reply 61 of 75, by dosmax

User metadata
Rank Newbie
Rank
Newbie

Clearly not the case for me. TOMB_3DFX.EXE exits right away on launch on an installation that works just fine with DosBox. Also the docs mention the glide2x.ovl requirement. Would be fairly odd if games that link Glide dynamically don't require one since glide2x.ovl is said linked library under DOS.

Maybe you happen to have one in your path and thus don't require one in your game folders, that woukd e.g. the case if you run it from a Windows install with installed Voodoo drivers.

Maybe someone else ran into the same issue as well (plain rust-dos, no Windows) and thus has better insight how to resolve the issue?

Last edited by dosmax on 2026-10-06, 19:55. Edited 1 time in total.

Reply 62 of 75, by The Solutor

User metadata
Rank Member
Rank
Member
dosmax wrote on Today, 19:47:

Interesting. Clearly not the case for me. TOMB_3DFX.EXE exits right away on launch, no matter what. Also the docs mention the glide2x.ovl requirement. Would be fairly odd if games that link Glide dynamically don't require one since glide2x.ovl is said linked library under DOS. Maybe you happen to have one in your path and thus don't require one in your game folders.

No, I think it's just somewhat integrated in the OS itself, the same is true for RetroOS, no ovl needed.

Just try by yourself, rename it to glide2x.bak if you have any in your tomb directory.

Last edited by The Solutor on 2026-10-06, 19:56. Edited 1 time in total.

Reply 63 of 75, by dosmax

User metadata
Rank Newbie
Rank
Newbie

Really appreciate that you are trying to help. That obviously was the first thing I did before I checked the docs. 😀

Reply 64 of 75, by The Solutor

User metadata
Rank Member
Rank
Member
dosmax wrote on Today, 19:55:

Really appreciate that you are trying to help. That obviously was the first thing I did before I checked the docs. 😀

For the record the tomb.exe I'm using has the following size and checksum

1,08 MB (1.140.735 byte)
CRC32: 0288F887

P.S. be sure the 3dfx support is enabled, CTRL+F12

Reply 65 of 75, by dosmax

User metadata
Rank Newbie
Rank
Newbie

Thanks again. And, yes I have rebooted my PC 😉 I also happen to be a graphics programmer, no Rust experience though.

My TOMB_3DFX.EXE and a TOMBUB_3DFX.EXE are both about 850kb. Judiging from the size difference yours might statically link Glide, which would explain why no glide2x.ovl is required. I'll check whether I can find that one.

My general issue with dynamically lnked Glide remains though. I'd be really happy for a nudge in the right rirection, most "importantly" for Descent 2's d2_3dfx.exe (not its older statically linked sibling D2VOODOO.EXE, to make the confusion complete). 😀

Reply 66 of 75, by The Solutor

User metadata
Rank Member
Rank
Member

The 850k executable is for the 3dfx rush board (the all in one 2d/3d card)

And I confirm it doesn't work

Attached the right one for the Voodoo 1/2 (and it's the original exe from 1997, which usually requires an .ovl, forget the statically linked thing)

Reply 67 of 75, by Dividebysandwich

User metadata
Rank Newbie
Rank
Newbie
dosmax wrote on Today, 18:45:

1. A custom framerate cap for VRR mode (or in general if possible) would be great. More precise in terms of smooth output than tinkering with cycles count.
2. Antialiasing for Voodoo via OpenGL would be fantastic. Forcing AA through the nVidia control panel doesn't work unfortunately. Judging from past experience with fumbling that into a custom D2-XL build that may not be a one-line fix though, might require adding multisampled framebuffer support.

Maybe I can make Rush support transparent to the user. Let me check.

VRR: Good idea! I am also tracking some issues with VRR in games like Jazz Jackrabbit at the moment.
AA on Voodoo: It's on my wishlist.

In other news, I got a Steam Frame in the mail and... well...

qz2lvw.png

Would you like to play your DOS games in VR?

Reply 68 of 75, by The Solutor

User metadata
Rank Member
Rank
Member
Dividebysandwich wrote on Today, 20:35:

VRR: Good idea! I am also tracking some issues with VRR in games like Jazz Jackrabbit at the moment.

Unpatched tombraid is capped to 30fps, btw...

Reply 69 of 75, by dosmax

User metadata
Rank Newbie
Rank
Newbie

@The Solutor:

Lo and behold, that one does the trick. Judging from a super quick hex editor check (no occurence of 'ovl' or 'OVL' in the fle) that one looks like it comes with a statically linked Glide.

Now if you can also solve my far more "important" d2_3dfx.exe riddle (statically linked D2VOODOO.EXE does not count as solution here), you are my hero of the day.

Just kidding. You are already. Thanks!

@Dividebysandwich:

Would be truly awesome if you could get those in at some point.

If not, no worries. I don't think I'm a match for your low-level system coding skills, but the OpenGL stuff is something I could do with relative ease.

Reply 70 of 75, by The Solutor

User metadata
Rank Member
Rank
Member
dosmax wrote on Today, 20:51:

@The Solutor:

Lo and behold, that one does the trick. Judging from a super quick hex editor check (no occurence of 'ovl' or 'OVL' in the fle) that one looks like it comes with a statically linked Glide.

How it is supposed to work with, say, glidos, that uses its own custom ovl, if it was statically linked?

As for descent 2 never played it in my life, just descent, but maybe I'll give it a try now.

Reply 71 of 75, by dosmax

User metadata
Rank Newbie
Rank
Newbie

Statically linked means that it has the library baked in, so it doesn't require an external one.

You can do that with (almost) every library when you compile a program. Either you bake it in (statically linked) or link to a DLL (respectively OVL for DOS Glide), which is called dynamic linking.

Reply 72 of 75, by The Solutor

User metadata
Rank Member
Rank
Member
dosmax wrote on Today, 21:07:

Statically linked means that it has the library baked in, so it doesn't require an external one.

You can do that with (almost) every library when you compile a program. Either you bake it in (statically linked) or link to a DLL (respectively OVL for DOS Glide), which is called dynamic linking.

Be sure that after 40+ years of it I know what statically linked means.

The point is that if the exe use it's own internal library, then doesn't use the custom one required to run in something different like glidos where using its provided one is essential to work.

Now while would be technically possible that an exe looks for an external library and use it if present, or its internal code, if no external one is provided, In our case I think it's really unlikely, given the file comes from the early days, when the only way to run it was using a voodoo 1 card, and the ovl provided by the 3dfx drivers, which was placed in the system directory and hence used by any 3rdfx exe (if something else wasn't provided by the game itself)
There were no emulators, no voodoo2 card, no glidos, no nglide and so on, the only departure was the voodoo rush card, and in that case, as you happened to discover, a different file exe was used

Last edited by The Solutor on 2026-10-06, 21:44. Edited 2 times in total.

Reply 73 of 75, by Dividebysandwich

User metadata
Rank Newbie
Rank
Newbie

@dosmax Are you able to compile Rust-DOS from git by any chance? I've pushed Rush support but I'll need more time for the next release.

Reply 74 of 75, by dosmax

User metadata
Rank Newbie
Rank
Newbie

Thanks! Not right away, I'm one of those pesky C++ snobs who never even touched Rust until now . Real men don't need so much hand holding, wasting entire days for hunting completely stupid memory leaks is an integral part of life. 😉

But this project has me intrigued enough to finally change that next weekend. I had a few other minor niggles while fooling around with rust-dos earlier that I diddn't want to bother you with, will be fun to see how far I can get.

Reply 75 of 75, by The Solutor

User metadata
Rank Member
Rank
Member

BTW quickly tried D2

I confirm the the official exe from Parallax works perfectly, the unofficial patch from 3dfx does not.

BTW I have no idea about what's supposed to be wrong with the former.

P.S. Please don't start one of such pointless discussions between rusty and "stainless" people, there is already phoronix for that 😁