VOGONS


DirectX/hardware downgrade

Topic actions

Reply 20 of 34, by swaaye

User metadata
Rank l33t++
Rank
l33t++
Jorpho wrote:

Did those suddenly increase in frequency with DirectX 8? I thought those problems were generally inherent to VXDs.

It's not specifically DirectX 8. I experimented with WinMe's DirectX 7.1 as well. I found a few games that would cause Windows to die 100% of the time after quitting and trying to play them again without rebooting. Downgrading to DirectX 7.0a or pulling the sound card (Aureal or Creative VXDs) solved the crashes. It was driving me crazy. I built a few different platforms to test...Intel and AMD.

Two games I recall being problems are Homeworld and Wheel of Time.

Reply 21 of 34, by swaaye

User metadata
Rank l33t++
Rank
l33t++
buckeye wrote:

Using a SB live 5.1, would that be safe with Dx9 or should I roll back? Can anyone list the steps for rolling back Dx9 to 7 or 8?

You can get a utility called DirectX Buster. It will uninstall any DirectX version.

SBLive 5.1 has both VXD and WDM drivers available. The VXDs are best for game compatibility. Circa 1999 WDM drivers are not so great for performance or functionality even if they might be more stable. So yeah you have to choose your compromises here.

IMO there is no reason to use a DirectX version beyond what a game requires. And if you really need DirectX 8, just use Windows 2000 or XP.

Reply 22 of 34, by Scali

User metadata
Rank l33t
Rank
l33t
swaaye wrote:

IMO there is no reason to use a DirectX version beyond what a game requires. And if you really need DirectX 8, just use Windows 2000 or XP.

I'd turn it the other way around:
There's usually no reason not to use the latest DirectX version, since DirectX is based on COM interfaces. Each version of the API has its own interface, and has no effect on other versions.
If you install the latest DX runtime, it also includes the latest version of all previous versions of DX, so it is a cumulative update.
The only exception is when the latest version of a given DX has some issues with a certain game (extremely rare, I don't think I've ever encountered that myself), so you'd have to use a specific version of that DX.

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

Reply 23 of 34, by swaaye

User metadata
Rank l33t++
Rank
l33t++
Scali wrote:

The only exception is when the latest version of a given DX has some issues with a certain game (extremely rare, I don't think I've ever encountered that myself), so you'd have to use a specific version of that DX.

Well I've encountered problems as described above. VXD drivers don't necessarily like DirectX beyond 7.0a. Whatever the reason may be. It doesn't occur with every game though. Or maybe the effects vary in severity ....

I look at it as nobody should use Win9x unless it's required to use the hardware 😁

Reply 24 of 34, by Scali

User metadata
Rank l33t
Rank
l33t
swaaye wrote:

VXD drivers don't necessarily like DirectX beyond 7.0a. Whatever the reason may be.

Perhaps, but even so, as long as you don't actually use any software that tries to access DX8 or higher, it shouldn't matter that you have it installed.

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

Reply 25 of 34, by swaaye

User metadata
Rank l33t++
Rank
l33t++
Scali wrote:

Perhaps, but even so, as long as you don't actually use any software that tries to access DX8 or higher, it shouldn't matter that you have it installed.

Two games that get crash prone are Wheel of Time and Homeworld. I think they are DirectX 7 games as they are late 99 releases. Unless the patches change that. You don't even necessarily use D3D with them. I wonder if Direct X 7.1+ change something in the OS or if DirectSound is buggy in some way. Win9x is just a headache.

edit-
On a related note, with Win9x vs. DirectX
https://groups.google.com/forum/#!searc ... 7Cgeforce)

Reply 26 of 34, by Jorpho

User metadata
Rank l33t++
Rank
l33t++
Scali wrote:

There's usually no reason not to use the latest DirectX version, since DirectX is based on COM interfaces. Each version of the API has its own interface, and has no effect on other versions.
If you install the latest DX runtime, it also includes the latest version of all previous versions of DX, so it is a cumulative update.
The only exception is when the latest version of a given DX has some issues with a certain game (extremely rare, I don't think I've ever encountered that myself), so you'd have to use a specific version of that DX.

Don't new versions of DirectX sometimes include new hardware drivers?

Reply 27 of 34, by gdjacobs

User metadata
Rank l33t++
Rank
l33t++
swaaye wrote:
Two games that get crash prone are Wheel of Time and Homeworld. I think they are DirectX 7 games as they are late 99 releases. […]
Show full quote

Two games that get crash prone are Wheel of Time and Homeworld. I think they are DirectX 7 games as they are late 99 releases. Unless the patches change that. You don't even necessarily use D3D with them. I wonder if Direct X 7.1+ change something in the OS or if DirectSound is buggy in some way. Win9x is just a headache.

edit-
On a related note, with Win9x vs. DirectX
https://groups.google.com/forum/#!searc ... 7Cgeforce)

I believe Homeworld shipped with DirectX 6.

All hail the Great Capacitor Brand Finder

Reply 28 of 34, by Scali

User metadata
Rank l33t
Rank
l33t
Jorpho wrote:

Don't new versions of DirectX sometimes include new hardware drivers?

If you're talking about the runtime installer, no, that does not include any hardware drivers whatsoever. The runtime is just an abstraction layer on top of the driver model.
However, new versions of DirectX sometimes require an updated driver model, and therefore updated drivers, if that's what you mean.
So eg, I have a Windows 98SE machine with DirectX 9 installed on it. But I have a PowerVR PCX2 card in it, which has an outdated driver. It only works with DX7 and lower.

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

Reply 29 of 34, by PhilsComputerLab

User metadata
Rank l33t++
Rank
l33t++

I used DX7 with TNT, TNT2, 256 and GF 2 cards and all was well. When I moved to the GF3, which is a DX8 card, I had corrupt graphics in all Direct3D games. So I installed DX 8.1 and all was well.

I guess it's obvious that a DX8 card needs DX8 installed 😊

YouTube, Facebook, Website

Reply 30 of 34, by Scali

User metadata
Rank l33t
Rank
l33t
PhilsComputerLab wrote:

I guess it's obvious that a DX8 card needs DX8 installed 😊

Actually, that doesn't really make sense.
For games that use DX7 or lower, you're still not touching any DX8 code. They're even using the same old device driver interface (DDI) to the video driver (you can see which DDI is used in DXDiag).
So if installing DX8 fixed something for DX7-based games, it is probably because it also updated the DX7 components, and fixed some bugs.

I made an overview of DDI and DirectX versions here: https://scalibq.wordpress.com/2012/12/07/dire … -compatibility/

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

Reply 31 of 34, by PhilsComputerLab

User metadata
Rank l33t++
Rank
l33t++

Yea might just be a odd combination of GF3, driver and whatnot. Because I remember having DX9 installed with Voodoo cards and the game Incoming never had any issues.

YouTube, Facebook, Website

Reply 32 of 34, by Scali

User metadata
Rank l33t
Rank
l33t
PhilsComputerLab wrote:

Yea might just be a odd combination of GF3, driver and whatnot. Because I remember having DX9 installed with Voodoo cards and the game Incoming never had any issues.

Yup, that makes sense, because DirectX is unusual in the sense that each major version has its own interfaces. So having DX9 installed shouldn't affect anything that doesn't specifically use the DX9 interfaces.
It seems that a lot of people can't get their heads around this.
Most software is different. Eg with OpenGL, you only have one API. You have to query that API to see what version it is, and you have to query which extensions it supports.
So it's one monolith. And yes, in that case it could be that some older drivers implemented version 3.0, and they worked fine with a certain game... Update to new drivers, and they give you OpenGL 4.0, but in updating/extending the API, they broke something so the application using 3.0 doesn't work anymore.
In DirectX that doesn't happen.
d3dim.dll implements D3D for DX2 through DX6
d3dim700.dll implements D3D for DX7
d3d8.dll implements D3D for DX8
d3d9.dll implements D3D for DX9 etc.

So the code for the different versions is completely separate since DX7.

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

Reply 33 of 34, by swaaye

User metadata
Rank l33t++
Rank
l33t++

Yeah I've run DirectX 7 with GeForce FX and such and it works ok. As long as you don't try to run games that need a newer API.

I've seen games still work without the DirectX version they require. I figure there is some leftover code for previous APIs that's running. I think AVP2 requires 8 but will still load and work to a degree with 7.

Reply 34 of 34, by Fusion

User metadata
Rank Member
Rank
Member
Ozzuneoj wrote:

I would try DirectX 7.0a. http://www.oldversion.com/windows/directx-7-0a (I think this site is reputable, but I haven't tried this download myself.)

It's a good site, just hard to find the right download link at first. I was actually looking for a version of DX myself and forgot about this site. Thanks!

Pentium III @ 1.28Ghz - Intel SE440xBX-2 - 384MB PC100 - ATi Radeon DDR 64MB @ 200/186 - SB Live! 5.1 - Windows ME