protonscr

Graphical glitches with Resident Evil 3 (GOG) and the Seamless HD Project mod

dxvkopen d3d9
doitsujin/dxvk#4431 · opened 2024-11-06 by ShadowOne333 · updated 2025-07-06 · 19 comments · github
3 matching comments, n / p to jump
SShadowOne333 2024-11-06 github

Good day.

I've been trying to get RE3 working on Linux/Steam Deck with the HD/Seamless HD Project (SHDP) mod for over two months now, but no matter what I try, I always end up with the same result, which is the actual backgrounds/textures looking really small on the upper-left corner of the screen, as seen in these images:

https://imgur.com/a/Bj8o51s

To get the game running on Linux, be it any distribution or Steam Deck, I use the following DLL overrides:

WINEDLLOVERRIDES="d3d9,d3dcompiler_47,ddraw,dinput8,dsound,libwebp,xaudio2_9"=n,b

Those same overrides are the ones I use for RE2 and it works perfectly with Classic Rebirth alongside the Seamless HD Project mod. RE1 CR+SHDP does work too, although that one required some dgVoodoo2 intervention). While RE3 does work with Classic Rebirth on its own, it's the HD mod causes that graphical issue on any Linux machine I tried, Steam Deck included.

I tried screwing around with the DLLs, and found that dinpu8 is the one that seems to load the HD textures.
According to some tests by several other people from both the Proton GE Discord and the Seamless HD Project Discord, it seems like the issue could be related to the implementation of DirectX made by Wine/Proton, be it WineD3D or DXVK.

(Check the Proton and Wine logs for debugging reference at the bottom of the post)

I also attempted running DXVK_HUD=full as suggested by a community member to test whether or not DXVK was properly running, and this was the result
xAYeQa1

Software information

Resident Evil 3: Nemesis (1999) from GOG

  • It's important to note that the version of RE3 needed for the mods to work is the Japanese version.

To run the game with the exact same conditions to reproduce the HD textures/backgrounds glitch, the following is required:

Once the game is properly installed with the Japanese language, all that's needed is:

  • Replace the original EXE with the one from the Official 1.1.0 SourceNext patch
  • Replace the ddraw.dll from the original game with the one from the Classic Rebirth mod
  • Copy all contents from the RE3 HD mod into the same place as the EXE. Warning: If the HD mod has a ddraw.dll file, do NOT replace the one from the Classic Rebirth mod!
  • To make the game run under Linux/Steam Deck, the following DLL overrides are required:
    WINEDLLOVERRIDES="ddraw,dinput8"=n,b
    Those are the bare minimum of DLL needed to get the HD mod running. Afterwards, running the Wine DLL Override command alongside wine "BIOHAZARD(R) 3 PC.exe" should make the game run with the following window opening, and then the game window with the graphical glitch:
    Screenshot from 2024-11-06 12-21-47
    Screenshot from 2024-11-06 12-22-00

System information

Steam Deck specs:

  • GPU: 8 RDNA 2 CUs, 1.6GHz (1.6 TFlops FP32)
  • Driver: Mesa 24.2.5
  • Wine version: 9.0, Proton 7.0-6, 8.0-5, 9.0-3, Experimental, Proton GE 9.16.
  • DXVK version: 2.4.1

Apitrace file(s)

Pending
For instructions on how to use apitrace, see: https://github.com/doitsujin/dxvk/wiki/Using-Apitrace

Log files

Kkeenanweaver 2024-11-06 github

For what it's worth, I have the same problem and also never figured it out. I tend to use dgVoodoo v2.79.3 as the ddraw compatibility layer, but I experienced the same problem without it (and without DXVK).

RE2 with SHDP does not have the same problem, which is puzzling. I've used the GOG & CD versions of both games.

I actually don't like the look of the SHDP at all, so I don't play them with it. But it's definitely a problem for those who want to use it.

Regardless, I'm not sure if the DXVK folks would take this issue on.

My system information:

  • GPU: AMD Radeon RX 7900 XTX
  • Driver: Mesa 24.2.5
  • Wine version: GE-Proton 9-18, Kron4ek 9.20, sys-wine 9.20
  • DXVK version: 2.4.1
SShadowOne333 2024-11-07 github

I have updated the OP to include both the Proton and Wine logs, as well as the exact versions of the driver, Proton versions I tried and also the DXVK version (which could be seen in the image I added in the OP with the Proton HUD).

DDesconvidado 2024-11-08 github

this issue is present even when not using dxvk.

You probably shouldn't be opening a bug report here.

https://bugs.winehq.org/show_bug.cgi?id=53775

RRoaminGrape 2025-02-24 github

Yeah, libwebp.dll seems to both load the textures and applies them incorrectly.

Ddariox86 2025-03-16 github

I am posting here because Wine Bugzilla is currently down.

At the moment I have no clean solution, but I devised a workaround. I hope I will be able to submit a proper fix in the near future. I am not a Wine developer nor am I affiliated to the authors of Seamless HD Project. I am just a random guy who spent months looking for a solution. If a developer wants to step in to help me out with this, I would be eager to detail my findings.

Note that DXVK is not strictly needed to run this game, but this is a very crude hack tied to a specific version of DXVK I happened to be using while working on this.

DXVK 2.5.3 IS NEEDED TO MAKE THIS WORK. IT WILL NOT WORK WITH A DIFFERENT VERSION.

These instructions are specific for Bottles and Gamescope from Flathub. Feel free to adapt to your setup.

  • Install Bottles and Gamescope from Flathub:
$ flatpak --user remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
$ flatpak --user install com.usebottles.bottles org.freedesktop.Platform.VulkanLayer.gamescope
  • Download the attached configuration file and rename it to "Resident-Evil-3---Seamless-HD.yml".
  • Launch Bottles and import the configuration file.
  • In Bottles install "dxvk-2.5.3". In the bottle that was just created for the game disable and enable again "dxvk-2.5.3" to make sure it is properly configured.
  • Do all the stuff you would do on Windows to set up Resident Evil 3 - Seamless HD in the game prefix.
  • From the main directory of the game create a backup copy of bio3hd.asi and patch it to make it work with DXVK 2.5.3:
$ cp bio3hd.asi bio3hd.asi.bak
$ printf '\x28\xFF\x70\x24\xFF\xB0\x6C' | dd of=bio3hd.asi bs=1 seek=14446 conv=notrunc
$ printf '\x28\xFF\x70\x24\xFF\xB0\x6C' | dd of=bio3hd.asi bs=1 seek=14491 conv=notrunc
$ printf '\x28\xFF\x70\x24\xFF\xB0\x6C' | dd of=bio3hd.asi bs=1 seek=14584 conv=notrunc
$ printf '\x28\xFF\x71\x24\xFF\xB1\x6C' | dd of=bio3hd.asi bs=1 seek=14702 conv=notrunc
  • Launch "BIOHAZARD(R) 3 PC.exe" to start the game. Press button "Best", uncheck "Force 240p backgrounds" and select "Direct Input" from "Controller input" drop-down menu.
  • Press OK to launch the game and hit F9 to quit.
  • As of writing this, Gamescope process will silently hang upon exit. I think this is a known issue. Kill the process with the following command:
    $ pkill -9 winedevice.exe

@ShadowOne333, feel free to update your posts and comments you left around the Net by referencing this comment.

Resident-Evil-3---Seamless-HD.yml.txt

SShadowOne333 2025-03-19 github

Thank you @dariox86 for the workaround.
I have tested it out and confirmed that it works properly on a Steam Deck.
I even ran it through the Heroic Launcher, without the need of Bottles, although I do need to specify Proton 9.0 (Beta) as the launching Proton version, either that one or a version of Proton GE so the game properly opens up with the SHDP mod working as intended.

I'll go ahead and update my comments on WineHQ and Reddit with your comment so others can attempt it.
I made a quick tutorial with the required DLL files and the patched ASI to make it work on Steam Deck for those interested:
https://gbatemp.net/threads/how-to-run-resident-evil-3-1999-sourcenext-gog-with-classic-rebirth-and-seamless-hd-project-on-linux-systems.668573/

Thank you again!

BBlisto91 2025-06-01 github

It seems very touchy in general. Even just using apitrace on Windows without dxvk is enough to trigger the issue.

RRoaminGrape 2025-06-06 github

Can confirm that it runs on Proton 9.0-4 on steam. Using reshade can let you stretch the aspect ratio with the displaymod shader on x-scale set to 1.333, and it does work with WINEDLLOVERRIDES="ddraw,dinput8=n,b" %command%. There might have been something like that in the launcher, but I remember this being my best option in the past back when I used Windows.

Edit: Removed unnecessary overrides.

Ddariox86 2025-06-06 github

Besides ddraw and dinput8 no other override is needed.

SShadowOne333 2025-06-06 github

Can confirm that it runs on Proton 9.0-4 on steam. Using reshade can let you stretch the aspect ratio with the displaymod shader on x-scale set to 1.333, and it does work with WINEDLLOVERRIDES="d3dcompiler_47=n;ddraw,dinput8,libwebp,xaudio2_9,d3d9=n,b" %command%. There might have been something like that in the launcher, but I remember this being my best option in the past back when I used Windows.

Did you manage to get the RE3 HD mod working with the original ASI file from teamX (not the modified one) with Proton 9.0-4?

RRoaminGrape 2025-06-06 github

Can confirm that it runs on Proton 9.0-4 on steam. Using reshade can let you stretch the aspect ratio with the displaymod shader on x-scale set to 1.333, and it does work with WINEDLLOVERRIDES="d3dcompiler_47=n;ddraw,dinput8,libwebp,xaudio2_9,d3d9=n,b" %command%. There might have been something like that in the launcher, but I remember this being my best option in the past back when I used Windows.

Did you manage to get the RE3 HD mod working with the original ASI file from teamX (not the modified one) with Proton 9.0-4?

No, it was your modified one.

SShadowOne333 2025-06-09 github

@RoaminGrape thanks for confirming.
I made a tutorial on Temp about how to run RE3 with Classic Rebirth and Seamless HD Project on Linux devices (Steam Deck included), which you can find here:
https://gbatemp.net/threads/how-to-run-resident-evil-3-1999-sourcenext-gog-with-classic-rebirth-and-seamless-hd-project-on-linux-systems.668573/

I am using the modified ASI file I patched based on Dario's input, in there I also specify that Proton GE can be used, but also Proton 9.0 and above, since Proton 8 and before don't have DXVK running, only the official Proton 9.0 does, which helps for running RE3 HD.

In the tutorial, I also specify that only 4 overrides are needed, in the case where you want both the HD textures and also other audio files from other mods working properly:
WINEDLLOVERRIDES="ddraw,dinput8,libwebp,xaudio2_9=n,b"

  • ddraw - Loads Classic Rebirth
  • dinput8 - Loads the bio3hd.asi file and the HD texture packs
  • libwebp - Reads the .webp images from HD texture packs
  • xaudio2_9 - Loads HQ audio files (WAV)
Ddariox86 2025-06-09 github

@ShadowOne333, have you tried running the game without libwebp and xaudio2_9 overrides? On my side it works fine without these two.

SShadowOne333 2025-06-11 github

@ShadowOne333, have you tried running the game without libwebp and xaudio2_9 overrides? On my side it works fine without these two.

Yep you're right.
I tested it with only ddraw and dinput8, and RE3 with Classic Rebirth and the HD texture pack works just fine!

Ddariox86 2025-06-12 github

For the record, these are the overrides needed to run the games in Wine and Proton:
Resident Evil - Seamless HD, ddraw and dinput8;
Resident Evil 2 - Seamless HD, ddraw and dsound;
Resident Evil 3 - Seamless HD, ddraw and dinput8.

SShadowOne333 2025-06-12 github

Makes sense, since ddraw is the one for Classic Rebirth and dinput8/dsound seems to be the modified DLL for ASI loading.
I'll give those a test, it'll surely help a lot to keep things less cluttered for the classic trilogy.

RRoaminGrape 2025-07-05 github

I've noticed- similar to Windows, returning from the hospital on the way to the flaming piano, proton will crash just like Windows does. Similarly, if Winecfg in Protontricks is set to Windows XP compatibility, Nemesis won't crash the game flying into the area.

SShadowOne333 2025-07-05 github

I've noticed- similar to Windows, returning from the hospital on the way to the flaming piano, proton will crash just like Windows does. Similarly, if Winecfg in Protontricks is set to Windows XP compatibility, Nemesis won't crash the game flying into the area.

Is this while playing as Carlos?
If that's so, that's because of a missing file iirc, but I'd wait to see if it is indeed when playing as Carlos in the Clock Tower

RRoaminGrape 2025-07-06 github

Is this while playing as Carlos? If that's so, that's because of a missing file iirc, but I'd wait to see if it is indeed when playing as Carlos in the Clock Tower

Yeah, I just tried it today, and it crashed while returning to the Clock Tower as him, but it's not because of the workaround. When it doesn't crash (on XP settings), Nemesis will break in through the fire and attack instead of getting a CTD.