How I Got Resident Evil 2 (Classic GOG) Working on Linux + MangoHud
After fighting with this way longer than I expected, I finally got Resident Evil 2 (original, not the remake) working properly on Linux with:
The GOG version uses old DirectDraw / Direct3D 7/9, which can be tricky on Linux.
The game will not behave correctly on plain Wine’s DirectDraw.
In Lutris:
Without Voodoo / proper DDraw handling, the game threw:
This was the real problem.
Classic RE2 is a 32-bit game.
My MangoHud installation only had 64-bit libraries, so Wine couldn’t hook into it.
That’s why I kept getting:
It wasn’t a Lutris issue.
It wasn’t a game issue.
It was missing 32-bit MangoHud.
After installing, I verified:
Both must exist.
Especially:
Once both were present, MangoHud finally worked in RE2.
D3D9 → DXVK → Vulkan → MangoHud overlay
And everything works perfectly.
After fighting with this way longer than I expected, I finally got Resident Evil 2 (original, not the remake) working properly on Linux with:
- Wine (not Proton)
- DXVK
- MangoHud
- NVIDIA GPU
- Proper 32-bit support
The Game
This is the original 1998 Resident Evil 2 (GOG version) — not RE2 Remake.The GOG version uses old DirectDraw / Direct3D 7/9, which can be tricky on Linux.
The Problems I Had
“Failed to initialize DIRECTX(R)” error
MangoHud not showing at all
Weird libMangoHud_shim.so preload errors
Lutris runtime complaining
DXVK not always hooking correctly
What Actually Fixed It
I Had To Enable DXVK
The game will not behave correctly on plain Wine’s DirectDraw.In Lutris:
- Enable DXVK
- Use Vulkan
- Make sure NVIDIA Vulkan drivers are installed
I Had To Activate Voodoo (Important)
Without Voodoo / proper DDraw handling, the game threw:After enabling Voodoo (or proper DDraw override), the DirectX error disappeared.Failed to initialize DIRECTX(R)
The BIG One: MangoHud Was Missing 32-Bit Support
This was the real problem.Classic RE2 is a 32-bit game.
My MangoHud installation only had 64-bit libraries, so Wine couldn’t hook into it.
That’s why I kept getting:
Code:
ERROR: ld.so: object 'libMangoHud_shim.so' from LD_PRELOAD cannot be preloaded
It wasn’t a game issue.
It was missing 32-bit MangoHud.
The Fix: Recompile MangoHud With 32-bit Support
I cloned MangoHud and rebuilt it properly:
Code:
git clone --recurse-submodules https://github.com/flightlessmango/MangoHud.git
cd MangoHud
./build.sh clean
sudo ./build.sh install
Code:
/usr/lib/mangohud/lib64<br>/usr/lib/mangohud/lib32
Especially:
Code:
lib32/libMangoHud.so
lib32/libMangoHud_shim.so
Final Working Setup
- Wine (not Proton)
- DXVK enabled
- Voodoo enabled
- MangoHud compiled with 32-bit support
- NVIDIA Vulkan driver active
- Waylands
D3D9 → DXVK → Vulkan → MangoHud overlay
And everything works perfectly.
Important Lessons
- Old Windows games = almost always 32-bit
- MangoHud MUST have lib32 installed
- If you see preload shim errors, check 32-bit libs
- DXVK works even for classic RE games
- DirectDraw errors are usually DDraw/Voodoo related
Result
Resident Evil 1-3 classic GOG now run on Linux with:- FPS overlay
- GPU monitoring
- Vulkan backend
- No DirectX errors