• We’re currently investigating an issue related to the forum theme and styling that is impacting page layout and visual formatting. The problem has been identified, and we are actively working on a resolution. There is no impact to user data or functionality, this is strictly a front-end display issue. We’ll post an update once the fix has been deployed. Thanks for your patience while we get this sorted.

Downgrading or emulating an older version of DirectX?

boxerfangg

Junior Member
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.
 
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.
 
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.
 
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.
 
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.
 
@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
 
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.
 
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.
 
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.
 
@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:
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/
 
@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.
 
@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.
 
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.
 
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.
 
@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?
 
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.
 
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.
 
Back
Top