HeroicGamesLauncher
HeroicGamesLauncher copied to clipboard
Wine prefix created not respecting the WINEARCH environment variable
Describe the bug
In previous versions of Heroic (I think pre-2.3.0) one could set an environment variable on a game for WINEARCH=win32 and when the game was first run the wine prefix would be created as a 32-bit prefix. However it is not doing that anymore and is always creating a 64-bit prefix despite a WINEARCH=win32 environment variable being set.
After the prefix is created the environment variable is being respected as subsequent game runs are correctly giving an error log e.g. "wine: WINEARCH set to win32 but '/media/alexander/Twery/HeroicLibrary_m2/Winebottles/wine32test-RogueLegacy' is a 64-bit installation."
So the problem only appears to be when the wine prefix is created the environment variable is not respected. I know it was working to create 32-bit prefixes in previous versions as I had created them this way for a couple of games that are only working in wine 32-bit (e.g. Epic games versions of 'Rogue Legacy' and 'Salt and Sanctuary')
Add logs
Launch Command: WINEARCH=win32 WINEPREFIX=/media/alexander/Twery/HeroicLibrary_m2/Winebottles/wine32test-RogueLegacy WINEESYNC=1 /usr/bin/gamemoderun /opt/Heroic/resources/app.asar.unpacked/build/bin/linux/legendary launch 01f1e8046e9e433db190a611a0411579 --wine /home/alexander/.config/heroic/tools/wine/Wine-GE-Proton7-11/bin/wine --wine-prefix /media/alexander/Twery/HeroicLibrary_m2/Winebottles/wine32test-RogueLegacy
System Info:
Heroic Version: 2.3.9 Brook
Legendary Version: 0.20.26 Dark Energy
OS: LinuxMint KERNEL: 5.15.0-33-generic ARCH: x64
CPU: Intel Core™ i5-6600K @3.5 GOVERNOR: performance
RAM: Total: 15.57 GiB Available: 11.34 GiB
GRAPHICS: GPU0: NVIDIA GeForce RTX 2060 VRAM: 6144MB DRIVER: 515.48.07
PROTOCOL: x11
Game Settings: {
"audioFix": false,
"autoInstallDxvk": true,
"autoInstallVkd3d": false,
"enableEsync": true,
"enableFsync": false,
"maxSharpness": 2,
"nvidiaPrime": false,
"offlineMode": false,
"otherOptions": "WINEARCH=win32",
"savesPath": "",
"showFps": false,
"showMangohud": false,
"targetExe": "",
"useGameMode": true,
"wineCrossoverBottle": "Heroic",
"winePrefix": "/media/alexander/Twery/HeroicLibrary_m2/Winebottles/wine32test-RogueLegacy",
"wineVersion": {
"bin": "'/home/alexander/.config/heroic/tools/wine/Wine-GE-Proton7-11/bin/wine'",
"name": "Wine - Wine-GE-Proton7-11",
"type": "wine",
"wineserver": "'/home/alexander/.config/heroic/tools/wine/Wine-GE-Proton7-11/bin/wineserver'",
"wineboot": "'/home/alexander/.config/heroic/tools/wine/Wine-GE-Proton7-11/bin/wineboot'"
},
"useSteamRuntime": false
}
Error Log:
[cli] INFO: Logging in...
[Core] INFO: Trying to re-use existing login session...
[cli] INFO: Checking for updates...
[Core] INFO: Getting authentication token...
[cli] INFO: Launching 01f1e8046e9e433db190a611a0411579...
ERROR: ld.so: object '/usr/$LIB/libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/$LIB/libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
esync: up and running.
wine: RLIMIT_NICE is <= 20, unable to use setpriority safely
wine: WINEARCH set to win32 but '/media/alexander/Twery/HeroicLibrary_m2/Winebottles/wine32test-RogueLegacy' is a 64-bit installation.
gamemodeauto:
Game Log:
Legendary update available!
-
New version: 0.20.27 - "Dark Energy (hotfix)"
-
Release summary:
[*] Adds instructions to recover from missing manifest file errors
[*] Updates "eos-overlay" for more intuitive Linux/macOS usage
[*] Adds instructions for use on Windows when exe is double-cliecked instead of run from a terminal.
See full changelog for additional details.
-
Release URL: https://legendary.gl/release/0.20.27
-
Download URL: https://legendary.gl/release/download/0.20.27/legendary
Steps to reproduce
- Go to a game that does not have a wine prefix created
- For the game go to Other settings > Advanced options (Environment variables) and input WINEARCH=win32
- Run the game for the first time so the wine prefix is created
- Observe that the prefix created is win64 not win32.
Expected behavior
Expect the created wine prefix to be win32.
Screenshots
System Information
- OS [e. g. "Ubuntu"]: Linux Mint 20.3
- Heroic Version [e. g. 2.1.1]: 2.3.9
Additional information
No response
Can you download the beta to check if the problem is still there?
@flavioislima Yes, I have now tried the 2.4.0-beta AppImage and it is behaving the same. Environment variable of WINEARCH=win32 is set but the wine prefix being created is still win64.
I see this would be fixed with pull request #1568 :+1:
Confirmed this is fixed as of 2.4.0, so closing.
This issue is back