-
Notifications
You must be signed in to change notification settings - Fork 36
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
umu package for Nix is not packaged correctly #106
Comments
@LovingMelody other than that about problem 2 probably the other maintainers are more fit to the job than me EDIT: yeah I'll do this tomorrow and sorry if I couldn't as well |
@LovingMelody Thanks for reporting this. The permission error should be addressed in be38d0f |
@R1kaB3rN quick question can I just send a patch file no need to a new pr its literally a one line fix edit github donesn't support .patch extention soooooo 0001-added-python3-into-dependencies-in-nix.txt just rename .txt to .patch I guess sorry again the first patch is adding python as a dependency and second is to update the repository to latest patch |
Sure, no problem and they were merged in deee504 @LovingMelody If you can, please confirm if both problems were solved. |
Looks like the package is still broken, but does not seem to be from the mentioned issues. Adding Side Note: umu-proton also fails to run, using proton-ge-bin from the nixpkgs PROTONPATH=/nix/store/cik4w6p4fcxgh560fzj3p69v1iq55bag-proton-ge-bin-GE-Proton9-5-steamcompattool GAMEID=umu-starcitizen umu RSI-Setup-1.6.10.exe
ERROR: BaseException
Traceback (most recent call last):
File "/nix/store/29n2s925v2lcabh5asmy25ldqqzb9a6w-umu-launcher-0.1/share/umu/umu_run.py", line 461, in <module>
sys.exit(main())
^^^^^^
File "/nix/store/29n2s925v2lcabh5asmy25ldqqzb9a6w-umu-launcher-0.1/share/umu/umu_run.py", line 440, in main
set_env(env, args)
File "/nix/store/29n2s925v2lcabh5asmy25ldqqzb9a6w-umu-launcher-0.1/share/umu/umu_run.py", line 238, in set_env
enable_steam_game_drive(env)
File "/nix/store/29n2s925v2lcabh5asmy25ldqqzb9a6w-umu-launcher-0.1/share/umu/umu_run.py", line 282, in enable_steam_game_drive
if not Path(path).is_symlink() and Path(path, libc).is_file():
^^^^^^^^^^^^^^^^
File "/nix/store/k3701zl6gmx3la7y4dnflcvf3xfy88kh-python3-3.11.9/lib/python3.11/pathlib.py", line 871, in __new__
self = cls._from_parts(args)
^^^^^^^^^^^^^^^^^^^^^
File "/nix/store/k3701zl6gmx3la7y4dnflcvf3xfy88kh-python3-3.11.9/lib/python3.11/pathlib.py", line 509, in _from_parts
drv, root, parts = self._parse_args(args)
^^^^^^^^^^^^^^^^^^^^^^
File "/nix/store/k3701zl6gmx3la7y4dnflcvf3xfy88kh-python3-3.11.9/lib/python3.11/pathlib.py", line 493, in _parse_args
a = os.fspath(a)
^^^^^^^^^^^^
TypeError: expected str, bytes or os.PathLike object, not NoneType |
Made an attempt at fixing it thinking it was simply the LD path being specified not being correct, but seems to have not resolved the problem. You can find my attempt here: |
After a discussion in the nix matrix commit 6c6ec71 seems to have caused this, the libc path will need to be hard coded (can be done in the nix package) or completely removed. Removing the line seems to fix the issue entirely on nix |
sorry for not showing up earlier, (I really should go study lol) so my question is so there is no problem in that LD path right, I still understand it as where should steam think the linked libraries are also to be honest if you understand what that variable does and my understanding is wrong it will be nice if you can fix that |
As for how to set libPath = lib.makeLibraryPath [ stdenv.cc.cc.lib gcc ]; Edit: Adding an example from nixpkgs: https://github.com/NixOS/nixpkgs/blob/3d30d46d885a38deda5353b9cba46fee6792ffa7/pkgs/games/adom/default.nix#L8 |
I attempted to address the TypeError in this branch https://github.com/Open-Wine-Components/umu-launcher/tree/nix. I'm interested in knowing the value of LD_LIBRARY_PATH that is defined in the Flake. Do you mind setting |
Great! I'll go ahead and apply this in the Flake to the nix branch for testing. |
I have added the log and the resulting |
Hmm since we can't simply use the paths returned from the dynamic linker or hard code After looking at @LovingMelody log, library paths look to be setup incorrectly as Pressure Vessel couldn't find libcrypt in For reference, see https://gitlab.steamos.cloud/steamrt/steam-runtime-tools/-/blob/main/docs/distro-assumptions.md#filesystem-layout |
I'm more than sure that this is a problem with this libPath = lib.makeLibraryPath [ stdenv.cc.cc.lib gcc ]; I will try out that branch if its that yeah I guess |
please revert this commit ldPath = lib.optionals stdenv.is64bit [ "${stdenv.cc.cc.lib}/lib64" ] ++ [ "${stdenv.cc.cc.lib}/lib32" ]; |
I agree taking note from steam would probably be be best route |
sir thats what was done from the begenning I lieterally said in #73 that I pretty much stole everything from steam I can't reproduce glibc bug |
Reverted in ad926da |
@R1kaB3rN |
Arch Linux currently sources its library paths in |
In nixos its /lib64/libc.so.6 and /lib32/libc.so.6 doesn't exist |
That's strange. If it's /lib64 and /lib32 on NixOS then I think the dynamic linker should be able to find it. But since it didn't work in Melody's case, that implies it isn't guaranteed to be there. So in the umu Flake, for a consistent experience, I think it would probably be best to include its own 64-bit and 32-bit glibc without relying on that system path. Or just refer to the one in Also, in the nix branch and setting The constraint of the container framework is the inability to bundle glibc and the graphics drivers, so we need to ensure this value is correct for it. Basically, the paths will need to contain glibc, libcrypt.so.1 and the graphics drivers. The documentation also recommends a few others that may be required for some games. See https://gitlab.steamos.cloud/steamrt/steam-runtime-tools/-/blob/main/docs/distro-assumptions.md#shared-libraries for details |
I fell asleep & woke up, the glibc error is now gone but x86_64-linux-gnu-capsule-capture-libs: warning: Dependencies of libnvidia-pkcs11.so.550.78 not found, ignoring: Missing dependencies: Could not find "libcrypto.so.1.1" in LD_LIBRARY_PATH "/lib64:/lib32:/run/opengl-driver/lib:/run/opengl-driver-32/lib:/nix/store/6clklfp5dypal0rf19gfq84ym17lklia-pipewire-1.0.5-jack/lib", ld.so.cache, DT_RUNPATH or fallback /lib:/usr/lib
/nix/store/xjkzfvbzdy9cfrzfilmq1d4jdm92ni95-dconf-0.40.0-lib/lib/gio/modules/libdconfsettings.so: undefined symbol: g_assertion_message_cmpint
Failed to load module: /nix/store/xjkzfvbzdy9cfrzfilmq1d4jdm92ni95-dconf-0.40.0-lib/lib/gio/modules/libdconfsettings.so |
- Related to Open-Wine-Components#106 - This is a temporary solution until we figure out how to properly setup an environment for distributions like NixOS so the steam runtime container framework can search for key libraries in shared library paths
@R1kaB3rN can you create a patch so I can apply it to the repo just so I can make umu print where libraries are loaded in my system if we can figure out that I guess that might help |
@LovingMelody the problem is pretty much is not in libcrypto.so.1.1 since i have the same error and it runs either way
there are no other error messages ?? |
do any of you know what this means
|
@LovingMelody try using the unstable version of nixpkgs |
I am on the nixos-unstable-small channel |
I was talking to a person who has same issue as you do and he fixed the issue by going to nixpkgs-unstable he was in stable version |
@LovingMelody any updates |
Closing issue for now, per my previous comment, it seems to have gone away. Unable to check for another week, will re-open if the issue is still present. |
If you want insight of where and which libraries are loaded within the container, please set Also, for reference, here's a sample of a SLR log generated on the Steam Deck. |
The nix flake does not seem to have umu packaged correctly
Problem 1: Python3 is not included in the path
When attempting to run umu with the following command:
I get the error
/usr/bin/env: ‘python3’: No such file or directory
Problem 2: Read-only umu_version.json
After creatiing a new nix shell with python3 in the path with
nix-shell -p python3
I noticed that on the second execution I receive an error from the copiedumu_version.json
I'm assuming this issue is from the file being copied from the nix store which is readonly, running
stat ~/.local/share/umu/umu_version.json
confirms this as the files perms are0444
Tagging @beh-10257 based on PR #73
The text was updated successfully, but these errors were encountered: