Old Games Crashing, Black Screen or Graphics Glitches on Your GPU? DirectX Legacy APIs, 32-bit, Exclusive Fullscreen, DPI Scaling & Driver Compatibility Explained
Summary
Old games were written for graphics interfaces, screen sizes and display modes that modern Windows and modern GPUs no longer use by default. A crash, black screen or visual glitch is therefore often a mismatch in one of five layers: legacy DirectX files, 32-bit execution, exclusive fullscreen, DPI scaling or driver behaviour. This guide isolates each layer in turn.
Why Old Games Break on New Hardware
A game from the late 1990s or 2000s was written against assumptions that no longer hold. Displays were almost always 4:3, resolutions such as 640x480, 800x600 and 1024x768 were normal, and refresh rates were negotiated with a CRT monitor that tolerated almost any timing. Graphics interfaces of that era, notably DirectDraw and early Direct3D, gave a game direct control over the display mode, the colour palette and the front and back buffers. Modern Windows inserts a compositor between applications and the screen, modern GPUs are built around programmable shaders rather than the fixed-function pipeline those games expected, and modern drivers are written to the Windows Display Driver Model rather than the older driver model those games were tested against.
None of that means the graphics card is faulty. It means the game is asking for something in a dialect the current system no longer speaks fluently. The practical consequence is that diagnosis must be layered: a missing legacy file, a display-mode negotiation failure, a scaling decision and a driver setting can all produce the same visible symptom, a black screen, yet each has a different fix. Changing several settings at once destroys the evidence, because a later success cannot be attributed to any one change, and a later failure cannot be narrowed down. The method in this guide is therefore deliberately slow: one layer at a time, one change at a time, testing the game after each change.
A second point matters before any setting is touched. Confirm that the problem is specific to old games. If modern games, video playback and the Windows desktop all show the same corruption, or if corruption is visible in the BIOS setup screen before Windows loads, the fault is far more likely to be hardware, cabling or a display fault than a compatibility problem, and the compatibility steps below will not fix it. If only one old title misbehaves while everything else is clean, compatibility is the leading explanation, and this guide applies.
First, Read the Symptom: A Map
Symptoms point at layers. Use this map before changing anything, and start with the layer the symptom points to rather than reinstalling drivers by reflex.
| Symptom | Most likely layer | First check |
|---|---|---|
| Game will not start, error names a missing DLL such as d3dx9_43.dll | Legacy DirectX files | Install the DirectX End-User Runtime from Microsoft |
| Game starts, sound plays, screen stays black | Exclusive fullscreen or mode switch | Try borderless windowed mode, or Alt+Enter |
| Game appears as a tiny window in a corner | DPI scaling or resolution negotiation | Override high DPI scaling to Application, test at 100 percent scaling |
| Picture stretched, blurry or off-centre | Scaling, 4:3 on a widescreen display | Check GPU scaling and display scaling settings |
| Wrong colours, rainbow or washed-out palette | Colour depth, palette handling | Compatibility reduced colour mode, 16-bit colour setting |
| Flickering textures, missing textures, z-fighting | Driver settings or API translation | Remove forced anti-aliasing, test a wrapper only if the game is DirectDraw or early Direct3D era |
| Crash exactly when entering fullscreen | Mode switch, refresh rate | Match the game resolution and refresh rate to a mode the monitor supports |
| Game runs absurdly fast, physics break | Frame rate uncapped on modern hardware | Cap the frame rate in the GPU control panel or the game settings |
| Mouse clicks land away from the cursor | DPI scaling of mouse coordinates | Override high DPI scaling to Application |
Layer 1: Legacy DirectX Files
Modern Windows ships with DirectX 12 and DirectX 11, but it does not ship with every optional file that older games expect. DirectX is not a single version number that replaces everything before it. It is a family of components, and many older games depend on helper libraries that were distributed separately, most famously the D3DX libraries. A game that reports a missing d3dx9_43.dll, d3dx10_43.dll, D3DCompiler_43.dll, xinput1_3.dll or X3DAudio1_7.dll is not saying DirectX is absent. It is saying one specific helper file is absent.
The supported fix is the DirectX End-User Runtime, the June 2010 redistributable package published by Microsoft, obtained from Microsoft's own download site. Installing it adds the legacy side-by-side libraries without downgrading or replacing the modern DirectX already on the system. A game that needs DirectX 9 files can then use them while a modern game continues to use DirectX 11 or 12. After installation, restart the computer and launch the game again before changing anything else.
Two warnings belong here. First, never download a single DLL file from a third-party DLL download site and drop it into the game folder or the Windows system folders. Those files are a well-known malware vector, the version may not match what the game expects, and a single mismatched file can produce stranger errors than the original missing file. If a file is genuinely missing, install the whole runtime from Microsoft. Second, the DirectX Diagnostic Tool, dxdiag, is useful for confirming which DirectX version and feature levels the system reports, but it does not list every legacy helper library, so a clean dxdiag report does not rule out a missing D3DX file.
DirectDraw deserves a separate note. Very old two-dimensional games used DirectDraw for palettes and page flipping in ways that the modern desktop compositor does not reproduce exactly. That is why a game can launch, render its menus correctly, and then show wrong colours or a black screen once it enters its main display mode. The compatibility settings described below, and in stubborn cases a translation wrapper, address this layer rather than the graphics card.
Layer 2: 32-bit Games on 64-bit Windows
Most 32-bit games run on 64-bit Windows through WOW64, the subsystem that lets 32-bit applications execute on a 64-bit operating system, with their 32-bit system files served from the SysWOW64 folder rather than System32. A 32-bit game itself is therefore not automatically a problem. Two related things are problems, and they are often confused with each other.
The first is the installer. Some games from the Windows 95 and 98 era shipped with 16-bit installers, and 64-bit Windows cannot execute 16-bit code at all. The symptom is distinctive: the game disc or installer refuses to run with a message that the file version is not compatible with the version of Windows in use, even though the game itself might run if its files were already in place. There is no compatibility checkbox that fixes a 16-bit installer, because the limitation is in code execution, not in a setting. The honest routes are a legitimate re-release of the game built for modern systems, a community installer produced for that specific title, or running the game inside a virtual machine with a period operating system, as discussed later.
The second is permissions and install location. Old games often wrote save files, configuration files and logs into their own installation folder. Modern Windows protects the Program Files folders, so a game installed there may fail to save, fail to write its configuration, or crash when it tries. Installing to a user-controlled folder, running the game once as administrator to let it create its files, and then running it normally afterwards resolves a surprising number of apparently graphical crashes that are really file-write failures. Apply compatibility settings to the actual game executable, not only to a launcher or shortcut, because launchers commonly start a second executable that does not inherit the launcher's compatibility settings. Change one compatibility option at a time, and note which one made the difference.
Layer 3: Exclusive Fullscreen and Mode Switches
Exclusive fullscreen is the mode in which a game takes sole ownership of the display, switches the monitor to the game's resolution and refresh rate, and bypasses the desktop compositor. Borderless windowed mode, by contrast, renders into a window that merely covers the screen while the desktop keeps its own resolution and refresh rate. Old games were designed for exclusive fullscreen, and many of their failures happen exactly at the moment of the mode switch: the game requests a resolution or refresh rate the monitor does not support, the driver cannot complete the switch, and the result is a black screen, a crash to desktop, or a game that is running but invisible.
The fastest diagnostic is to avoid the mode switch. If the game offers a windowed or borderless windowed option, use it for testing. If it does not, pressing Alt+Enter while the game is running toggles many games between fullscreen and windowed mode. If the game appears in a window, the rendering path works and the mode switch is the fault, not the graphics card. From there, set the game's resolution to a mode the monitor definitely supports, and check the refresh rate: a game requesting 75 Hz or an unusual timing on a monitor that only accepts 60 Hz at that resolution will fail where the same resolution at 60 Hz succeeds.
Windows full-screen optimisations add another variable. This feature lets a fullscreen game behave partly like a borderless window, which improves Alt+Tab behaviour for modern games but can interfere with older titles. Disabling full-screen optimisations for the specific game, in the Compatibility tab of the executable's properties, is a legitimate test, and it should be tested on its own rather than combined with three other changes. Similarly, multi-monitor setups and HDR complicate mode switches: testing with a single monitor and HDR off isolates whether the second display or HDR is part of the failure. If a game only works on one monitor, that is a configuration finding, not a reason to replace hardware.
Layer 4: DPI Scaling and High-Resolution Displays
DPI scaling is the most common cause of the tiny-window-in-a-corner symptom, and it is frequently misdiagnosed as a resolution problem. Windows scales applications to keep text readable on high-resolution displays, commonly at 125 percent or 150 percent. An old game that assumes it owns the full screen at its own resolution does not expect the operating system to scale its window, so Windows may place a small unscaled window in the corner, stretch it unevenly, or scale its mouse coordinates so that clicks land away from the visible cursor.
The controlled test is to set Windows display scaling to 100 percent temporarily and launch the game. If the game then fills the screen correctly, scaling is confirmed as the cause, and the permanent fix should be per-application rather than global, because running the whole desktop at 100 percent on a high-resolution display makes everything else uncomfortably small. In the Compatibility tab, open Change high DPI settings and set Override high DPI scaling behaviour to Application. This tells Windows to let the game handle its own scaling. The System and System (Enhanced) options are worth trying in that order if Application does not work, but only one at a time, and only after noting the result of each.
Aspect ratio is the companion issue. A game designed for a 4:3 display will either show black bars on the sides of a widescreen monitor, which is correct behaviour, or stretch to fill the screen, which distorts the picture. Both GPU scaling and monitor scaling settings control this choice. GPU scaling, set in the NVIDIA Control Panel or AMD Software, and the monitor's own aspect setting can disagree, so if the picture is stretched when it should be pillarboxed, check both, and decide which device performs the scaling rather than leaving both to guess. A stretched picture is not a fault in the game or the card. It is a scaling policy decision, and it has a setting.
Layer 5: Drivers and GPU Control Panel Settings
Driver problems are real, but they are the most overused explanation in old-game troubleshooting, and reinstalling drivers first destroys the chance to learn which layer actually failed. A driver update is warranted when the fault affects more than one game, when a game worked before a driver update and fails after it, or when the driver itself is reporting errors. In that case, install the driver from the GPU vendor's official site, NVIDIA, AMD or Intel, matching the exact card model and operating system, and use a clean installation rather than layering a new driver over a damaged one. A clean installation removes the previous driver settings, which matters because a forced setting left over from another game can break an old title silently.
Global forced settings are the specific trap. Forcing anti-aliasing, anisotropic filtering, vertical synchronisation or a frame-rate limit across all applications in the GPU control panel can improve a modern game and corrupt an old one, because old rendering paths do not always tolerate post-processing that the driver injects. The safe approach is per-game profiles: leave global settings at their defaults, and make exceptions only for the game being diagnosed. Clearing the shader cache after a driver change is also worthwhile, because stale cached shaders compiled for a previous driver can produce flickering or missing textures that look like game corruption.
Two laptop-specific points complete this layer. On a laptop with both integrated and discrete graphics, Windows may assign an old game to the integrated GPU, which can produce poor performance or missing features that look like a compatibility failure. The graphics settings in Windows Settings let each application be assigned to high performance, which selects the discrete GPU, and that assignment should be checked before concluding that a game cannot run. Separately, modern hardware runs old games at extremely high frame rates, and games whose physics or animation logic was tied to frame rate can behave erratically, with characters moving too fast or timers expiring instantly. A frame-rate cap at the game's era-appropriate level, applied through the GPU control panel or the game's own settings, is a legitimate fix for that class of fault, not a performance compromise.
The Screenshot Test: Rendering Fault or Display Fault
One simple test separates two very different fault families. While the glitch is visible, take a screenshot with the operating system's screenshot function. Then view that screenshot on another device, or in an image viewer after restarting the game. If the glitch appears in the screenshot file, the fault is in the rendering path: the game, the API translation or the driver produced a corrupted frame. If the screenshot is clean while the screen itself showed corruption, the fault is downstream of the frame buffer: the cable, the monitor, the display mode timing or the output port.
This distinction saves a great deal of wasted effort. A screenshot-clean fault will not be fixed by reinstalling the game, changing DirectX files or adjusting compatibility settings, because the frame being rendered is correct. A screenshot-corrupt fault that appears in only one old game will not be fixed by replacing a cable or monitor, because the corruption is already present in the frame before it leaves the computer. Apply this test early whenever the symptom is visual corruption rather than a crash, and let its result decide which half of the system to investigate.
When a Wrapper or a Virtual Machine Is the Honest Answer
Some games cannot be made to work through settings alone, because the interface they were written for no longer exists in a usable form. DirectDraw wrappers such as dgVoodoo2 and window-management tools such as DxWnd translate old graphics calls into modern DirectX calls, letting a game render through a path the current driver understands. They are legitimate tools when used for a game the user legitimately owns, obtained from the project's official site, and configured for that specific game. They are not a first step, because a wrapper hides the original failure mode and can introduce its own artefacts, and they are not evidence of a hardware fault if they fail: a game that fails both natively and through a wrapper has simply not yet found a working translation, and a different wrapper configuration or a different approach may still succeed.
A virtual machine running a period operating system is the heavier alternative, appropriate for titles from the DOS era or the Windows 95 and 98 era whose installers or copy protection cannot run on a modern system at all. It requires a legitimate licence for the older operating system, and its graphics performance is limited by virtualised hardware, so it suits two-dimensional and early three-dimensional titles better than demanding later games. Neither a wrapper nor a virtual machine is a reason to open the computer or replace the graphics card, and neither should be downloaded from unofficial repack sites, which are a common source of bundled malware disguised as game fixes.
Diagnosis Order: Change One Thing at a Time
Work through this order, testing the game after each step, and stop as soon as it works. The order is chosen so that cheap, reversible software checks come before any conclusion about hardware.
- Confirm the fault is specific to old games, and run the screenshot test if the symptom is visual corruption.
- Try windowed or borderless windowed mode, or Alt+Enter, to test whether the exclusive fullscreen mode switch is the fault.
- Install the DirectX End-User Runtime from Microsoft if any error names a missing DirectX helper file.
- Set Windows scaling to 100 percent temporarily; if that fixes the display, apply a per-application DPI override instead.
- Disable full-screen optimisations for the game executable alone.
- Set the game resolution and refresh rate to a mode the monitor supports, and test with a single monitor and HDR off.
- Apply compatibility mode for the game's era, one option at a time, on the actual game executable.
- Check the GPU assignment on a laptop, remove global forced graphics settings, and cap the frame rate if the game runs too fast.
- Reinstall the graphics driver cleanly from the vendor's official site, and clear the shader cache.
- Only now consider a translation wrapper or a virtual machine for titles whose interface no longer exists natively.
What Not to Do
Do not download individual DLL files from third-party sites, do not install registry cleaners or driver updater utilities that promise to fix old games automatically, and do not flash the motherboard BIOS or the graphics card firmware in an attempt to fix a single game's compatibility problem. Firmware updates address hardware-level issues and carry their own risk if power is lost during the update; a game compatibility fault is a software-layer problem and should be solved at that layer. Do not force an unsupported resolution or refresh rate through a custom resolution utility until the game has been tested at a supported mode, because an out-of-range signal can leave the monitor blank and make further diagnosis harder. And do not conclude that the graphics card has failed because one old title fails: a card that renders modern games, video and the desktop correctly has demonstrated that its rendering hardware works, whatever one old game does.
Frequently Asked Questions
Why does an old game work on one computer but not another with a newer graphics card?
Because compatibility depends on the combination of operating system version, driver version, display scaling, monitor and installed legacy libraries, not on the graphics card alone. Two computers with different scaling settings or different DirectX helper files installed will run the same game differently. Compare those layers before comparing hardware.
Does installing DirectX 9 downgrade DirectX 12?
No. The DirectX End-User Runtime adds legacy side-by-side libraries that older games request. It does not remove, replace or downgrade the modern DirectX components already installed, and modern games continue to use DirectX 11 or 12 as before.
Why is my old game a tiny window in the top-left corner?
That is almost always DPI scaling or a resolution negotiation failure. Windows has scaled the game's window instead of letting the game own the screen. Test at 100 percent scaling, then apply the per-application override described in the DPI section.
The game shows a black screen but I can hear sound. Is the card dead?
Almost certainly not. Sound proves the game is running; a black screen with sound points at the display mode switch, the output, or the rendering path for that title. Test windowed mode, a different output port or cable, and a supported resolution before suspecting hardware.
Should I use a wrapper for every old game?
No. Use settings first, because settings are reversible and do not hide the original fault. Reserve wrappers for games whose graphics interface no longer works natively after the settings steps have been tried, and obtain them only from the project's official site.
The game ran too fast and the physics broke. Is that a graphics fault?
No, it is a timing fault. The game's logic was written assuming the hardware of its era, and uncapped frame rates on modern hardware break that assumption. Capping the frame rate to an era-appropriate level is the correct fix.
When to Ask for Help
If the fault affects every game including modern titles, appears in the BIOS screen, or appears in screenshots taken across different games, the problem has moved beyond compatibility settings and is worth a professional inspection. HK GPU Fix, Room 1209, Dali Plaza, Shek Mun, Sha Tin, can examine the card, its power delivery and its output path, and distinguish a failing card from a power supply or motherboard fault. The shop's published inspection and repair pricing is a three-tier range of HK$400 to HK$2,800, and the exact tier depends on what the inspection finds. Telephone 2186 8010, WhatsApp 6558 6806. There is no Mong Kok shop and no on-site service; inspection is carried out at the Sha Tin workshop.