Skip to content

NixOS - can't run winetricks verbs #168

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

Closed
emrebicer opened this issue Aug 8, 2024 · 5 comments
Closed

NixOS - can't run winetricks verbs #168

emrebicer opened this issue Aug 8, 2024 · 5 comments

Comments

@emrebicer
Copy link

I am using the nix package from this repository, I can use the umu-run command to run windows executables, but when I want to run winetricks it fails and gives this output;

$ export GAMEID=umu-252950
$ umu-run winetricks vcrun2017
steamrt is up to date
UMU-Proton is up to date
/nix/store/nf5mmvq3cayv4z3jcnhapiqjzh3brcd2-gvfs-1.54.1/lib/gvfs/libgvfscommon.so: undefined symbol: g_task_set_static_name
Failed to load module: /nix/store/nf5mmvq3cayv4z3jcnhapiqjzh3brcd2-gvfs-1.54.1/lib/gio/modules/libgioremote-volume-monitor.so
/nix/store/nf5mmvq3cayv4z3jcnhapiqjzh3brcd2-gvfs-1.54.1/lib/gvfs/libgvfscommon.so: undefined symbol: g_task_set_static_name
Failed to load module: /nix/store/nf5mmvq3cayv4z3jcnhapiqjzh3brcd2-gvfs-1.54.1/lib/gio/modules/libgvfsdbus.so
/nix/store/5mlhwjg2wdsbjs59y3afjqnkd1nxbz0r-dconf-0.40.0-lib/lib/gio/modules/libdconfsettings.so: undefined symbol: g_assertion_message_cmpint
Failed to load module: /nix/store/5mlhwjg2wdsbjs59y3afjqnkd1nxbz0r-dconf-0.40.0-lib/lib/gio/modules/libdconfsettings.so
fsync: up and running.
Using native,builtin override for following DLLs: api-ms-win-crt-private-l1-1-0 api-ms-win-crt-conio-l1-1-0 api-ms-win-crt-heap-l1-1-0 api-ms-win-crt-locale-l1-1-0 api-ms-win-crt-math-l1-1-0 api-ms-win-crt-runtime-l1-1-0 api-ms-win-crt-stdio-l1-1-0 api-ms-win-crt-time-l1-1-0 atl140 concrt140 msvcp140 msvcp140_1 msvcp140_2 msvcp140_atomic_wait msvcp140_codecvt_ids vcamp140 vccorlib140 vcomp140 vcruntime140
fsync: up and running.
fsync: up and running.
winxp64
fsync: up and running.
@R1kaB3rN
Copy link
Member

R1kaB3rN commented Aug 9, 2024

Please set UMU_LOG=debug and report the output of the same command again. umu-launcher suppresses a lot of log statements by default, including those from winetricks, and that output only really tells me that the vcrun2017 verb exists and had been applied in the prefix umu-252950.

@emrebicer
Copy link
Author

$ export GAMEID=umu-252950
$ export UMU_LOG=debug
$ umu-run winetricks vcrun2017
DEBUG [umu_run.main:707]:Arguments: ('winetricks', ['vcrun2017'])
DEBUG [umu_runtime.setup_umu:176]:Root: /nix/store/izvhbfjs5lfaiyazc5aqyx5j28rfis5q-python3.12-umu-launcher/lib/python3.12/site-packages/umu
DEBUG [umu_runtime.setup_umu:177]:Local: /home/emrebicer/.local/share/umu
DEBUG [umu_runtime._update_umu:207]:Existing install detected
DEBUG [umu_proton.get_umu_proton:54]:Sending request to api.github.com
DEBUG [umu_runtime._update_umu:221]:Runtime: sniper_platform_0.20240718.95653
DEBUG [umu_runtime._update_umu:222]:Codename: sniper
steamrt is up to date
UMU-Proton is up to date
DEBUG [umu_run.setup_pfx:149]:Skipping link creation for prefix
DEBUG [umu_run.setup_pfx:150]:User steamuser is link: False
DEBUG [umu_run.setup_pfx:151]:User home directory is link: True
INFO [umu_run.main:760]:WINEPREFIX=/home/emrebicer/Games/umu/umu-252950
INFO [umu_run.main:760]:GAMEID=umu-252950
INFO [umu_run.main:760]:PROTON_CRASH_REPORT_DIR=/tmp/umu_crashreports
INFO [umu_run.main:760]:PROTONPATH=/home/emrebicer/.local/share/Steam/compatibilitytools.d/UMU-Proton-9.0-2
INFO [umu_run.main:760]:STEAM_COMPAT_APP_ID=252950
INFO [umu_run.main:760]:STEAM_COMPAT_TOOL_PATHS=/home/emrebicer/.local/share/Steam/compatibilitytools.d/UMU-Proton-9.0-2:/home/emrebicer/.local/share/umu
INFO [umu_run.main:760]:STEAM_COMPAT_LIBRARY_PATHS=/home
INFO [umu_run.main:760]:STEAM_COMPAT_MOUNTS=/home/emrebicer/.local/share/Steam/compatibilitytools.d/UMU-Proton-9.0-2:/home/emrebicer/.local/share/umu
INFO [umu_run.main:760]:STEAM_COMPAT_INSTALL_PATH=/home/emrebicer/.local/share/Steam/compatibilitytools.d/UMU-Proton-9.0-2/protonfixes
INFO [umu_run.main:760]:STEAM_COMPAT_CLIENT_INSTALL_PATH=
INFO [umu_run.main:760]:STEAM_COMPAT_DATA_PATH=/home/emrebicer/Games/umu/umu-252950
INFO [umu_run.main:760]:STEAM_COMPAT_SHADER_PATH=/home/emrebicer/Games/umu/umu-252950/shadercache
INFO [umu_run.main:760]:FONTCONFIG_PATH=
INFO [umu_run.main:760]:EXE=/home/emrebicer/.local/share/Steam/compatibilitytools.d/UMU-Proton-9.0-2/protonfixes/winetricks
INFO [umu_run.main:760]:SteamAppId=252950
INFO [umu_run.main:760]:SteamGameId=252950
INFO [umu_run.main:760]:STEAM_RUNTIME_LIBRARY_PATH=/home/emrebicer/.local/share/Steam/compatibilitytools.d/UMU-Proton-9.0-2/protonfixes:/usr/lib:/run/opengl-driver/lib:/run/opengl-driver-32/lib
INFO [umu_run.main:760]:STORE=egs
INFO [umu_run.main:760]:PROTON_VERB=runinprefix
INFO [umu_run.main:760]:UMU_ID=umu-252950
INFO [umu_run.main:760]:ULWGL_ID=umu-252950
INFO [umu_run.main:760]:UMU_ZENITY=
INFO [umu_run.main:760]:UMU_NO_RUNTIME=
INFO [umu_run.main:760]:WINETRICKS_SUPER_QUIET=
DEBUG [umu_run.main:775]:[PosixPath('/home/emrebicer/.local/share/umu/umu'), '--verb', 'runinprefix', '--', PosixPath('/home/emrebicer/.local/share/Steam/compatibilitytools.d/UMU-Proton-9.0-2/proton'), 'runinprefix', '/home/emrebicer/.local/share/Steam/compatibilitytools.d/UMU-Proton-9.0-2/protonfixes/winetricks', '-q', 'vcrun2017']
DEBUG [umu_run.get_gamescope_baselayer_order:524]:GAMESCOPECTRL_BASELAYER_APPID property not found
/nix/store/nf5mmvq3cayv4z3jcnhapiqjzh3brcd2-gvfs-1.54.1/lib/gvfs/libgvfscommon.so: undefined symbol: g_task_set_static_name
Failed to load module: /nix/store/nf5mmvq3cayv4z3jcnhapiqjzh3brcd2-gvfs-1.54.1/lib/gio/modules/libgioremote-volume-monitor.so
/nix/store/nf5mmvq3cayv4z3jcnhapiqjzh3brcd2-gvfs-1.54.1/lib/gvfs/libgvfscommon.so: undefined symbol: g_task_set_static_name
Failed to load module: /nix/store/nf5mmvq3cayv4z3jcnhapiqjzh3brcd2-gvfs-1.54.1/lib/gio/modules/libgvfsdbus.so
/nix/store/5mlhwjg2wdsbjs59y3afjqnkd1nxbz0r-dconf-0.40.0-lib/lib/gio/modules/libdconfsettings.so: undefined symbol: g_assertion_message_cmpint
Failed to load module: /nix/store/5mlhwjg2wdsbjs59y3afjqnkd1nxbz0r-dconf-0.40.0-lib/lib/gio/modules/libdconfsettings.so
fsync: up and running.
Executing cd /home/emrebicer/Games/umu/umu-252950/pfx/dosdevices/z:/home/emrebicer/.local/share/Steam/compatibilitytools.d/UMU-Proton-9.0-2/protonfixes
------------------------------------------------------
warning: You are using a 64-bit WINEPREFIX. Note that many verbs only install 32-bit versions of packages. If you encounter problems, please retest in a clean 32-bit WINEPREFIX before reporting a bug.
------------------------------------------------------
Using winetricks 20240105-next - sha256sum: 24e7998e0be0d02f0d6ae2c1cb548ae847dc14501f1f010561bdd5e3dbd44739 with wine-9.0 and WINEARCH=win64
Executing w_do_call vcrun2017
Executing load_vcrun2017
Using native,builtin override for following DLLs: api-ms-win-crt-private-l1-1-0 api-ms-win-crt-conio-l1-1-0 api-ms-win-crt-heap-l1-1-0 api-ms-win-crt-locale-l1-1-0 api-ms-win-crt-math-l1-1-0 api-ms-win-crt-runtime-l1-1-0 api-ms-win-crt-stdio-l1-1-0 api-ms-win-crt-time-l1-1-0 atl140 concrt140 msvcp140 msvcp140_1 msvcp140_2 msvcp140_atomic_wait ucrtbase vcamp140 vcomp140 vccorlib140 vcruntime140 vcruntime140_1
Executing wine cmd /c C:\windows\syswow64\regedit.exe /S C:\windows\Temp\_vcrun2017\override-dll.reg
fsync: up and running.
Executing wine64 cmd /c C:\windows\regedit.exe /S C:\windows\Temp\_vcrun2017\override-dll.reg
------------------------------------------------------
warning: Working around wine bug 50894 -- Working around failing wusa.exe lookup via C:\windows\SysNative
------------------------------------------------------
winxp64
Executing wine winecfg -v winxp64
------------------------------------------------------
warning: Running /home/emrebicer/.local/share/Steam/compatibilitytools.d/UMU-Proton-9.0-2/files/bin//wineserver -w. This will hang until all wine processes in prefix=/home/emrebicer/Games/umu/umu-252950/pfx/ terminate
------------------------------------------------------
Executing cabextract -q --directory=/home/emrebicer/Games/umu/umu-252950/pfx//dosdevices/c:/windows/temp/_vcrun2017/win32 /home/emrebicer/.cache/winetricks/vcrun2017/vc_redist.x86.exe -F a10
Executing cabextract -q --directory=/home/emrebicer/Games/umu/umu-252950/pfx//dosdevices/c:/windows/syswow64 /home/emrebicer/Games/umu/umu-252950/pfx//dosdevices/c:/windows/temp/_vcrun2017/win32/a10 -F ucrtbase.dll
/home/emrebicer/Games/umu/umu-252950/pfx//dosdevices/c:/windows/temp/_vcrun2017/win32/a10: WARNING; possible 16776 extra bytes at end of file.
Executing cd /home/emrebicer/.cache/winetricks/vcrun2017
Executing wine vc_redist.x86.exe /q
fsync: up and running.
------------------------------------------------------
warning: Note: command wine vc_redist.x86.exe /q returned status 102. Aborting.
------------------------------------------------------
DEBUG [umu_run.run_command:657]:Child 347766 exited with wait status: 3

@R1kaB3rN
Copy link
Member

R1kaB3rN commented Aug 9, 2024

Hmm, I cannot reproduce that exit code after testing in a clean wine prefix and purging the winetricks cache. However, running the vcrun2017 verb will fail on my system because I'm on pure Wayland. In that case, vc_redist.x86.exe exits with 120 and winetricks exits with 1:

Proton: Running winetricks verbs in prefix: vcrun2017
Executing cd /home/foo/.local/share/Steam/compatibilitytools.d/UMU-Proton-9.0-2/protonfixes
------------------------------------------------------
winetricks latest version check update disabled
------------------------------------------------------
------------------------------------------------------
warning: You are using a 64-bit WINEPREFIX. Note that many verbs only install 32-bit versions of packages. If you encounter problems, please retest in a clean 32-bit WINEPREFIX before reporting a bug.
------------------------------------------------------
Using winetricks 20240105-next - sha256sum: 24e7998e0be0d02f0d6ae2c1cb548ae847dc14501f1f010561bdd5e3dbd44739 with wine-9.0 and WINEARCH=win64
Executing w_do_call vcrun2017
------------------------------------------------------
warning: You are using a 64-bit WINEPREFIX. Note that many verbs only install 32-bit versions of packages. If you encounter problems, please retest in a clean 32-bit WINEPREFIX before reporting a bug.
------------------------------------------------------
Executing load_vcrun2017 
Executing mkdir -p /home/foo/.cache/winetricks/vcrun2017
Executing cd /home/foo/.cache/winetricks/vcrun2017
Downloading https://aka.ms/vs/15/release/vc_redist.x86.exe to /home/foo/.cache/winetricks/vcrun2017
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 13.9M  100 13.9M    0     0  8121k      0  0:00:01  0:00:01 --:--:-- 32.7M
Executing cd /home/foo/.local/share/Steam/compatibilitytools.d/UMU-Proton-9.0-2/protonfixes
Using native,builtin override for following DLLs: api-ms-win-crt-private-l1-1-0 api-ms-win-crt-conio-l1-1-0 api-ms-win-crt-heap-l1-1-0 api-ms-win-crt-locale-l1-1-0 api-ms-win-crt-math-l1-1-0 api-ms-win-crt-runtime-l1-1-0 api-ms-win-crt-stdio-l1-1-0 api-ms-win-crt-time-l1-1-0 atl140 concrt140 msvcp140 msvcp140_1 msvcp140_2 msvcp140_atomic_wait ucrtbase vcamp140 vcomp140 vccorlib140 vcruntime140 vcruntime140_1
Executing /home/foo/.local/share/Steam/compatibilitytools.d/UMU-Proton-9.0-2/files/bin/wine C:\windows\syswow64\regedit.exe /S C:\windows\Temp\override-dll.reg
wine: using kernel write watches, use_kernel_writewatch 1.
fsync: up and running.
wine: using kernel write watches, use_kernel_writewatch 1.
wine: using kernel write watches, use_kernel_writewatch 1.
wine: using kernel write watches, use_kernel_writewatch 1.
wine: using kernel write watches, use_kernel_writewatch 1.
wine: using kernel write watches, use_kernel_writewatch 1.
wine: using kernel write watches, use_kernel_writewatch 1.
Executing /home/foo/.local/share/Steam/compatibilitytools.d/UMU-Proton-9.0-2/files/bin/wine64 C:\windows\regedit.exe /S C:\windows\Temp\override-dll.reg
wine: using kernel write watches, use_kernel_writewatch 1.
------------------------------------------------------
warning: Working around wine bug 50894 -- Working around failing wusa.exe lookup via C:\windows\SysNative
------------------------------------------------------
wine: using kernel write watches, use_kernel_writewatch 1.
wine: using kernel write watches, use_kernel_writewatch 1.
wine: using kernel write watches, use_kernel_writewatch 1.
wine: using kernel write watches, use_kernel_writewatch 1.
wine: using kernel write watches, use_kernel_writewatch 1.
wine: using kernel write watches, use_kernel_writewatch 1.
wine: using kernel write watches, use_kernel_writewatch 1.
win10
Executing /home/foo/.local/share/Steam/compatibilitytools.d/UMU-Proton-9.0-2/files/bin/wine winecfg -v winxp64
wine: using kernel write watches, use_kernel_writewatch 1.
wine: using kernel write watches, use_kernel_writewatch 1.
wine: using kernel write watches, use_kernel_writewatch 1.
wine: using kernel write watches, use_kernel_writewatch 1.
wine: using kernel write watches, use_kernel_writewatch 1.
wine: using kernel write watches, use_kernel_writewatch 1.
------------------------------------------------------
warning: Running /home/foo/.local/share/Steam/compatibilitytools.d/UMU-Proton-9.0-2/files/bin/wineserver -w. This will hang until all wine processes in prefix=/home/foo/Games/umu/test/pfx/ terminate
------------------------------------------------------
Executing cabextract -q --directory=/home/foo/Games/umu/test/pfx//dosdevices/c:/windows/temp/win32 /home/foo/.cache/winetricks/vcrun2017/vc_redist.x86.exe -F a10
Executing cabextract -q --directory=/home/foo/Games/umu/test/pfx//dosdevices/c:/windows/syswow64 /home/foo/Games/umu/test/pfx//dosdevices/c:/windows/temp/win32/a10 -F ucrtbase.dll
/home/foo/Games/umu/test/pfx//dosdevices/c:/windows/temp/win32/a10: WARNING; possible 16776 extra bytes at end of file.
Executing cd /home/foo/.cache/winetricks/vcrun2017
Executing /home/foo/.local/share/Steam/compatibilitytools.d/UMU-Proton-9.0-2/files/bin/wine vc_redist.x86.exe /q
wine: using kernel write watches, use_kernel_writewatch 1.
fsync: up and running.
wine: using kernel write watches, use_kernel_writewatch 1.
wine: using kernel write watches, use_kernel_writewatch 1.
wine: using kernel write watches, use_kernel_writewatch 1.
wine: using kernel write watches, use_kernel_writewatch 1.
wine: using kernel write watches, use_kernel_writewatch 1.
wine: using kernel write watches, use_kernel_writewatch 1.
wine: using kernel write watches, use_kernel_writewatch 1.
wine: using kernel write watches, use_kernel_writewatch 1.
wine: using kernel write watches, use_kernel_writewatch 1.
wine: using kernel write watches, use_kernel_writewatch 1.
------------------------------------------------------
warning: Note: command /home/foo/.local/share/Steam/compatibilitytools.d/UMU-Proton-9.0-2/files/bin/wine vc_redist.x86.exe /q returned status 120. Aborting.
------------------------------------------------------
DEBUG [umu_run.run_command:730]:Child 664848 exited with wait status: 1

Running umu through gamescope solves it in my case, presumably due to some component needing access to an X11 displayer server for some reason.

I'm pretty convinced that this is not a bug with the launcher and the cause is something else. For more insight on that error, I suggest you report this upstream.

@R1kaB3rN
Copy link
Member

R1kaB3rN commented Aug 9, 2024

Hmm, so I noticed you had the PROTON_VERB=runinprefix set, which causes the issue you were experiencing. Any particular reason why?

Closing because for this verb to run without error, you must set PROTON_VERB=waitforexitandrun and have an active x11 display server running.

@R1kaB3rN R1kaB3rN closed this as completed Aug 9, 2024
@emrebicer
Copy link
Author

Yes, I have PROTON_VERB=runinprefix in my environment indeed, the reason is that; I want to run 2 programs simultaneously, namely the game (Rocket League, hence the umu id) and bakkesmod (a mod that attaches to Rocket League). I can do that (running 2 programs at the same time) without issues using wine-ge, so I wanted to do it with umu as well, and to my understanding from the wiki, I need to set that environment variable to be able to do so.

And after setting that environment variable, indeed I was able to run them at the same time. However, while Rocket League runs without issues, when the bakkesmod tries to inject into Rocket League, it fails and outputs; Injection failed, please download vc_redist.x86.exe and restart your PC. So that is the whole reason I want to use tricks...

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