rockerbacon/modorganizer2-linux-installer

protontricks appears to require --no-bwrap

Closed this issue · 2 comments

Ran into this problem yesterday. Everytime I ran install.sh it would crash. You write very clear scripts so I tracked it down to this protontricks call:

$ protontricks -c 'echo $WINEPREFIX' 489830
pressure-vessel-wrap[146788]: E: ':' and '\' in --filesystem argument not handled yet
Traceback (most recent call last):
  File "/usr/bin/protontricks", line 8, in <module>
    sys.exit(cli())
             ^^^^^
  File "/usr/lib/python3.12/site-packages/protontricks/cli/main.py", line 32, in cli
    main(args)
  File "/usr/lib/python3.12/site-packages/protontricks/cli/util.py", line 159, in wrapper
    return cli_func(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/protontricks/cli/main.py", line 381, in main
    returncode = run_command(
                 ^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/protontricks/util.py", line 516, in run_command
    raise RuntimeError(
RuntimeError: bwrap launcher crashed, returncode: 2
[Exit 1 ]

It appears to have something to do with an attempt to use bwrap to mount a volume named "sudu:@[hostname]" and it's barfing on the ':' char. This obviously has nothing to do with modorganizer2-linux-installer, but I'm hoping this post might help someone.

If you run protontricks with the -v flag, it posts helpful debug info along with:

protontricks (INFO): Using 'bwrap = True' as default value
protontricks (INFO): Using separately installed Steam Runtime: Steam Linux Runtime 3.0 (sniper)
protontricks (INFO): Running Steam Runtime using bwrap containerization.
If any problems arise, please try running the command again using the `--no-bwrap` flag and make an issue report if the problem only occurs when bwrap is in use.

And, sure enough, if you include the --no-bwrap flag, all is well:

$ protontricks --no-bwrap -c 'echo $WINEPREFIX' 489830
/home/ericx/.local/share/Steam/steamapps/compatdata/489830/pfx

As a workaround, I patched mo2installer-5.0.3/utils/protontricks.sh, line 34 to include --no-bwrap and the script ran beautifully to completion.

Versions:

  • Arch Linux routinely updated (6.9.2-zen1-1-zen)
  • Wine stable 9.0
  • winetricks 20240105
  • Skyrim 1.6.1170.0.8
  • Steam's proton 9.0
  • protontricks 1.11.1-1

This pops up from time to time. The problem is that --no-bwrap disables BubbleWrap, an important security mechanism of the Steam Runtime container. It's probably fine for the when the script just gets the prefix location, but may not be a good idea for when actually applying the tricks.

My stance is that if the Protontricks team made the decision to have it on by default, I'm not overruling that decision. If someone is willing to put in the work to go over the reasons why bwrap is on by default and show why those reasons are not applicable to our use-case, we may move forward with setting --no-brwap.

Somehow I created an empty directory in my root named: "sudo:root@ella.ericx.net:"

The emacs syntax for opening a directory with sudo'd root is "sudo::root@[hostname]:/[whatever]" so I must have created it by typo (one [:] char instead of two). [sigh]

Thanks for your time.