The D3DX utility library is a legacy module containing a motley collection of high-level functions and interfaces that might be generally useful for graphics programming. A peculiar characteristic of D3DX is that it doesn't follow the common Win32 API pattern of maintaining backwards compatibility: there are multiple versions of e.g. d3dx9, each with a different filename and that differ in exported functionality or otherwise visible behavior. For reference, for d3dx9 that's d3dx9_24.dll to d3dx9_43.dll.Applications generally hardcode a specific D3DX library name, which means that they could potentially end up depending on quirks or caveats of the particular D3DX version in use.
Download d3dx9.dll below to solve your dll problem. We currently have 1 version available for this file.
If you have other versions of this file, please contribute to the community by uploading that dll file.
Errors related to d3dx9.dll can arise for a few different different reasons. For instance, a faulty application, d3dx9.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 d3dx9.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.
OK, thanks. I think I've got a bit further with this, but haven't solved it yet. It looks like you've updated the d3dx9 and d3dcompiler_47 scripts, but not the d3dx10 or d3dx11 scripts yet. I tried downloading the d3dx11 script and updating with the new hashsum, copying what you did with the d3dx9 and d3dcompiler_47scripts, then running the result via Tools > Run a local script. I'm getting errors like this in the console, though:
POL_Download_Resource: command not found
I also find the problem with the checksum of this one "POL_Install_dxfullsetup"
The file still download, but the warning mensage show up on PlayOnLinux.
I try at least 3 times with the same result on stable internet connection, don't look like a corrupted file download.. but i did not did a manualy checksum on the file.
I have the latest versions of winetricks and cabextract installed from the repositories.
Steam under wine stopped working all of a sudden so I installed it in a Windows VM and copied it over to the Arch system.
Now, when I try to install the requirements for Borderlands 2 as I did last week, winetricks gives an error.
These are the packages that need to be installed with winetricks: d3dx9 d3dx10 vcrun2010 physx d3dx11_43 d3dx9_43 directx9 dotnet40 vcrun2008 xact
I can install most of them one by one, but whenever I try to install any of the d3dx or directx packages winetricks stops with this error:
I did this a week ago and it worked fine, and I am using the same method except that I didn't install steam in Wine. The wine, winetricks, and cabextract versions are the same as they were previously.
The d3dx9.dll File is a DLL (Dynamic Link Library) System File provided by Microsoft for Windows 7, Windows 8, Windows 10, and earlier Versions. These .dll Files contain various instructions that different pieces of software may need in order to run properly. If a .dll file, like the d3dx9.dll file, is missing, it may result in a variety of different error messages.
The d3dx9.dll missing error seems to be the only one that is bothering you, the quickest solution would be to download a new copy of the d3dx9.dll file and install it in the required directories. For the Download and more instructions, make sure to check out the installation instructions and download links below.
On rare occasions, the program is not recognizing the d3dx9.dll, even though it is installed correctly. In these cases, the installation of the Microsoft Visual C++ Redistributable Package could help. If you are still getting the Missing Error, try installing it here.
One solution I found on googling is, download the missing file and keep it in system folder and it will work. But is this the only solution? Why can't NFS work with the DirectX11 dll? I have d3dx9_32.dll and D3DX9_41.dll in my system32 directory.
Usually a game installs the version it needs, you also might want to check if it gave you the option to install DirectX during the game installation. You always want to do that, even if you already have DirectX installed, that will ensure that you have a version the game expects.
You also shouldn't just copy games from different computers, always use the installation routine. You're missing registry entries and other software the game needs that aren't in the game directory. Just copying a game fails very often to work, as you have seen now.
I've installed NVN2 GOG using Crossover version 21.2 on a 2015 MBP running OSX 12.6. When I run the game it works fine until the first moment when I exit the cabin that the game starts in. The moment I do it goes to a loading screen, and then promptly crashes. I am not sure what is causing the problem, and I am hoping that someone may have dealt with this and resolved it. Just a heads up, I am pretty basic when it comes to the technical aspects of the program, so if you have a solution and you are kind enough to share, keep in mind that I will need detailed instructions if there is a technical solution.
I found where in the Wine Configuration I can add existing overrides, and I can add d3dx9... however, there are multiple d3dx9s. I literally have options ranging from d3dx9_24 through d3dx9_43. There are also some options for d3dx10 and d3dx11.
I've got a ticket in currently for my M1 iMac running Crossover 23. First of all, it works perfectly with no crashes and I'm into Act 2, but FPS is pretty poor. I installed it using the Crosstie but as suggested but combat is almost unusable.
I tried many things but got the same error - Cannot open include file: 'd3dx9.h': No such file or directory
I know that I am missing something, but right now I do not have the knowledge to detect the main issue.
Do not download the d3dx9_43.dll DLL file individually from any "DLL download site." Downloading DLLs from these sites are never a good idea. If you've already downloaded d3dx9_43.dll from one of those DLL download sites, remove it from wherever you put it and continue with these steps.
This NuGet package is intended to provide a supportable option for existing codebases, as well as for Direct3D 9 and/or Direct3D 10-based games. It can also be used for middleware engines or content tools that continue to rely on the D3DX11 deprecated utility library. For new projects you should prefer to use the open source replacements instead. For on-going projects, plan to move to the open source replacements when feasible.
These older samples build and run without the legacy DirectX SDK, and just use the Windows 10 SDK plus the Microsoft.DXSDK.D3DX NuGet package. You can find them published on directx-sdk-legacy-samples.
The only changes here were for updating the VC++ project files, a few minor VS 2019 warning fixes, and the NuGet. I removed all references to the DXSDK_DIR environment variable. I also eliminated all references to dxerr.lib and instead added the dxerr code to DXUT / DXUT11 directly.
When it comes time to ship your game or application, just ship the D3DX9_43.DLL, D3DX10_43.DLL, and/or D3DX11_43.DLL along with D3DCompiler_43.DLL depending on your usage as part of your normal package. No need for administrative rights to install them, no need to use the DirectSetup API, no registry editing needed. See the NuGet license for more details.
Note you cannot use D3DX9, D3DX10, and/or D3DX11 in a Universal Windows Platforms (UWP) or Xbox app. These DLLs will not pass WACK certification. For those cases, the open source route is the way to go.
One bonus here is that D3DX9_43.DLL includes an implementation of the X-File parser API. These are the ID3DXFile interface and related APIs. The D3DX9xof.H header and d3dx9.lib import library provide access to these APIs.
c80f0f1006