Jump to content
  • Advertisement
Sign in to follow this  
starman_2049

DirectX 9.0c compatibility

This topic is 4837 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I am porting a console (PS2) game to Windows/DirectX (9.0c - June SDK) and am new to DirectX. The game is 100% up and running on my PC, but it only runs on 3 out of 10 other computers I have tried it on without a bunch of work with drivers, etc. For those computers that I have been able to trouble shoot and get it running it almost always gets down to downloading the latest video drivers. These computers all had DirectX 9.0c already installed, and had other games using DirectX on them with no problems so there must be something I am doing wrong. There are computers like a new Toshiba Laptop I have that the latest drivers on the Toshiba site are from 2003. On this computer my game doesn't run, and in fact the most basic "SimpleSample" executable from the DirectX Sample Browser runs, but the text is corrupt. My thought was to go back to an earlier version of DirectX with the hope being that this will make it more compatible with more computers. Being new to DirectX I am not sure if this will make things better or worse. Does anyone have any real-world compatibilty insight? Is there a generally considered "more stable" release of DirectX 9? or DirectX 8??? Any comments/suggestions/insight are GREATLY appreciated!!

Share this post


Link to post
Share on other sites
Advertisement
The problem is, the various sdk updates include slightly different versions of 9.0c than the base retail one that the normal user has installed. Only machines with the june sdk update will have the updated directx library that you need for your application. I've had this same problem myself with the 2004 summer update.
So, its just a matter of finding that needed library and distributing it with your program. There used to be a sticky on this, but it seems to have been removed in the last couple of days. Here's a link to it: http://www.gamedev.net/community/forums/topic.asp?topic_id=332308

Share this post


Link to post
Share on other sites
Quote:
Original post by starman_2049
I am porting a console (PS2) game to Windows/DirectX

Whew, that's quite a port [oh]

D3D can act very differently on different hardware configurations. Many times, it's a driver issue. However, sometimes it is a problem with your code - the Nvidia drivers are infamous for being a little more lenient, while ATI's are stricter.

Quote:
Does anyone have any real-world compatibilty insight? Is there a generally considered "more stable" release of DirectX 9? or DirectX 8???

IMO, DX9c is perfectly fine. Sure, you could go back a version, but if you were providing the same functionality, the hardware requirements would be the same.

Share this post


Link to post
Share on other sites
Thanks for the post!! I checked out the reference post and it looks to me to be talking about D3DX mostly - which I am not using. So I am not sure if this is related or not.

Are you saying that I may have to force-install the entire June 2005 DirectX 9.0c End-User runtime on every machine, even though they may already have an earlier version of DirectX 9.0c on their machine?

The game is an "E" game, targeting a broader/younger market so I am trying to keep it as simple as possible for the user to get going. For instance, since it was engineered to run from CD on the PS2, it is currently zero foot-print on Windows. One of the reasons I stopped using D3DX was that it was looking like new to 9.0c you were going to have to install the exact version of D3DX that you linked with.

Share this post


Link to post
Share on other sites
The most irrating thing about directx is it had some bad backwards compatibility.

Ever try to play old directx games, like mechwarrior 3, or Star Trek armada...

like some of the directx things don't work all the way.

Share this post


Link to post
Share on other sites
Hmm, if you aren't using d3dx, then the sdk version shouldn't be what's causing the problem, as I think only the d3dx library was modified in any of those sdks (not completely certain on this).

Its still worth a try to see if installing the june sdk on one of the machines that it doesn't work on, and see if your program works then. Force installing the runtime isn't a pleasant operation, but every game setup program already hassles you about installing some version of directx or other.

Similarly, updating your video drivers might help as well. I once encountered a strange bug in ati's drivers that would put gray-borders around the triangles composing my gui sprites when anti-aliasing was enabled, but that went away with the next driver update.

If you're using managed directx, check if the .net framework is installed and if managed directx itself is installed on those machines. Though since you are porting from the ps2, i'm assuming you are using unmanaged directx.

And as circlesoft pointed out, 9.0c is a perfectly stable version of directx. You could try going back to plain vanilla 9.0c and not compile using the updated june sdk libraries. You might have to fiddle with your code some to do this, but it should then work on any 9.0c machine.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!