Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issue with "Batman: Arkham Asylum" and protonfixes #94

Closed
totof3110 opened this issue Apr 19, 2024 · 7 comments
Closed

Issue with "Batman: Arkham Asylum" and protonfixes #94

totof3110 opened this issue Apr 19, 2024 · 7 comments

Comments

@totof3110
Copy link

Hello. I know this project is still WIP but I'm trying to play with the new UMU-launcher and UMU-Proton and while it works great on the 20+ games I've tried it with so far, I'm running into issues with "Batman: Arkham Asylum" (the GOG version of the game in case that matters).

This game requires physx and a few other DLLs to run (as shown in https://github.com/Open-Wine-Components/umu-protonfixes/blob/master/gamefixes-steam/35140.py), but the game won't launch on an empty wineprefix. I'm running WINEPREFIX=/home/user/Games/Batman/wineprefix GAMEID=umu-35140 PROTONPATH=/home/user/Games/bin/UMU-Proton-9.0-beta16-2 umu-run ./BmLauncher.exe but it just exits without actually launching the game:

x86_64-linux-gnu-capsule-capture-libs: warning: Dependencies of libnvidia-pkcs11.so.550.67 not found, ignoring: Missing dependencies: Could not find "libcrypto.so.1.1" in LD_LIBRARY_PATH "", ld.so.cache, DT_RUNPATH or fallback /lib:/usr/lib
ProtonFixes[32175] INFO: Running protonfixes
ProtonFixes[32175] INFO: Running checks
ProtonFixes[32175] INFO: All checks successful
ProtonFixes[32175] INFO: Using global defaults for UNKNOWN (umu-35140)
ProtonFixes[32175] INFO: No global protonfix found for UNKNOWN (umu-35140)
Proton: BmLauncher.exe
Proton: Executable is inside wine prefix, launching normally.
fsync: up and running.

If I go an use winetricks to manually install the required DLLs, then it works (and I can launch and play the game).

Shouldn't UMU-launcher automatically setup the prefix based on the protonfixes or am I missing something? And side-question: why does the logs show the name of the game as "UNKNOWN"? Shouldn't it show the actual name since it's in https://github.com/Open-Wine-Components/umu-database/blob/main/umu-database.csv#L596.

@R1kaB3rN
Copy link
Member

R1kaB3rN commented Apr 19, 2024

Hi, thanks for making the time to create a report.

If you want to use a non-steam fix such as umu-1228964594, an appopriate STORE environment variable must be set. However, since this game is available in Steam, in your case, the command would be:

WINEPREFIX=/home/user/Games/Batman/wineprefix GAMEID=35140 PROTONPATH=/home/user/Games/bin/UMU-Proton-9.0-beta16-2 umu-run ./BmLauncher.exe

which would use the steam game fix. Notice that STORE environment variable is not set here, which will cause the protonfix module to reference the gamefixes-steam directory.

For more examples using the launcher, please see umu(1)

@totof3110
Copy link
Author

totof3110 commented Apr 19, 2024

Thanks for the quick reply! I guess I misunderstood the docs. So if I understand correctly, if a game is available in Steam, the GAMEID is just the Steam ID, and otherwise it would be umu-xyz with an additional STORE var to select the right protonfix?

I just tried the command without the umu- prefix and now I can see the DLLs being installed:

ProtonFixes[45595] INFO: Checking if winetricks physx is installed
ProtonFixes[45595] INFO: Installing winetricks physx
ProtonFixes[45595] INFO: Using winetricks verb physx

Oddly enough the game still isn't launching... The steps I'm taking are:

  • create a new empty directory at /home/user/Games/Batman/wineprefix
  • run WINEPREFIX=/home/user/Games/Batman/wineprefix GAMEID=35140 PROTONPATH=/home/user/Games/bin/UMU-Proton-9.0-beta16-2 umu-run ./BmLauncher.exe
    • The wineprefix is initialized and setup with the right protonfixes
    • umu-run exits without launching anything (like before)
  • then I run WINEPREFIX=/home/clevesque/Games/Batman/wineprefix winetricks (and not do anything, just to update the prefix using regular wine)
  • run again WINEPREFIX=/home/user/Games/Batman/wineprefix GAMEID=35140 PROTONPATH=/home/user/Games/bin/UMU-Proton-9.0-beta16-2 umu-run ./BmLauncher.exe
  • now the game launches!

I'll try to dig a little more but any idea whether the wineprefix created by Proton might be missing something? This only happen for this game, every other game I tried worked flawlessly without tinkering with the prefix.

@R1kaB3rN
Copy link
Member

To clarify, in a clean prefix with the command I listed, you still cannot run the game? Also, in the steps you had listed, running winetricks after running the game through umu should break the prefix thus reverting any fixes that had been applied. Is there any particular reason you are doing this?

@R1kaB3rN
Copy link
Member

Will close because this not currently a bug in the launcher. However, at least, there should probably be functionality in protonfixes to handle this case because umu-35140 is a valid database entry, so I think setting GAMEID=umu-35140 should result in a fix to be applied. And as far as I can see, there isn't currently a case where a fix differs from two or more storefronts for the same game.

@totof3110
Copy link
Author

To clarify, in a clean prefix with the command I listed, you still cannot run the game? Also, in the steps you had listed, running winetricks after running the game through umu should break the prefix thus reverting any fixes that had been applied. Is there any particular reason you are doing this?

@R1kaB3rN : that's right. The game runs fine with Lutris and wine-ge-8-26 (after installing the necessary DLLs with winetricks). However, running it with GAMEID=35140 umu-run ./BmLauncher.exe exits without launching the game (and no apparent error in the logs). But if I force umu to use the wineprefix that works with Lutris / wine-ge, then the game starts without any apparent side effect (I was just trying random things, not particular reason). So something's weird about this game.

As mentioned, I can run the game fine with Lutris / wine-ge so not a big deal for me. Just thought I'd report it in case it's a bug in umu or umu-proron.

@totof3110
Copy link
Author

Might be unrelated but this is one of the rare games where the EXE has to be launched specifically from the subdirectory where it is located. So from the installation directory I have to set the working directory into /Binaries and launch BmLauncher.exe. If I run /Binaries/BmLauncher.exe from the root dir, the EXE shows an error "Failed to load file "..\BmGame\Config\Launcher.ini`.

@R1kaB3rN
Copy link
Member

Might be unrelated but this is one of the rare games where the EXE has to be launched specifically from the subdirectory where it is located. So from the installation directory I have to set the working directory into /Binaries and launch BmLauncher.exe. If I run /Binaries/BmLauncher.exe from the root dir, the EXE shows an error "Failed to load file "..\BmGame\Config\Launcher.ini`.

If that's the case, then it must be related to #63

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants