If Windows reports that d3dx9_43.dll is missing when you launch Snes9x, the problem is not your copy of the emulator — it is a legacy DirectX component that modern Windows versions do not always include. This page explains why the error appears, gives the remedy that Snes9x’s own bundled documentation points to, and offers a workaround. It applies when the error names d3dx9_43.dll (or a sibling d3dx9 file) at startup; if Snes9x launches but shows a black window instead, use the black screen fix.
Why this happens
Snes9x’s official system requirements, as printed in the readme bundled with version 1.63, are short: “Windows XP and up. DirectX 9.” Windows 10 and 11 ship with much newer DirectX versions built in, but the older DirectX 9-era helper libraries — the d3dx9 family of DLLs, of which d3dx9_43.dll is one — are an optional legacy component. If no older game or application has ever installed them on your PC, they simply are not there, and a program that expects them reports the file as missing. The same bundled documentation addresses this directly: the FAQ file in the 1.63 package asks “I get a dx9 dll error on startup. What to do?” and answers that Snes9x requires DirectX 9 to run correctly and that you can install it manually from Microsoft’s download site.
The fix — Microsoft’s DirectX End-User Runtime
Install the missing legacy components with Microsoft’s official DirectX End-User Runtime web installer (the small dxwebsetup download from microsoft.com — the very download the bundled Snes9x FAQ links to). Run it, let it detect and install the missing DirectX components, then launch Snes9x again. The installer only adds the legacy libraries your system lacks; it does not downgrade or replace the newer DirectX already in Windows, and it is safe to run alongside modern games. Afterwards, if the error persists, restart the PC once so every component registers cleanly, and re-extract a fresh copy of Snes9x from our download page in case the original extraction was incomplete.
Never download DLLs from “DLL download” sites
Searching the error message leads to sites offering d3dx9_43.dll as a standalone download to drop into a folder. Avoid them. A loose DLL from an unofficial site may be the wrong version, may be bundled with unwanted extras, and registers nothing — the runtime installer exists precisely so you never need to handle individual files. Microsoft’s installer is the only source this guide recommends, which is also why we follow the bundled FAQ’s pointer to Microsoft rather than mirroring any files ourselves.
The workaround — switch the output method
The missing component belongs to the Direct3D 9 path. Snes9x 1.63 for Windows can also render through OpenGL and Vulkan (and legacy DirectDraw), which do not rely on that DLL. So if Snes9x still opens on your system — for example the error appears only when a game loads — open the display settings and switch the output method to OpenGL or Vulkan as a workaround. If the error blocks Snes9x from opening at all, install the runtime first; the workaround needs a running emulator. Note what this fix does not involve: the bundled 1.63 documentation mentions no Visual C++ redistributable requirement for Snes9x, so there is no basis for chasing VC++ packages for this particular error — it is a DirectX issue, and the DirectX runtime is the documented remedy.
If the error names a different file
The same treatment covers the whole d3dx9 family — if Windows names a related legacy DirectX file, the End-User Runtime installs the set, not just one DLL. If the missing file is something else entirely, write down its exact name before searching: the fix depends on which library it is, and guessing wastes time. For other startup failures, the troubleshooting hub and the black screen fix (including the config-file reset) are the next stops.
Running the installer, step by step
- Close Snes9x and any other games or emulators.
- Download the DirectX End-User Runtime web installer (dxwebsetup) from Microsoft’s official site — the bundled Snes9x FAQ links the Microsoft download page for exactly this purpose.
- Run the installer and accept its offer to install the missing DirectX components; untick any optional extras bundled into the setup screens that you do not want.
- Let it finish — it checks which legacy components are absent and installs only those.
- Launch Snes9x and load a game to confirm the error is gone.
A few reassurances, because this error tends to send people down unhelpful paths. Running the installer on a brand-new gaming PC is normal: the legacy DirectX 9 components are simply not part of a default modern Windows installation, and many older games need them the same way Snes9x does. You do not need to reinstall Snes9x afterwards, and your ROMs, saves and settings are untouched by the process. If your copy of Snes9x was already running and only began showing this error after you switched its output method to Direct3D, the sequence still holds: install the runtime, then either keep Direct3D or return to OpenGL/Vulkan in the display settings — with the runtime installed, all four output methods are available to you again. And if a different Windows message appears after the DirectX error is fixed, deal with it on its own terms rather than reinstalling everything: one error message, one cause, one fix is the pattern throughout our troubleshooting hub.
Related guides: related guides: snes9x audio crackling fix.
