Ray2Fix icon indicating copy to clipboard operation
Ray2Fix copied to clipboard

[Linux] Crashes on version 1.4.0 in Wine/Proton, but 1.3.0 works fine (GOG)

Open anzix opened this issue 1 year ago • 6 comments

Operating System: Arch Linux KDE Plasma Version: 6.2.4 KDE Frameworks Version: 6.9.0 Qt Version: 6.8.1 Kernel Version: 6.12.7-zen1-1-zen (64-bit) Graphics Platform: Wayland Processors: 12 × Intel® Xeon® CPU E5-1650 0 @ 3.20GHz Memory: 15.5 GiB of RAM Graphics Processor: AMD Radeon RX 580 Series

Game Version: GOG The compatibility layer was used by Proton-GE 9-22 with umu-launcher from the command line and Wine-tkg

I installed the game like this

WINEPREFIX=$HOME/.local/share/wineprefixes/Rayman2 GAMEID=0 PROTONPATH="$HOME/.steam/steam/compatibilitytools.d/GE-Proton9-22/" umu-run 'setup_rayman_2_gog-1_(17797).exe'

Then I downloaded Ray2Fix 1.4.0, renamed 2 files inside the unpacked archive to make the game work.

  • Glide2x.dll on glide2x.dll
  • 3dfxspl2.dll on 3DfxSpl2.dll

And I moved everything inside to the replacement game folder.

I started the game like this

mangohud WINEPREFIX=$HOME/.local/share/wineprefixes/Rayman2 WINEDLLOVERRIDES="dinput8,dinput=n,b" GAMEID=0 PROTONPATH="$HOME/.steam/steam/compatibilitytools.d/GE-Proton9-22/" umu-run '/home/user/Games/Rayman 2/Rayman2.exe'

When starting, a small game window with a white screen appears for a fraction of a second and immediately closes, there are no errors or any important information in the logs. Here's the startup log, just in case.

$ mangohud WINEPREFIX=$HOME/.local/share/wineprefixes/Rayman2 WINEDLLOVERRIDES="dinput8,dinput=n,b" GAMEID=0 PROTONPATH="$HOME/.steam/steam/compatibilitytools.d/GE-Proton9-22/" umu-run '/home/user/Games/Rayman 2/Rayman2.exe'
umu-launcher version 1.1.4 (3.13.1 (main, Dec  4 2024, 18:05:56) [GCC 14.2.1 20240910])
steamrt is up to date
ProtonFixes[174862] INFO: Running protonfixes
ProtonFixes[174862] INFO: Running checks
ProtonFixes[174862] INFO: All checks successful
ProtonFixes[174862] WARN: Game title not found in CSV
ProtonFixes[174862] INFO: Using global defaults for UNKNOWN (0)
ProtonFixes[174862] INFO: No global protonfix found for UNKNOWN (0)
Proton: /home/user/Games/Rayman 2/Rayman2.exe
Proton: Executable a unix path, launching with /unix option.
fsync: up and running.
Command exited with status: 0
wine: setpriority 3 for pid -1 failed: 3
wine: setpriority 3 for pid -1 failed: 3
wine: setpriority 3 for pid -1 failed: 3
wine: setpriority 3 for pid -1 failed: 3
wine: setpriority 3 for pid -1 failed: 3
wine: setpriority 3 for pid -1 failed: 3
wine: setpriority 3 for pid -1 failed: 3
wine: setpriority 3 for pid -1 failed: 3
wine: setpriority 3 for pid -1 failed: 3
wine: setpriority -10 for pid -1 failed: 3
wine: setpriority -10 for pid -1 failed: 3

Using version 1.3.0 Ray2Fix with the same installation and launch steps of the game, everything starts normally. Снимок экрана_20250102_222142

anzix avatar Jan 02 '25 17:01 anzix

I figured out what the problem was. The problem is in the file Glide2x.dll. The temporary solution is this, I moved the file glide2x.dll from the 1.3.0 version to the game folder, and all other files from the 1.4.0 version. After that, the game runs on Ray2Fix 1.4.0 under ProtonGE 9-22 Снимок экрана_20250102_230937

anzix avatar Jan 02 '25 19:01 anzix

That's strange. If I had to guess, you probably need to manually install the latest Visual C++ runtime

spitfirex86 avatar Jan 02 '25 20:01 spitfirex86

Proton and ProtonGE usually add the latest vcrun2022 (2015-2022) automatically when creating a prefix/bottle. In the list of libraries, using the winetricks command under the prefix indicates that vcrun2022 is installed

Снимок экрана_20250103_133513

anzix avatar Jan 03 '25 08:01 anzix

Hello @spitfirex86 , Linux user here, could you tell me which dgVoodoo2 version you included in Ray2fix 1.4.0 and 1.3.0?

legluondunet avatar Jan 20 '25 14:01 legluondunet

I can confirm. Rayman 2 crushes on start with Ray2Fix 1.4.0, although with Ray2Fix 1.3.0 the game runs fine, as well as with Ray2Fix 1.4.0 + Glide2x.dll from version 1.3.0. Is it ok to run game with files from different versions of the fix?

hadarych9 avatar Apr 22 '25 12:04 hadarych9

Linux users, Ray2fix uses a recent dgVoodoo2 version. But Wine does not support it so the game does not launch. Actually the latest dgVoodoo2 version compatible with Wine is v2.79.1. So all you need is to replace Glide2x.dll from latest Ray2fix version by the one in dgVoodoo 2.79.1 archive.

Another thing, during my tests, I had to delete dgvoodoo2.conf file and generate a new one with Ray2fix. Then I added to dgvoodoo2.conf this options: "3DfxWatermark = false" to disable 3DFX logo, section [Glide] "FullscreenAttributes = fake" to resolve game freeze when ALT+Tab, section [GeneralExt]

I wrote Rayman 2 Lutris scripts installer to make Linux gamers life easier, you will find them here: https://lutris.net/games/rayman-2-the-great-escape/

nota: you do not need to install Visual C++ runtime

legluondunet avatar Sep 16 '25 09:09 legluondunet