D3d8.dll Download !!HOT!!

0 views
Skip to first unread message

Vernon Butte

unread,
Jan 25, 2024, 3:39:19 AM1/25/24
to consaterba

So there is this strange bug (might be a feature to allow some Xbox stuff to work, eg. Game bar) with Direct3D8 games on Windows 10 not fullscreening properly. The problem is hardcoded setting in d3d8.dll that forces so called maximized windowed mode. In previous Windows versions, this mode was activated only for certain applications via Windows Application Compatibility Engine's DXMaximizedWindowedMode shim. You can look up which applications are effected with Compatibility Administrator (32-bit), which is part of Windows 10 ADK.

d3d8.dll download


Download File ->>->>->> https://t.co/cUl1LPjiNy



You'll find patched d3d8.dll in the attached ZIP file for various Windows 10 builds. You can throw it in the same folder where your game exe resides. Only one byte is modified from 01 to 00. Or you could try replacing the system version, located in \Windows\SysWOW64 directory (or System32 on 32-bit Windows). This results in system file integrity check failure, sfc / DISM utilities will detect the corruption when ran and replace the file with original. The file will also be overwritten with every feature update.

Important: Starting with Win10 version 1809 Build 17763 aka. October 2018 update, the exclusive fullscreen functionality has been removed from system d3d8.dll. As of this writing, it's still possible to use d3d8.dll from Build 17134 to get the real fullscreen back, but that could change any time with future builds.

This maximized windowed mode exists in Direct3D 9 as well, except it's not turned on by default and if it does get turned on for some reason (tends to happen when running monitor at DPI settings above 100%), it can be disabled in registry by navigating to HKEY_CURRENT_USER\Software\Microsoft\Direct3D\Shims\MaximizedWindowedMode, finding the entry for the game in the right pane and setting its value to 0. Maybe even taking away write permissions for that key if the problems persist, not sure when that's needed. This method doesn't work for Direct3D 8 as it doesn't read those settings from registry, so the only way is patching the d3d8.dll itself.

So there is this strange bug with Direct3D8 games on Windows 10 not fullscreening properly. The problem is hardcoded setting in d3d8.dll that forces so called maximized windowed mode. In previous Windows versions, this mode was activated only for certain applications via Windows Application Compatibility Engine's DXMaximizedWindowedMode shim. You can look up which applications are effected with Compatibility Administrator (32-bit), which is part of Windows 10 ADK.

Here is fixed d3d8.dll from the current actual Windows 10 Build 10586, I don't know if Insider builds have different base d3d8.dll. You can throw it in the same folder where your game exe resides. Only one byte is modified from 01 to 00. Or you could try replacing the system version, located in \Windows\SysWOW64 directory (or System32 on 32-bit Windows), but I'm not sure if copy paste handles that correctly since d3d8.dll is actually hardlink with another instance of the file stored somewhere under WinSxS. Plus some future update might get confused if it encounters modified system DLL, so I'd rather leave it alone.

Are you talking about Capitalism II? From quick search, this one uses ddraw.dll rather than d3d8.dll. Then there's Capitalism, a DOS game, for which none of this applies. Anyway, for games using ddraw.dll, there's DDrawCompat among other solutions. This one does some other things under the hood, which, depending on the game, may be redundant.

For that to work, besides figuring out the name of the DLL that can be used to hook the game (if d3d8.dll doesn't work), you have to create folder scripts in the game folder where you put the text file called global.ini with the following content:

Look at the exported function Direct3D8EnableMaximizedWindowedModeShim in d3d8.dll. The only variable it references is set to 1 by default, so maximized windowed mode is enabled even if Direct3D8EnableMaximizedWindowedModeShim is never called by those DLLs implementing compatibility shims. In previous Windows versions, it's set to zero by default and if it still gets enabled for some games, it can be disabled with Compatibility Administrator.

It should be noted that the address found at runtime is (on my system) 0x5d67e8b0, rather different from what showed by OllyDBG, that is 0x6C5C80C4. Probably this depends on some different d3d8.dll module that was linked, hopefully is not a mistake because the pointed value is still 1 before it is turned to 0.
The operation is performed just once in the process life, but this is arguable, maybe this approach could not work if d3d8 is loaded dynamically more than once?
Anyway, here's all for your testing & pleasure ... ;)

Many DLLs you encounter will be relocated at runtime since Microsoft's linker defaults to setting DLL's base address to 0x10000000 and probably not many devs bothered with choosing a more unique address for their DLLs, see this. On the other hand, compiling with GCC results in a DLL having unique base address without having to do anything special. d3d8.dll and other MS DLLs already have unique base address though, so chances of relocation are already much lower. Did you reboot in between tests? It's even more more likely that it was actually relocated because ASLR is a thing on modern Windows versions.

For dynamic loads, since you appear to be pre-loading d3d8.dll, then it'll probably never get unloaded during runtime. If LoadLibrary is called twice on the DLL, then FreeLibrary must also be called twice before it's actually unloaded. Unless there's an app out there that goes out of its way to ensure DLL is unloaded, but that seems unlikely.

This option doesn't actually do anything since Win10 Build 17763 because the exclusive fullscreen functionality has been removed from d3d8.dll, just the phantom variable is still there. So you actually need a DLL from Build 17134, which could become incompatible with future builds.

On Windows 10, all Direct3D8 fullscreen applications always run in fake fullscreen mode by default, which is also known as maximized windowed mode. This was done for compatibility with Game Bar, which interface doesn't show otherwise. This tweak alters a setting in Direct3D8 runtime DLL (d3d8.dll) to restore real exclusive fullscreen mode.

ddraw.dll- Contains all DirectDraw implementations up to version 7 d3dim.dll- Contains all Direct3D implementations up to version 6 d3dim700.dll- Contains Direct3D 7 implementation d3d8.dll- Contains Direct3D 8.1 implementation d3d9.dll- Contains Direct3D 9Ex implementation

ddraw.dll- Contains all DirectDraw implementations up to version 7 d3dimm.dll- Contains all Direct3D implementations up to version 7 d3d8.dll- Contains Direct3D 8.1 implementation d3d9.dll- Contains Direct3D 9.0c implementation

Some of the DX dlls (ddraw.dll, d3d8.dll) are registered in the KnownDLLs section of the Windows registry. When they are then the operating system always loads the system versions of those dlls. Removing the entries from
"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\KnownDLLs"
is undangerous and can be safely done with Regedit. This issue causes the majority of the problems.

The d3d8.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 d3d8.dll file, is missing, it may result in a variety of different error messages.

The d3d8.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 d3d8.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 d3d8.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.

What you can do to make that work is get rid of the d3d8.dll that came with widescreen fix and instead use ultimate asi loader. Rename h3w.dll to h3w.asi. And if you want, you can use d3d8to9 that comes with ultimate asi loader. Create a global.ini in a folder called scripts and put the following in it:

The d3d8.dll is an executable file on your computer's hard drive. This file contains machine code. If you start the software DirectX on your PC, the commands contained in d3d8.dll will be executed on your PC. For this purpose, the file is loaded into the main memory (RAM) and runs there as a Microsoft Direct3D DLL for DirectX 8 process (also called a task).

Amongst the hundreds of DLLs published by Microsoft, not all are available by default in Windows, and some come bundled as a part of additional packages. One of these, the d3d8.dll, is related to DirectX, and when the DLL is missing, several apps fail to launch.

Often running a program in compatibility mode helps fix things when d3d8.dll is the faulting module. Remember, you may have to try out a few iterations before finding the one that works for the program.

Since the DLL is linked to DirectX, missing software or components are just as likely to trigger issues with d3d8.dll in Rome Total War. And installing the DirectX End-User Runtime package should do the trick.

Often the problem arises due to an improper app installation, especially when you have a missing d3d8.dll in Command and Conquer Generals. So, uninstall the application and then do a fresh install of it. You can also use an effective uninstaller software to clear leftover files and registry entries.

df19127ead
Reply all
Reply to author
Forward
0 new messages