I haven't played SWG for about 3 months, and since they are offering free time, I thought I would kill some time.
ISSUE: When I start SWG without IS, I have no problems. But when I use IS to start SWG, I get an error message that SWG needs DirectX 9.c and i'm using DirectX 10. - As I said, I don't get this error, if i don't use IS. Is there something in how IS handles the startup now that changed? I didn't have this issue with IS in November when I was playing SWG.
DirectX issues using IS with SWG
Moderators: Lavish Software Team, Moderators
Your confusion lies in that DirectX 9 and DirectX 10 are two different things. Windows Vista and Windows 7 ship with DirectX 8, 9.0c, and 10. Microsoft has released many updates to DirectX 9.0c since its release in August 2004, the latest of which is from August 2009.
Just go here... http://www.microsoft.com/downloads/deta ... laylang=en download and run the program, and it will make sure you have the latest updates to DirectX 9.
Just go here... http://www.microsoft.com/downloads/deta ... laylang=en download and run the program, and it will make sure you have the latest updates to DirectX 9.
Turns out this is actually a legitimate bug in Star Wars Galaxies, not something that's entirely Inner Space's fault.
Here's the explanation from IS build 5113 (currently a development build) patch notes
In other words, SWG really wants you to be running 9.0c, 10.0c, 10.1c, or 11.0c, and only 9.0c exists out of those.
Here's the explanation from IS build 5113 (currently a development build) patch notes
Code: Select all
* Star Wars Galaxies DirectX error worked around. The error is usually suppressed by a
MS Application Compatibility fix. The bug is in Sony's swgclientsetup code, specifically
a check that wants a) the DirectX version number greater than or equal to 9, and b) the
DirectX version letter greater than or equal to 'c'. DirectX 10 and 11 have no version
letter, causing a message to be displayed saying that DirectX 9.0c or later is required.
Sony should fix the bug in their code (hint: only check for 'c' if it's DirectX 9), but
for now we have worked around it by providing a letter greater than or equal to 'c'.