"D3DRM.DLL was not found" error message when starting LEGO Island

A place to discuss playing and reverse engineering the 1997 video game LEGO Island.
Locked
User avatar
MattKC
Site Admin
Posts: 323
Joined: Mon Aug 22, 2022 1:05 am
Contact:

"D3DRM.DLL was not found" error message when starting LEGO Island

Post by MattKC »

LEGO Island depends on an obscure subset of early versions of DirectX called "Direct3D Retained Mode" to run. This used to ship with Windows, but was removed from Vista and beyond.

To fix it, you'll need to place a copy of "D3DRM.DLL" into a location that the game can find it in, either the game folder itself or a system folder.

There are two steps to doing that and some different approaches that you can utilize at your own discretion:

Acquiring D3DRM.DLL
  • Recommended - using the latest version of D3DRM.DLL from Windows XP

    For your convenience, you can download this file here:
    d3drm.dll
    (342 KiB) Downloaded 234 times

    This is the latest version of D3DRM.DLL, released by Microsoft in 2001 alongside Windows XP. This version is known to have the best compatibility with newer versions of Windows and dgVoodoo (as well as Wine), and also has PDB symbols available which can be useful if you want to get into modding/reverse engineering.
  • Alternative - use an older version of D3DRM.DLL from the LEGO Island disc

    LEGO Island ships with an installer for DirectX 5, which was new-ish at the time of its release. As such, it has a copy of D3DRM.DLL on the disc, located at "\redist\directx\d3drm.dll". You may use this version if you prefer, but you may encounter more compatibility issues with modern versions of Windows, dgVoodoo, and Wine, and it lacks debug symbols which will make modding the game yourself harder.

Once you've followed these steps, LEGO Island should no longer show this error. Enjoy!

Installing D3DRM.DLL
  • Recommended - place into the folder that LEGO Island installed to

    Usually this is either "C:\Program Files (x86)\LEGO Island" or "C:\Program Files\LEGO Island", unless you specified a different location during installation. Make sure it's placed in the same folder as "ISLE.EXE" and "LEGO1.DLL".
  • Alternative - place into C:\Windows\system32

    Generally this is a riskier approach and not recommended if you don't know what you're doing.

    The benefit to installing it here is that this makes it available system-wide, whereas placing it in the LEGO Island folder only makes it available to that installation of LEGO Island specifically. Installing system-wide could be helpful if you have multiple copies of LEGO Island installed (or have other games installed that also use D3DRM.DLL) and don't want to have to keep making copies of D3DRM.DLL for each installation.

    However, it is also riskier to place DLLs into "C:\Windows\system32". If a DLL is not trustworthy, it could do a lot of damage to your system stored there. So it's only recommended to install here if you know what you're doing and trust the source of the DLL.

After completing these steps, LEGO Island should no longer show this error message and should now enter the game. Enjoy!
Locked