Errors related to d3d9.dll can arise for a few different different reasons. For instance, a faulty application, d3d9.dll has been deleted or misplaced, corrupted by malicious software present on your PC or a damaged Windows registry.
In the vast majority of cases, the solution is to properly reinstall d3d9.dll on your PC, to the Windows system folder. Alternatively, some programs, notably PC games, require that the DLL file is placed in the game/application installation folder.
Do you have information that we do not?
Did our advice help or did we miss something?
Our Forum is where you can get help from both qualified tech specialists and the community at large. Sign up, post your questions, and get updates straight to your inbox.
Do not download d3d9.dll individually from any "DLL download site." There are a number of reasons why downloading DLLs like that is never a good idea. If you already have, delete it immediately from wherever you put it, and then continue with these steps.
Using a software uninstaller tool can help make sure that all the installation files and registry data is removed. The standard uninstall method might not delete everything that needs to be deleted, which could cause other problems during the reinstallation.
The d3d9.dll error if recurring usually indicates that either DirectX 9 needs to be reinstalled or there is a broken alias (shortcut) to it in the game files that needs to be resolved. I wouldn't know if this is a Steam install specific issue although others on various versions of Windows get this too.
Source:
@VincentVanVegan I believe what the "someone" on the Steam forums is saying is that after installing (or reinstalling) DirectX 9, there may be a leftover alias in TS3's program files pointing to the old version, or to nowhere.
Does it look the same for you, both in terms of the files present and their sizes? My best guess would be that running DXSETUP should repair the issue. Other than that, I have to admit I'm not quite wrapping my head around this issue; maybe it's the late hour. Perhaps @roberta591 will be able to give you better guidance, or I can ask around in a few hours.
@VincentVanVegan Windows 10 will not work with a DirectX 9 download. Windows 10 comes with DirectX 12 and is backwards compatible to previous versions of DirectX. What is the version of your game - lower left in the launcher? Does dxdiag run with out error? Are your video drivers up to date? Do you have expansion packs?
By the way, I am the "someone" who tried to explain what the error was and suggested they post over here. Sorry that I couldn't provide a more complete solution at the time. But I note that since then another helper on the Steam forums also suggested running the DXSETUP from within the game's program files just as puzzlezaddict did. If that really doesn't do the trick or if Win 10 remains unhappy with that, I think we'll have to leave things in roberta591's capable hands.
It's a system issue, (if you're interested, take a look at -D3D9.dll @ 0x0010EA8F, as you can see no MTA calls are involved in the crash) what I advise is to update your GPU driver, and repair a potentially corrupt D3D9.dll:
.. As per the last post in this topic, it turned out to be Windows OS / system file / d3d9.dll (either in system32 or the affected software's installation folder) corruption or non-original file problem
Also after running DISM (Vista's replacement) didn't you forget to run the other command, sfc /scannow in cmd? That was part of the instructions, and it's vital to repair a possibly corrupt d3d9.dll, which is an OS file. Besides that, be aware it's better to just leave Vista behind, as ancient it is.
Still, devices such as your GPU, CPU etc aren't queryable by MTADiag (Windows API) so there's some sort of persistent corruption within your OS, but we already knew that. I noticed that you didn't allow MTADiag to make system changes, please do that with pressing ''y'' when it first asks (and let that process complete..)
I previously told you that if nothing tried here solves the problem, you could try using a clean GTA installation. If that is also to no avail, then the corruption is buried too deeply within your OS, the last thing you can try in that case is using DDU (download from: -details/display-driver-uninstaller-download.html) to completely uninstall the Intel GPU driver without traces left, and then re-install it with the earlier downloaded driver.
Hi, I added a 3d fix to the game Pure to fix the skybox but it gives an error when I load it up about the d3d9.dll it added to the games folder, I can get ingame but when I go to start race it crashes to desktop with an error about that dll, is there any known fix for this?
When you put a D3D override dll from a mod/hack in a game folder it almost certainly hooks into the same D3D functions as vorpX does. Sometimes that works without issues, but in other cases it may also cause havoc and break everything. Hence the warning message.
I'm playing around with a proxy d3d9.dll to make games run on my slow system. If I've understood correctly, a lot of the heavy and costly things done in a game (such as postprocessing effect, fogs, etc. etc.) happen in the shader part. What I'm struggling with is to intercept the game's call to SetVertexShader and SetPixelShader and instead tell directx to simply use the fixed pipeline instead of custom shaders, hoping that would make the game run smoother (I don't care about the loss of all the fancy eye candy shader effects!). The interception is easy, but I have no idea how to pass the fixed pipeline as a shader to the original d3d9.dll. I've done a lot of digging about shaders and stuff, but I'm still totally confused.
There's no way to do this without knowing what's going on in the game's shader programs. Shaders don't just add "fancy eye candy", they're completely responsible for computing vertex locations and screen space, and the final value of a pixel written to a render target. It's totally possible that the game's shaders are only doing straightforward things that could be mostly replicated in the old fixed-function pipeline, or it could be doing things in a complex, unorthodox way. Even common things like skeletal animation will screw you up if you don't know what's going on in the shader, since you would have to know that the vertex shader is doing joint skinning and set up the equivalent functionality with fixed-function states (if it's even possible to do so).
I'm working on Life Is Strange: Before the Storm as a test ground for my project, and the initial logos, before I've even gotten to the menu, run at 15 FPS. I don't understand. Isn't there supposed to be a single 2D texture on the screen? Why would a black screen with a single image run only at 15 FPS?? where does the heavy load come from??
It's impossible to say for sure without digging in with some tools to see what the game is doing during those initial logos. I shipped a game where we would load up the player's current save file and start streaming in the level data in the background while the logos were showing, which meant we were doing a lot of stuff in the background! It's possible that this game is doing something similar. Or, it could just be that it's rendering the logos in a rather inefficient way, possibly because that was the simplest way to get things working. Performance analyzers could help give you an idea of what's going on, but ideally you would want symbols or even source code to really understand what's happening.
Thanks for the quick reply! What you mentioned about loading resources and stuff while the logos are being rendered actually makes a lot of sense! I'll probably find out more if I look at it from that perspective.
p.s. In my proxy d3d11.dll, I hook into the DeviceContext's END method as something that runs once per frame, since hooking the Present method in DXGI requires a completely separate file and code. I wonder if I'm messing up by doing so!
On a side note, if I were to tackle and intercept the game's textures and intensive postprocessing effects, I should target the Pixel Shader stage, right? It seems to be the last stage before the Output Merger.
I can't seem to disable it; i'm using the launcher and appling the watermark check mark off. The folder is C:/illusion/AA2/edit or /main and i'm using the d3d9.dll that reduces lag that was posted in these forums. I think there's something i'm not getting right in the wrapper coinfiguration.
2.63.2 should work, only you have to change in the config is DirectXExt\'Max VS const registers' set to 1024 + watermark disabled (by either manual text edit or enabling all config sections in the CPL by a right click somewhere).
Thing is that the d3d9.dll that comes with the last version of dgvoodoo doesn't remove the lag for the game, i don't even know if it's being recognized.
The only one that works, even without the wrapper program is the dll posted here: Artificial Academy 2 with dgVoodoo2 Special build
but i don't know wich version of the program is made for.