VOGONS


dgVoodoo 2 for DirectX 11

Topic actions

  • This topic is locked. You cannot reply or edit posts.

Reply 240 of 3949, by Dege

User metadata
Rank l33t
Rank
l33t
teleguy1 wrote:
I'm trying to run Jedi Knight, it's standalone expansion MotS and Tie Fighter 98 with dgVoodoo 2. Afaik they all use DirectX 5.2 […]
Show full quote

I'm trying to run Jedi Knight, it's standalone expansion MotS and Tie Fighter 98 with dgVoodoo 2. Afaik they all use DirectX 5.2.

With Jedi Knight I can get to the menu but as soon as I start a new game or load a savegame I get the error message "Unable to set video mode" (https://1c8bffed267be9ef23e8bf4815370515ce972 … NmZiMm9vU0pHdk0) then the game crashes with a fault in dxgi.dll.
MotS gives me the same "Unable to set video mode" message, then a "Error setting last valid display mode" message and the game returns to the menu.
Tie Fighter just shows a black screen.

I've tried all 3 games on a HD 7970 and a GTX 780 (with Windows 7 64 bit) and they behave the same way.

I did a try with SW MotS and indeed, it does not work. I found 2 problems:

- A bug in the wrapper causing 8 bit paletted surfaces displayed blank (the menu screens gave me blank screen but it probably has to do with enabled 3D acceleration in the game), I quickfixed that.
- This game is not a DX5 one; as I debugged it revealed that it tries to use the first version of Direct3D which is unsupported now (mentioned in the readme).

Anyway, I'm going to add support for that in the next version. At least not only Hellbender is going to be the only testcase. 😀
(I was pondering on how one can rely on official system requirements of old games. For example, Tomb Raider 5 is advertised as a DirectX7 game but it is DirectX6 in fact. I even came across a DirectX5-style call in it.)

Reply 242 of 3949, by Dege

User metadata
Rank l33t
Rank
l33t

I updated the Win SDK with the latest, but no change in the output. I suspect that the only thing that I can do is to replace my card with a newer one, possibly Nvidia. It does suggest that I should not use this wrapper in my MoE installer as others might experience the crash as well.

Well, I don't know if its installer works with dgVoodoo but indeed, it's unrelevant. Once the game is installed you can use it in wrapped mode.
But MoE's D3D renderer is not worth to use because it's way worse than Glide.

Reply 243 of 3949, by teleguy

User metadata
Rank Member
Rank
Member

Thanks!

Dege wrote:

A bug in the wrapper causing 8 bit paletted surfaces displayed blank (the menu screens gave me blank screen but it probably has to do with enabled 3D acceleration in the game), I quickfixed that.

I forgot to mention that you have to run the game with the -windowgui command line switch if you are using a non Steam version (Steam does it automatically). I just checked, without it dgvoodoo also shows me a black screen. So that will no longer be needed with the next version of dgVoodoo?

Reply 244 of 3949, by collector

User metadata
Rank l33t
Rank
l33t
Dege wrote:

Well, I don't know if its installer works with dgVoodoo but indeed, it's unrelevant. Once the game is installed you can use it in wrapped mode.

That was basically my point. If someone wants to experiment with other wrappers after it is installed they can. But if it fails they will know why and won't demand that I fix it. I often have to think in terms of lowest common denominator, both in terms of the users and their hardware. Mind you, I do realize that why it is not working on my machine is probably with my card, drivers or configuration and not the wrapper itself.

Dege wrote:

But MoE's D3D renderer is not worth to use because it's way worse than Glide.

I agree that it is crap, which is why I do want to include some kind of glide wrapper with my installer.

The Sierra Help Pages -- New Sierra Game Installers -- Sierra Game Patches -- New Non-Sierra Game Installers

Reply 245 of 3949, by Dege

User metadata
Rank l33t
Rank
l33t
teleguy wrote:

I forgot to mention that you have to run the game with the -windowgui command line switch if you are using a non Steam version (Steam does it automatically). I just checked, without it dgvoodoo also shows me a black screen. So that will no longer be needed with the next version of dgVoodoo?

I tried the original version. When I launched the game without dgVoodoo, it had blank menu screen, indeed, but Ctrl-Alt-Del and Cancel gave it back to me with some default palette. When I launch it with dgVoodoo (with fixed bug) then it shows perfectly. Didn't used -windowgui in any case, so it seems to work without that.

collector wrote:

That was basically my point. If someone wants to experiment with other wrappers after it is installed they can. But if it fails they will know why and won't demand that I fix it. I often have to think in terms of lowest common denominator, both in terms of the users and their hardware. Mind you, I do realize that why it is not working on my machine is probably with my card, drivers or configuration and not the wrapper itself.

Ok, I see. I think I misunderstood you.

Reply 247 of 3949, by Stiletto

User metadata
Rank l33t++
Rank
l33t++
Dege wrote:

Anyway, I'm going to add support for that in the next version. At least not only Hellbender is going to be the only testcase. 😀
(I was pondering on how one can rely on official system requirements of old games. For example, Tomb Raider 5 is advertised as a DirectX7 game but it is DirectX6 in fact. I even came across a DirectX5-style call in it.)

Making my most recent list of Glide wrappers made me think: is there some easy way to determine what a game/program/DLL requires, to double check what it advertises, for Direct3D? And for OpenGL? It seems a tool like this maybe does not exist.

Maybe APITrace: https://apitrace.github.io/
But I do not think that is very easy to use.

Jari Komppa's wrapper (https://github.com/jarikomppa/dxwrapper/) also does some logging that he can use to determine what DirectX a game uses too.

There is also GLIntercept for OpenGL 1.x-2.1 too:
https://code.google.com/p/glintercept/

APITrace links to many others:
https://apitrace.github.io/#links

I am hoping for more of a scan tool than a "run it in a wrapper and see what it logs" solution though. Impossible?

"I see a little silhouette-o of a man, Scaramouche, Scaramouche, will you
do the Fandango!" - Queen

Stiletto

Reply 249 of 3949, by Dege

User metadata
Rank l33t
Rank
l33t
Stiletto wrote:
Making my most recent list of Glide wrappers made me think: is there some easy way to determine what a game/program/DLL requires […]
Show full quote

Making my most recent list of Glide wrappers made me think: is there some easy way to determine what a game/program/DLL requires, to double check what it advertises, for Direct3D? And for OpenGL? It seems a tool like this maybe does not exist.

Maybe APITrace: https://apitrace.github.io/
But I do not think that is very easy to use.

Jari Komppa's wrapper (https://github.com/jarikomppa/dxwrapper/) also does some logging that he can use to determine what DirectX a game uses too.

There is also GLIntercept for OpenGL 1.x-2.1 too:
https://code.google.com/p/glintercept/

APITrace links to many others:
https://apitrace.github.io/#links

I am hoping for more of a scan tool than a "run it in a wrapper and see what it logs" solution though. Impossible?

You mean an external, universal scan tool? 😀
I think that's impossible. The only way is intercepting the API calls through a 'wrapper' and logging them, as those ones you mentioned here do. All the API debuggers (like gDEBugger, PIX or DX sdk debug layers) do the same.

Reply 250 of 3949, by ZellSF

User metadata
Rank l33t
Rank
l33t

Is there a stretch to aspect ratio setting for fullscreen? I seem to recall there being one, but can't find it. Just center and stretch to full screen (and it sets resolution to 1920x1080 automatically so I can't just manually set fullscreen resolution to something else).

I tested some games just because. Lack of D3D games to test so mostly just checking how it works as a ddraw wrapper:

C&C - Tiberian Sun: Works, severe performance issues, FMVs don't play.
C&C - Red Alert 2: Works, severe performance issues, FMVs don't play.
Dark Reign: FMVs don't play, otherwise works perfectly.
Icewind Dale II: Doesn't work (at all).
Outlaws: Config app hangs. Haven't tried bypassing it.
Starcraft: Works, runs poorly (playable if it's your only option though).
Wipeout XL: No resolution options in launcher (and game won't launch without them).

This is on Windows 8, so if this wrapper doesn't convert 8-bit and 16-bit color to 32-bit color by itself then it's Windows 8's wrapper that's causing the the performance issues. There are workarounds available for all those games so there's really no need for a wrapper for those, just fun to test.

Reply 251 of 3949, by Dege

User metadata
Rank l33t
Rank
l33t

No, there is only stretched and centered one.

and it sets resolution to 1920x1080 automatically

What app sets it to that?

C&C - Tiberian Sun: Works, severe performance issues, FMVs don't play. C&C - Red Alert 2: Works, severe performance issues, FMVs […]
Show full quote

C&C - Tiberian Sun: Works, severe performance issues, FMVs don't play.
C&C - Red Alert 2: Works, severe performance issues, FMVs don't play.
Dark Reign: FMVs don't play, otherwise works perfectly.
Icewind Dale II: Doesn't work (at all).
Outlaws: Config app hangs. Haven't tried bypassing it.
Starcraft: Works, runs poorly (playable if it's your only option though).
Wipeout XL: No resolution options in launcher (and game won't launch without them).

Thanks for the testing&reporting. And of course, thanks for everybody else doing tests and reports on dgVoodoo.
Good stuffs for future development.

so if this wrapper doesn't convert 8-bit and 16-bit color to 32-bit color by itself

It's always converted to 32bit because D3D11 doesn't support lower color depths. Performance issues must be related to something else.

Reply 252 of 3949, by ZellSF

User metadata
Rank l33t
Rank
l33t

Wipeout XL actually DOES enumerate resolutions on my Win7/Intel setup, but not on my Win8/Nvidia setup. It crashes to desktop after that.

Outlaws crashes to desktop if I bypass the config program.

Dune 2000 also can't set display mode (should be 640x400x16 natively, possibly with 640x480x16 as fallback. There's also a fan patch that allows custom resolutions).

I know nothing, but random thought: Windows 8 only supports 32-bit color and tells older applications that it supports 16-bit and 8-bit color. Maybe dgVoodoo2 being modern reads "this system only supports 32-bit color" and tells that to legacy applications rather than pretend it supports 8-bit and 16-bit color like it should?

Wish I had a Windows 7 setup to test this (my Win7/Intel setup is at work).

What app sets it to that?

I was wrong. dgVoodoo2, for whatever reasons actually sets gpu scaling mode. I have Nvidia drivers set to scale to aspect ratio, but dgVoodoo2 (or the APIs it uses) overrides that. I just checked "Override the scaling mode set by games and programs" in scaling options in Nvidia control panel and it scales to 1440x1080 like it should.

First use I've found for that setting. I've always thought it does nothing.

Reply 253 of 3949, by Deadalus

User metadata
Rank Newbie
Rank
Newbie

My tests so far:
-Raystorm: works, but enabling antialiasing will make the boot load time much longer. Starts in 640x480 windowed for some reason but alt+enter works. Maybe same goes to the other Cyberfront ports (G-Darius, Raycrisis) too
-Rush Hour/Roadster: works but stuck at 640x480 windowed. Alt+enter doesn't work.
-Simcopter/Streets of Simcity: doesn't work, black screen but music/effect can be heard and menu items are still clickable
-Sky Target 3D: doesn't work, keeps getting "getting the current display mode failed. Generic failure" message (because the screen doesn't support the default 320x240 resolution and for some reason my install can't save the display setting), works with passthru DirectX option checked

Reply 254 of 3949, by Dege

User metadata
Rank l33t
Rank
l33t
ZellSF wrote:

I know nothing, but random thought: Windows 8 only supports 32-bit color and tells older applications that it supports 16-bit and 8-bit color. Maybe dgVoodoo2 being modern reads "this system only supports 32-bit color" and tells that to legacy applications rather than pretend it supports 8-bit and 16-bit color like it should?

Wish I had a Windows 7 setup to test this (my Win7/Intel setup is at work).

It's interesting what you write about Win8 because there are no any significant differences between Win 7 and 8 in the respect of the graphic drivers. Both of them requires a driver supporting WDDM 1.1 (or 1.2 for win8) and that's all. Bitmap formats for old DX interfaces are up to the driver. So, if the driver says it supports a particular 8 or 16 bit format then Windows won't interfere to expose that format to the application. (dgVoodoo always pretend supporting old 8 and 16 bit formats but takes care of the conversion from/to them so it shouldn't be a problem.)

The question is how long new hardwares and their drivers keep old features present in old hardware. I'm maybe wrong but e.g. nVidia seems to do the same with their GPUs as Intel with their x86/x64 CPUs: all the features are 'left' in their chips (and so remain supported) at (even) circuit-level and new features are only added step by step. However when writing new drivers, they don't focus on old things so those can get corrupted support here and there.
But it can't go forever this way so if they decide to redesign their whole architecture then they ditch all old things and old features become unsupported.
Isn't it that you use an nVidia card from the latest series (GT 6xx) under Win8? I'm not sure but heard rumours that old DX applications work really bad with them (so perhaps nVidia got to the ditching point 😀 ).

I was wrong. dgVoodoo2, for whatever reasons actually sets gpu scaling mode. I have Nvidia drivers set to scale to aspect ratio, but dgVoodoo2 (or the APIs it uses) overrides that. I just checked "Override the scaling mode set by games and programs" in scaling options in Nvidia control panel and it scales to 1440x1080 like it should.

Hmm... The API specifies an 'unspecified' scaling mode but dgVoodoo always uses 'stretched' or 'centered'. Maybe that one would solve that issue? I'll try it!

Reply 255 of 3949, by ZellSF

User metadata
Rank l33t
Rank
l33t
Dege wrote:
It's interesting what you write about Win8 because there are no any significant differences between Win 7 and 8 in the respect o […]
Show full quote
ZellSF wrote:

I know nothing, but random thought: Windows 8 only supports 32-bit color and tells older applications that it supports 16-bit and 8-bit color. Maybe dgVoodoo2 being modern reads "this system only supports 32-bit color" and tells that to legacy applications rather than pretend it supports 8-bit and 16-bit color like it should?

Wish I had a Windows 7 setup to test this (my Win7/Intel setup is at work).

It's interesting what you write about Win8 because there are no any significant differences between Win 7 and 8 in the respect of the graphic drivers. Both of them requires a driver supporting WDDM 1.1 (or 1.2 for win8) and that's all. Bitmap formats for old DX interfaces are up to the driver. So, if the driver says it supports a particular 8 or 16 bit format then Windows won't interfere to expose that format to the application. (dgVoodoo always pretend supporting old 8 and 16 bit formats but takes care of the conversion from/to them so it shouldn't be a problem.)

The question is how long new hardwares and their drivers keep old features present in old hardware. I'm maybe wrong but e.g. nVidia seems to do the same with their GPUs as Intel with their x86/x64 CPUs: all the features are 'left' in their chips (and so remain supported) at (even) circuit-level and new features are only added step by step. However when writing new drivers, they don't focus on old things so those can get corrupted support here and there.
But it can't go forever this way so if they decide to redesign their whole architecture then they ditch all old things and old features become unsupported.
Isn't it that you use an nVidia card from the latest series (GT 6xx) under Win8? I'm not sure but heard rumours that old DX applications work really bad with them (so perhaps nVidia got to the ditching point 😀 ).

The applications with problems (Dune 2000, Outlaws and Wipeout XL) work natively so Nvidia hasn't dropped support for whatever they require.

They also work on a Win8/Intel setup so not what I said either. Maybe some compatibility issue with new Nvidia cards and dgVoodoo2? Maybe a specific compatibility issue with Nvidia cards, dgVoodoo2 and Win8? Any chance those games breaking is related to the bug you said you fixed in the Powerboat Racing topic?

They should all be 16-bit games. For reference on the Intel setup I mentioned Dune 2000 works (no FMVs though) and Outlaws works (but has troubles with resolution switching when going between menu, game and probably FMVs). Only had access to the Outlaws demo at work so only got to try DirectDraw, not the Direct3D render.

Reply 256 of 3949, by ZellSF

User metadata
Rank l33t
Rank
l33t

Definitely need another test setup that's more compatible with dgVoodoo2. Lots of games are failing specifically at mode switches and lots of games won't list available resolutions at all (they will as said do that on a Win8/Intel setup, but not on my Win8/Nvidia setup).

I found another game that does work for me though: Emperor Battle for Dune. Runs much nicer than it does natively too. Like other Westwood games, lacking FMVs.

Rage of Mages also works (it has two issues: FMVs freeze the game and scroll speed is too fast, neither is dgVoodoo2's fault and there's probably fixes for both somewhere). It's also probably the only way to play this game on Windows 8 as all other wrappers I've tried have failed on this game.

Edit: Starcraft performance issues were due to driver forced vsync. With vsync disabled entirely, it runs very smoothly. Not the only game were vsync causes significant performance issues either.

Reply 257 of 3949, by ZellSF

User metadata
Rank l33t
Rank
l33t

On Win8/Intel, still no newer D3D games:

Grand Theft Auto 2 11.44 fan patch: "No suitable graphic card". Works natively.

Jazz Jackrabbit 2 demo: Works (fails on my other setup). Runs a lot better than natively on Win8.

Magic & Mayhem demo: Button texts cuts of a character or two, flickering cursor, FMVs don't play. Otherwise works (fails on my other setup). Can't judge performance as this game natively runs at 20 FPS. Runs natively without the cursor flickering but with even worse button text problems.

Master of Orion II Battle at Antares: Black screen. Most people would probably prefer the DOS version as I've never seen this run nicely natively or with any wrapper. It does run natively though, so black screen is an issue with the wrapper.

Reply 259 of 3949, by ZellSF

User metadata
Rank l33t
Rank
l33t

Some GoG versions of games:

  • Clive Barker's Undying: Works pretty flawlessly. 60 FPS with drops at 1920x1200 on a 580 card. Unreal Engine, so guessing other Unreal Engine games will work too.
  • Commandos - Behind Enemy Lines: Works, severe performance problems, resolution switches between game and menus are terrible, FMVs don't work
  • Disciples 2: Severe rendering problems, unplayable. Most obvious problem I can see is that transparency isn't detected correctly on the sprites.
  • Legacy of Kain Soul Reaver: Freezes before doing anything at all.
  • Planescape Torment: Has stopped working..
  • Total Annihilation: Works. 1920x1200 appears to be bugged though (it's not rendering at that, black bars at top and bottom, scrolling gets broken). It works fine natively. No problems at 1280x800.
  • Urban Chaos: Graphic freeze after mission load (before any 3D is rendered)
  • Zork Grand Inquisitor: Crash at start (that said, there's a lot of weird stuff done to the GoG version)

Non-GoG I tried:

  • Outlaws full retail version Direct3D Render: Perfect rendering, but the resolution switches when starting the game and saving are painful (wait half a minute and hope it doesn't crash sort of painful). Demo if you want to look at it: https://archive.org/details/outdemo_v2. The Directdraw render has the same issue (at resolutions higher than 640x480).
  • Nerf Arenablast: No surprise here, but this works as good as Clive Barker's Undying. Something feels off with the framerate, but I'm playing at a really shitty 60hz monitor when I'm used to 144hz+G-Sync, so could be just that. The framerate counter says constant 60.
  • The Typing of the Dead: Basically perfect, except it won't start fullscreen and you have to hit alt-enter.

As for the bug I have on my Win8/Nvidia setup it does not appear on this Win7/Nvidia (same driver version) setup either. I have a theory all the refresh rates available on the 120hz monitor might be confusing something, but if that's not it I'll have to reinstall Win8 to eliminate a few potential reasons.