Downgrading or emulating an older version of DirectX?

boxerfangg

Junior Member
Feb 16, 2011
11
0
0
Ok so, i'm trying to play a game called Call of Cthulhu: Dark Corners of the Earth, unfortunately the game is pretty old and was made in 2006, when DirectX 9 was used and the are many graphical bugs (such as the reef no show bug) that can not be fixed and are caused by DirectX 10 and up.

Since i'm on Vista I have DirectX 11 and want to know how to use DirectX 9 with the game. I have tried using something called Swift Shader, and that emulates DirectX 9 perfectly and gets rid of the bugs, but... It uses software rendering, so the games runs to slow to play.

So can anyone help me run this game, it seems that DirectX 11 is not truly backwards compatible and I want to progress in this game, so I am looking for was to downgrade DirectX temporarily or emulate it, Thanks.
 

BFG10K

Lifer
Aug 14, 2000
22,709
2,971
126
This isn’t a problem with DirectX, it’s a problem with the display driver. Try logging a support ticket with your GPU’s vendor.
 

boxerfangg

Junior Member
Feb 16, 2011
11
0
0
I don't think it is, tons of people have this problem, I runs fine in virtual machine XP using the same system with the same GPU. So it seems very much like a problem with the new versions of DirectX. Just look up the reef bug, everyone using vista has this problem.
 

BFG10K

Lifer
Aug 14, 2000
22,709
2,971
126
Is the virtual machine doing 3D hardware acceleration through the GPU though?
 

Mem

Lifer
Apr 23, 2000
21,476
13
81
I don't think it is, tons of people have this problem, I runs fine in virtual machine XP using the same system with the same GPU. So it seems very much like a problem with the new versions of DirectX. Just look up the reef bug, everyone using vista has this problem.

2006 is not old,I have games running fine from 1995+,I suggest you update your DX9.0c and see if that helps,you'll still have DX11 etc..you can get it from here http://www.filehippo.com/download_directx/ (or from Microsoft's website)its for XP, Vista,Win7 etc...if you still get issues then as BFG10K suggested its probably a game/driver issue rather then DX.
 

boxerfangg

Junior Member
Feb 16, 2011
11
0
0
Well I understand why you might think that is what is causing the problem, why would it be a driver issue when everyone playing it on Vista has the problem? And also why would it be a game issue when replacing the original D3D9.dll supplied by VISTA with the one supplied by SwiftShader resolves the problem? Please explain.
 

boxerfangg

Junior Member
Feb 16, 2011
11
0
0
@System_Mechanic I tried 3D Analyzer, for some reason the game crashes when using it, maybe I messed up the settings or something, but it does not seem to work
 

BFG10K

Lifer
Aug 14, 2000
22,709
2,971
126
Well I understand why you might think that is what is causing the problem, why would it be a driver issue when everyone playing it on Vista has the problem?
Do all four vendors have the same problem (ATi, nVidia, S3 and Intel)?

And also why would it be a game issue when replacing the original D3D9.dll supplied by VISTA with the one supplied by SwiftShader resolves the problem? Please explain.
Because as you said, it’s using a software path to the GPU. This means the original (likely flawed) hardware accelerated path to the GPU is not being used.
 

boxerfangg

Junior Member
Feb 16, 2011
11
0
0
Do all four vendors have the same problem (ATi, nVidia, S3 and Intel)?

I am not sure, but it seems if people emulate XP with virtual machine or something the problem is resolved.

Because as you said, it’s using a software path to the GPU. This means the original (likely flawed) hardware accelerated path to the GPU is not being used.
That would not be a game issue, it would be a hardware accelerator or DirectX issue.
 

BFG10K

Lifer
Aug 14, 2000
22,709
2,971
126
That would not be a game issue, it would be a hardware accelerator or DirectX issue.
I’m not saying it’s a game issue. You don’t seem to understand what I’m saying, so I’ll repeat it again:

There’s artifacting in the game using native GPU hardware acceleration. When you use SwiftShader or the virtual machine you’re doing software rendering, hence the hardware path is not being used.

So I’m stating the problem is with the GPU device driver’s hardware path emulating specific functions of the game, not a DirectX issue like you think it is.
 

boxerfangg

Junior Member
Feb 16, 2011
11
0
0
@FG10K I know what you were saying, I was just replying to this:

And also why would it be a game issue when replacing the original D3D9.dll supplied by VISTA with the one supplied by SwiftShader resolves the problem? Please explain.

Where I asked why it would be a game issue and you said:

Because as you said, it’s using a software path to the GPU. This means the original (likely flawed) hardware accelerated path to the GPU is not being used.

Also if it is not a DirectX issue, then it must be driver issues for the GPU between the XP and Vista version, because if playing the game natively on XP (where it is using hardware acceleration) on the same system that was having problems on Vista, the problems are resolved.
 
Last edited:

SlowSpyder

Lifer
Jan 12, 2005
17,305
1,001
126
It's odd that it's not working, it should still run DX9 since that's what the game is coded with... so I don't know what the real fix is, but there is a work around you might be able to use. I recently picked up Diablo 2 again, this game (and Dungeon Siege for that matter) will not run on my Vista machine, even in compatibility mode.

What I did was download Virtual Box (free from Sun Microsystems) and create a small virtual partition and install XP. From there you can install the game on the XP virtual machine. Maybe that would work if you have an install CD for XP?

http://www.virtualbox.org/
 

boxerfangg

Junior Member
Feb 16, 2011
11
0
0
@SlowSpyder Other people have tried that and have had success, I am just to impatient to do that. I just really want to know what is causing the issue now.
 

Ross Ridge

Senior member
Dec 21, 2009
830
0
0
@SlowSpyder Other people have tried that and have had success, I am just to impatient to do that. I just really want to know what is causing the issue now.

Probably just a buggy game. It apparently used an entirely new custom graphics engine, and being from a small developer I doubt it got all the testing it needed. Sure it probably worked ok on (most) machines at the time it was released, but hardware specs have changed a bit since then. A new unexpected combinaiton of features in a new card and now the game is using a buggy untested code path to handle it. It could also be a bug in the display driver, but that's less likely. The fact that using a software renderer or a virtual machine solves the problem only suggests to me that the graphical bugs in the game don't manifest on the older more primative 3D hardware that these solutions emulate.

The backwards DirectX 9 emulation in Windows Vista and 7 is based on the same code used in DirectX 9 on Windows XP and is very, very good. Even today, almost every game released uses Direct3D 9. With all the real-world testing that means, it's probably overall more bug free than the DirectX 10 and 11 APIs. It's extreamly unlikely a bug in the emulation is the problem here.
 

BFG10K

Lifer
Aug 14, 2000
22,709
2,971
126
Thats fine, so based on the information I provided what should I do? Try getting new drivers?
Make sure you’re running the latest DirectX runtime and also the latest device driver for your graphics card. If it still doesn’t work, log a support ticket with your vendor.

This is 95% likely to be a device driver issue, especially if the hardware is very new.
 

BFG10K

Lifer
Aug 14, 2000
22,709
2,971
126
I recently picked up Diablo 2 again, this game (and Dungeon Siege for that matter) will not run on my Vista machine, even in compatibility mode.
That's very odd as Diablo 2 runs fine under Windows 7 (64 bit) for me.
 

Aristotelian

Golden Member
Jan 30, 2010
1,246
11
76
It's odd that it's not working, it should still run DX9 since that's what the game is coded with... so I don't know what the real fix is, but there is a work around you might be able to use. I recently picked up Diablo 2 again, this game (and Dungeon Siege for that matter) will not run on my Vista machine, even in compatibility mode.

What I did was download Virtual Box (free from Sun Microsystems) and create a small virtual partition and install XP. From there you can install the game on the XP virtual machine. Maybe that would work if you have an install CD for XP?

http://www.virtualbox.org/

Diablo 2 runs fine (even with the hi-res modifier) on my only remaining Vista machine (xps m1330 laptop, Nvidia 8400M GS), using the most current drivers.
 

boxerfangg

Junior Member
Feb 16, 2011
11
0
0
@Ross Ridge Thank you very much for your big reply, however, when using the virtual machine it is not using software rendering, it is using the native hardware I believe, so how would this solve the problem?
 

Voo

Golden Member
Feb 27, 2009
1,684
0
76
Make sure you’re running the latest DirectX runtime and also the latest device driver for your graphics card. If it still doesn’t work, log a support ticket with your vendor.

This is 95% likely to be a device driver issue, especially if the hardware is very new.
Well wouldn't it also make sense to try old drivers? Maybe some kind of optimization in the newer drivers introduced a bug. As long as the hardware isn't too new it's worth a try I think.
 

SlowSpyder

Lifer
Jan 12, 2005
17,305
1,001
126
Does Vista have compatibility mode, to run under XP? I know windows 7 does.

Yea, it does. I just go into the properties of the .exe and can select my OS from a drop down there.


That's very odd as Diablo 2 runs fine under Windows 7 (64 bit) for me.

If I try and launch it I get a message stating that there is a known compatibility problem with this program (and Dungeon Siege). If I use XP, XP SP2, or Win2k compatibility and launch the game, I see the resolution drop to 800x600 (I believe that's what it runs at), the opening Blizzard screen comes up, then I'm back at my desktop right after. If I try Win98 compatibility I get some DX error, I forget the exact message.

Just one of those things I guess.