Im trying to install a game through Lutris using the game’s installer and I keep coming across the same error that I can’t really find much information on. It seems to be an issue with dotnet itself or the actual game installer and not WINE though, so I am unsure how to proceed.
Here is the log of the install process.
DEBUG 2023-07-07 12:19:37,116 [files_box.on_file_available:108]:gamenameinstaller is available INFO 2023-07-07 12:19:37,116 [files_box.on_file_available:114]:All files available INFO 2023-07-07 12:19:37,116 [installerwindow.on_files_available:635]:All files are available, continuing install DEBUG 2023-07-07 12:19:37,117 [interpreter.create_game_folder:218]:Creating destination path /home/me/Games/gamename DEBUG 2023-07-07 12:19:37,118 [interpreter._iter_commands:361]:Installer command: {'task': {'arch': 'win64', 'name': 'create_prefix', 'prefix': '$GAMEDIR'}} INFO 2023-07-07 12:19:37,119 [wine.create_prefix:98]:Creating a win64 prefix in /home/me/Games/gamename DEBUG 2023-07-07 12:19:37,119 [system.execute:74]:Executing /home/me/.local/share/lutris/runners/wine/lutris-GE-Proton8-9-x86_64/bin/wineboot DEBUG 2023-07-07 12:19:37,119 [system.execute:80]:WINEARCH=win64 WINEPREFIX=/home/me/Games/gamename WINEDLLOVERRIDES=winemenubuilder= WINE_MONO_CACHE_DIR=/home/me/.local/share/lutris/runners/wine/lutris-GE-Proton8-9-x86_64/mono WINE_GECKO_CACHE_DIR=/home/me/.local/share/lutris/runners/wine/lutris-GE-Proton8-9-x86_64/gecko INFO 2023-07-07 12:19:43,237 [wine.create_prefix:153]:win64 Prefix created in /home/me/Games/gamename DEBUG 2023-07-07 12:19:43,308 [interpreter._iter_commands:361]:Installer command: {'task': {'name': 'set_regedit', 'path': 'HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\NET Framework Setup\\NDP\\v4\\Full', 'key': 'Release', 'value': 528040, 'type': 'REG_DWORD'}} DEBUG 2023-07-07 12:19:43,310 [wine.set_regedit:48]:Setting [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full]:Release=dword:528040 DEBUG 2023-07-07 12:19:43,320 [wine.use_lutris_runtime:123]:/home/me/.local/share/lutris/runners/wine/lutris-GE-Proton8-9-x86_64/bin/wine64 is provided by Lutris, using runtime DEBUG 2023-07-07 12:19:43,374 [system.execute:74]:Executing /home/me/.local/share/lutris/runners/wine/lutris-GE-Proton8-9-x86_64/bin/wine64 regedit /S /home/me/.cache/lutris/winekeys.reg DEBUG 2023-07-07 12:19:43,375 [system.execute:80]:__GL_SHADER_DISK_CACHE=1 __GL_SHADER_DISK_CACHE_PATH=/home/me/.cache/lutris/shaders/wine LD_LIBRARY_PATH=/home/me/.local/share/lutris/runners/wine/lutris-GE-Proton8-9-x86_64/lib:/home/me/.local/share/lutris/runners/wine/lutris-GE-Proton8-9-x86_64/lib64:/usr/lib:/usr/lib32:/opt/intel/oneapi/tbb/latest/lib/intel64/gcc4.8:/opt/rocm/lib:/usr/lib/opencollada:/opt/intel/oneapi/compiler/latest/linux/compiler/lib/intel64_lin:/opt/rocm/hip/lib:/opt/intel/oneapi/compiler/latest/linux/lib:/opt/rocm/hsa/lib:/usr/lib/libfakeroot:/usr/lib64:/home/me/.local/share/lutris/runtime/Ubuntu-18.04-i686:/home/me/.local/share/lutris/runtime/steam/i386/lib/i386-linux-gnu:/home/me/.local/share/lutris/runtime/steam/i386/lib:/home/me/.local/share/lutris/runtime/steam/i386/usr/lib/i386-linux-gnu:/home/me/.local/share/lutris/runtime/steam/i386/usr/lib:/home/me/.local/share/lutris/runtime/Ubuntu-18.04-x86_64:/home/me/.local/share/lutris/runtime/steam/amd64/lib/x86_64-linux-gnu:/home/me/.local/share/lutris/runtime/steam/amd64/lib:/home/me/.local/share/lutris/runtime/steam/amd64/usr/lib/x86_64-linux-gnu:/home/me/.local/share/lutris/runtime/steam/amd64/usr/lib WINEDEBUG=-all DXVK_LOG_LEVEL=none WINEARCH=win64 WINE=/home/me/.local/share/lutris/runners/wine/lutris-GE-Proton8-9-x86_64/bin/wine64 WINE_MONO_CACHE_DIR=/home/me/.local/share/lutris/runners/wine/lutris-GE-Proton8-9-x86_64/mono WINE_GECKO_CACHE_DIR=/home/me/.local/share/lutris/runners/wine/lutris-GE-Proton8-9-x86_64/gecko GST_PLUGIN_SYSTEM_PATH_1_0=/home/me/.local/share/lutris/runners/wine/lutris-GE-Proton8-9-x86_64/lib64/gstreamer-1.0/:/home/me/.local/share/lutris/runners/wine/lutris-GE-Proton8-9-x86_64/lib/gstreamer-1.0/ WINEPREFIX=/home/me/Games/gamename WINEESYNC=1 WINEFSYNC=1 WINE_FULLSCREEN_FSR=1 DXVK_NVAPIHACK=0 DXVK_ENABLE_NVAPI=1 PROTON_BATTLEYE_RUNTIME=/home/me/.local/share/lutris/runtime/battleye_runtime PROTON_EAC_RUNTIME=/home/me/.local/share/lutris/runtime/eac_runtime WINEDLLOVERRIDES=d3d10core,d3d11,d3d12,d3d12core,d3d9,d3dcompiler_33,d3dcompiler_34,d3dcompiler_35,d3dcompiler_36,d3dcompiler_37,d3dcompiler_38,d3dcompiler_39,d3dcompiler_40,d3dcompiler_41,d3dcompiler_42,d3dcompiler_43,d3dcompiler_46,d3dcompiler_47,d3dx10,d3dx10_33,d3dx10_34,d3dx10_35,d3dx10_36,d3dx10_37,d3dx10_38,d3dx10_39,d3dx10_40,d3dx10_41,d3dx10_42,d3dx10_43,d3dx11_42,d3dx11_43,d3dx9_24,d3dx9_25,d3dx9_26,d3dx9_27,d3dx9_28,d3dx9_29,d3dx9_30,d3dx9_31,d3dx9_32,d3dx9_33,d3dx9_34,d3dx9_35,d3dx9_36,d3dx9_37,d3dx9_38,d3dx9_39,d3dx9_40,d3dx9_41,d3dx9_42,d3dx9_43,dxgi,nvapi,nvapi64,nvml=n;winemenubuilder= STEAM_COMPAT_CLIENT_INSTALL_PATH=/home/me/.local/share/Steam/ STEAM_COMPAT_DATA_PATH=/home/me/Games/gamename STEAM_COMPAT_APP_ID=0 SteamAppId=0 SteamGameId=lutris-game DEBUG 2023-07-07 12:19:43,967 [interpreter._iter_commands:361]:Installer command: {'task': {'arch': 'win64', 'executable': 'gamenameinstaller', 'name': 'wineexec', 'prefix': '$GAMEDIR'}} DEBUG 2023-07-07 12:19:43,979 [wine.use_lutris_runtime:123]:/home/me/.local/share/lutris/runners/wine/lutris-GE-Proton8-9-x86_64/bin/wine is provided by Lutris, using runtime DEBUG 2023-07-07 12:19:44,037 [command.start:141]:__GL_SHADER_DISK_CACHE="1" DEBUG 2023-07-07 12:19:44,037 [command.start:141]:__GL_SHADER_DISK_CACHE_PATH="/home/me/.cache/lutris/shaders/wine" DEBUG 2023-07-07 12:19:44,037 [command.start:141]:LD_LIBRARY_PATH="/home/me/.local/share/lutris/runners/wine/lutris-GE-Proton8-9-x86_64/lib:/home/me/.local/share/lutris/runners/wine/lutris-GE-Proton8-9-x86_64/lib64:/usr/lib:/usr/lib32:/opt/intel/oneapi/tbb/latest/lib/intel64/gcc4.8:/opt/rocm/lib:/usr/lib/opencollada:/opt/intel/oneapi/compiler/latest/linux/compiler/lib/intel64_lin:/opt/rocm/hip/lib:/opt/intel/oneapi/compiler/latest/linux/lib:/opt/rocm/hsa/lib:/usr/lib/libfakeroot:/usr/lib64:/home/me/.local/share/lutris/runtime/Ubuntu-18.04-i686:/home/me/.local/share/lutris/runtime/steam/i386/lib/i386-linux-gnu:/home/me/.local/share/lutris/runtime/steam/i386/lib:/home/me/.local/share/lutris/runtime/steam/i386/usr/lib/i386-linux-gnu:/home/me/.local/share/lutris/runtime/steam/i386/usr/lib:/home/me/.local/share/lutris/runtime/Ubuntu-18.04-x86_64:/home/me/.local/share/lutris/runtime/steam/amd64/lib/x86_64-linux-gnu:/home/me/.local/share/lutris/runtime/steam/amd64/lib:/home/me/.local/share/lutris/runtime/steam/amd64/usr/lib/x86_64-linux-gnu:/home/me/.local/share/lutris/runtime/steam/amd64/usr/lib" DEBUG 2023-07-07 12:19:44,037 [command.start:141]:WINEDEBUG="-all" DEBUG 2023-07-07 12:19:44,037 [command.start:141]:DXVK_LOG_LEVEL="none" DEBUG 2023-07-07 12:19:44,037 [command.start:141]:WINEARCH="win64" DEBUG 2023-07-07 12:19:44,037 [command.start:141]:WINE="/home/me/.local/share/lutris/runners/wine/lutris-GE-Proton8-9-x86_64/bin/wine" DEBUG 2023-07-07 12:19:44,037 [command.start:141]:WINE_MONO_CACHE_DIR="/home/me/.local/share/lutris/runners/wine/lutris-GE-Proton8-9-x86_64/mono" DEBUG 2023-07-07 12:19:44,037 [command.start:141]:WINE_GECKO_CACHE_DIR="/home/me/.local/share/lutris/runners/wine/lutris-GE-Proton8-9-x86_64/gecko" DEBUG 2023-07-07 12:19:44,037 [command.start:141]:GST_PLUGIN_SYSTEM_PATH_1_0="/home/me/.local/share/lutris/runners/wine/lutris-GE-Proton8-9-x86_64/lib64/gstreamer-1.0/:/home/me/.local/share/lutris/runners/wine/lutris-GE-Proton8-9-x86_64/lib/gstreamer-1.0/" DEBUG 2023-07-07 12:19:44,037 [command.start:141]:WINEPREFIX="/home/me/Games/gamename" DEBUG 2023-07-07 12:19:44,037 [command.start:141]:WINEESYNC="1" DEBUG 2023-07-07 12:19:44,037 [command.start:141]:WINEFSYNC="1" DEBUG 2023-07-07 12:19:44,037 [command.start:141]:WINE_FULLSCREEN_FSR="1" DEBUG 2023-07-07 12:19:44,037 [command.start:141]:DXVK_NVAPIHACK="0" DEBUG 2023-07-07 12:19:44,038 [command.start:141]:DXVK_ENABLE_NVAPI="1" DEBUG 2023-07-07 12:19:44,038 [command.start:141]:PROTON_BATTLEYE_RUNTIME="/home/me/.local/share/lutris/runtime/battleye_runtime" DEBUG 2023-07-07 12:19:44,038 [command.start:141]:PROTON_EAC_RUNTIME="/home/me/.local/share/lutris/runtime/eac_runtime" DEBUG 2023-07-07 12:19:44,038 [command.start:141]:WINEDLLOVERRIDES="d3d10core,d3d11,d3d12,d3d12core,d3d9,d3dcompiler_33,d3dcompiler_34,d3dcompiler_35,d3dcompiler_36,d3dcompiler_37,d3dcompiler_38,d3dcompiler_39,d3dcompiler_40,d3dcompiler_41,d3dcompiler_42,d3dcompiler_43,d3dcompiler_46,d3dcompiler_47,d3dx10,d3dx10_33,d3dx10_34,d3dx10_35,d3dx10_36,d3dx10_37,d3dx10_38,d3dx10_39,d3dx10_40,d3dx10_41,d3dx10_42,d3dx10_43,d3dx11_42,d3dx11_43,d3dx9_24,d3dx9_25,d3dx9_26,d3dx9_27,d3dx9_28,d3dx9_29,d3dx9_30,d3dx9_31,d3dx9_32,d3dx9_33,d3dx9_34,d3dx9_35,d3dx9_36,d3dx9_37,d3dx9_38,d3dx9_39,d3dx9_40,d3dx9_41,d3dx9_42,d3dx9_43,dxgi,nvapi,nvapi64,nvml=n;winemenubuilder=" DEBUG 2023-07-07 12:19:44,038 [command.start:141]:STEAM_COMPAT_CLIENT_INSTALL_PATH="/home/me/.local/share/Steam/" DEBUG 2023-07-07 12:19:44,038 [command.start:141]:STEAM_COMPAT_DATA_PATH="/home/me/Games/gamename" DEBUG 2023-07-07 12:19:44,038 [command.start:141]:STEAM_COMPAT_APP_ID="0" DEBUG 2023-07-07 12:19:44,038 [command.start:141]:SteamAppId="0" DEBUG 2023-07-07 12:19:44,038 [command.start:141]:SteamGameId="lutris-game" DEBUG 2023-07-07 12:19:44,038 [command.start:141]:PYTHONPATH="/usr/lib/lutris:/usr/bin:/usr/lib/python311.zip:/usr/lib/python3.11:/usr/lib/python3.11/lib-dynload:/home/me/.local/lib/python3.11/site-packages:/usr/lib/python3.11/site-packages" DEBUG 2023-07-07 12:19:44,038 [command.start:141]:LUTRIS_GAME_UUID="60873b43-48fd-4f74-9244-80ce56a5c41a" lutris-wrapper: /home/me/.local/share/lutris/runners/wine/lutris-GE-Proton8-9-x86_64/bin/wine Started initial process 12116 from /home/me/.local/share/lutris/runners/wine/lutris-GE-Proton8-9-x86_64/bin/wine /home/me/Downloads/GameNameInstaller.exe Start monitoring process. fsync: up and running. wine: RLIMIT_NICE is <= 20, unable to use setpriority safely ioctl (GFEATURE): Broken pipe ioctl (GFEATURE): Broken pipe ioctl (GFEATURE): Broken pipe ioctl (GFEATURE): Broken pipe ioctl (GFEATURE): Broken pipe ioctl (GFEATURE): Broken pipe ioctl (GFEATURE): Broken pipe ioctl (GFEATURE): Broken pipe ioctl (GFEATURE): Broken pipe Failure processing application bundle. Failed to create directory [Z:\home\me\Downloads\/home/me/.cache/dotnet_bundle_extract\] for extracting bundled files. Monitored process exited. Initial process has exited (return code: 40960) Exit with return code 40960
This part seems to be describing the issue.
Failure processing application bundle. Failed to create directory [Z:\path\to\executable\/home/$USER/.cache/dotnet_bundle_extract\] for extracting bundled files.
Some more details:
- The game is installed using an installer
- The game is made with Unity 2021 with a Mono version equivalent to .NET 4.8
Here is what i have tried so far (Updated):
- Reinstalling Mono in the prefix using WINETRICKS
- Uninstalling Mono and installing .NET 4.8 using WINETRICKS
- Editing the register in the WINE prefix to show .NET 4.8 being installed (you can see this in provided logs, but I am unsure if I am doing it correctly)
- Creating a symlink to the users home directory (whis ‘works’ but it installs DLLs outside of the prefix)
Here is the install script I am using:
--- game_slug: gamename name: GameName year: 2023 user: t3nk3y runner: wine slug: gamename version: GameName - Alpha Test description: notes: "Actual game install will occur on the first run of the game." script: files: - gamenameinstaller: N/A:Please select the GameNameInstaller.exe file game: arch: win64 exe: drive_c/users/$USER/AppData/Local/GameName/Launcher/GameNameInstaller.exe prefix: "$GAMEDIR" installer: - task: description: Creating Wine prefix arch: win64 name: create_prefix prefix: "$GAMEDIR" - task: description: Working around .NET check name: set_regedit path: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full key: Release value: 0x00080ea8 type: REG_DWORD - task: description: Launching GameNameInstaller.exe arch: win64 executable: gamenameinstaller name: wineexec prefix: $GAMEDIR wine: UseGLSL: disabled dxvk: true esync: true
I am unsure of what to try next, and any help or advice would be greatly appreciated.
I already have dotnet installed natively (driver, runtime, SDK, and targeting pack). If I could figure out exactly what was calling the error I could have a better sense of what’s going on.
The weird thing is that the game itself is running Mono, which Lutris appears to automatically set up when creating a prefix, and even if the launcher/game isn’t recognizing it, I don’t know why it would be trying to use .NET, let alone installing and accessing prerequisites outside of the prefix.
The game_slug is just an internal ID for Lutris, it would be used for if/when I upload the installation script to the Lutris website.
Installation through Steam was a no-go, I’m not sure Steam and stock Proton have the tools required to get this running, and Heroic likely wouldn’t be much different.
The game itself is an alpha-test under NDA, so I can’t disclose too much, (and why I haven’t been able to find much helpful information searching online). It has a standalone installer and launcher which is what I believe is causing the most issues. I can get in contact with the devs but I’m trying to avoid bugging them since there is not currently planned support for Linux.
Okay, try running
env
in a terminal and seeing whatDOTNET_BUNDLE_EXTRACT_BASE_DIR
is set to. For me it’sDOTNET_BUNDLE_EXTRACT_BASE_DIR=/home/$USER/.cache/dotnet_bundle_extract
but I’m betting that yours is more like/homemeDownloads/home/me/.cache/dotnet_bundle_extract
whereas it should almost certainly be/home/$USER/.cache/dotnet_bundle_extract
And in the environment variables you might as well check
DOTNET_ROOT
and see if any Dotnet programs are in yourPATH
. For me those areDOTNET_ROOT=/usr/lib/dotnet
andPATH=/home/$USER/.dotnet/tools
Here’s a command to check them all quickly:
echo $DOTNET_BUNDLE_EXTRACT_BASE_DIR && echo $DOTNET_ROOT && echo $PATH | grep /home/$USER/.dotnet/tools
I’m not sure if this is standard behaviour, but when I run Winetricks > Select default prefix > Run a commandline shell (for debugging) it opens a terminal window under my default username with the same environment variables as my OS, so I think it might matter what your OS environment variables are set to.
@ShaunaTheDead @BloodSlut of course it matters. Environment variables get passed to wine, after which other processes inherit them, simply because they are children of wine. Because wine makes them available to windows calls too, well, you get them in wine processes.
Okay, so there’s nothing actually wrong with `DOTNET_BUNDLE_EXTRACT_BASE_DIR’, its just that its being inherited from the system and ends up tacked on to the filepath of where the installer executable is.
I think I need to locally clear the env var in the WINE prefix, but I am unsure how.
You be able to just delete the prefix folder and start over. Maybe run
echo $GAMEDIR
in terminal afterwards to make sure that the GAMEDIR Environment Variable was erased as well.