Skip to content

Protontricks crashes if two accounts are sharing the same library folder but do not both own all games / game was installed on Windows #417

@thelabcat

Description

@thelabcat

Describe the bug
Me and a housemate use the same computer. Our Steam accounts are both set to install games on the same non-OS drive. Maybe this in and of itself is problematic, but assuming it isn't I continue. I have also been running a dual-boot setup with Windows, and have that same library shared between OSes. He has Apex Legends in his account, and installed it via Windows. I do not own Apex Legends. After he made this install, when I tried to launch Protontricks, it crashed, and the log shows it was looking for a file related to Apex Legends but didn't find it.

To Reproduce
Steps to reproduce the behavior:

  1. Have a dual-boot setup with Windows and Linux.
  2. Have a separate storage drive set as a Steam library in both OSes (I mainly used this tutorial to set that up).
  3. Have two Steam accounts with different game libraries (although we are in a family share), set to both use that same library.
  4. Have one account install a free-to-play on Windows.
  5. Attempt to launch Protontricks from the other account on Linux.
  6. Crash.

Here is the console log:

protontricks (WARNING): Steam library folder /media/wilbur/SteamLibrary/SteamLibrary not found. Protontricks might not have access to the directory. ## Note added by me to the log: This is in relation to the library having been also used in Ubuntu-based distros. It has appeared before I set up this dual account thing, and Protontricks worked fine.
Traceback (most recent call last):
  File "/home/wilbur/.local/bin/protontricks", line 8, in <module>
    sys.exit(cli())
             ~~~^^
  File "/home/wilbur/.local/lib/python3.13/site-packages/protontricks/cli/main.py", line 32, in cli
    main(args)
    ~~~~^^^^^^
  File "/home/wilbur/.local/lib/python3.13/site-packages/protontricks/cli/util.py", line 175, in wrapper
    return cli_func(self, *args, **kwargs)
  File "/home/wilbur/.local/lib/python3.13/site-packages/protontricks/cli/main.py", line 298, in main
    steam_apps = get_steam_apps(
        steam_root=steam_root, steam_path=steam_path,
        steam_lib_paths=steam_lib_paths
    )
  File "/home/wilbur/.local/lib/python3.13/site-packages/protontricks/steam.py", line 1435, in get_steam_apps
    steam_app = SteamApp.from_appmanifest(
        manifest_path, steam_lib_paths=steam_lib_paths,
        steam_path=steam_path
    )
  File "/home/wilbur/.local/lib/python3.13/site-packages/protontricks/steam.py", line 210, in from_appmanifest
    content = path.read_text(encoding="utf-8")
  File "/usr/lib64/python3.13/pathlib/_local.py", line 546, in read_text
    return PathBase.read_text(self, encoding, errors, newline)
           ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.13/pathlib/_abc.py", line 632, in read_text
    with self.open(mode='r', encoding=encoding, errors=errors, newline=newline) as f:
         ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.13/pathlib/_local.py", line 537, in open
    return io.open(self, mode, buffering, encoding, errors, newline)
           ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: '/run/media/wilbur/SteamLibrary/SteamLibrary/steamapps/appmanifest_1172470.acf'
(base) wilbur@wilbur-G5-5000:~$ protontricks
Traceback (most recent call last):
  File "/home/wilbur/.local/bin/protontricks", line 8, in <module>
    sys.exit(cli())
             ~~~^^
  File "/home/wilbur/.local/lib/python3.13/site-packages/protontricks/cli/main.py", line 32, in cli
    main(args)
    ~~~~^^^^^^
  File "/home/wilbur/.local/lib/python3.13/site-packages/protontricks/cli/util.py", line 175, in wrapper
    return cli_func(self, *args, **kwargs)
  File "/home/wilbur/.local/lib/python3.13/site-packages/protontricks/cli/main.py", line 298, in main
    steam_apps = get_steam_apps(
        steam_root=steam_root, steam_path=steam_path,
        steam_lib_paths=steam_lib_paths
    )
  File "/home/wilbur/.local/lib/python3.13/site-packages/protontricks/steam.py", line 1435, in get_steam_apps
    steam_app = SteamApp.from_appmanifest(
        manifest_path, steam_lib_paths=steam_lib_paths,
        steam_path=steam_path
    )
  File "/home/wilbur/.local/lib/python3.13/site-packages/protontricks/steam.py", line 210, in from_appmanifest
    content = path.read_text(encoding="utf-8")
  File "/usr/lib64/python3.13/pathlib/_local.py", line 546, in read_text
    return PathBase.read_text(self, encoding, errors, newline)
           ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.13/pathlib/_abc.py", line 632, in read_text
    with self.open(mode='r', encoding=encoding, errors=errors, newline=newline) as f:
         ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.13/pathlib/_local.py", line 537, in open
    return io.open(self, mode, buffering, encoding, errors, newline)
           ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: '/run/media/wilbur/SteamLibrary/SteamLibrary/steamapps/appmanifest_1172470.acf'

Expected behavior
Protontricks might warn me that the compatdata folder or something for one of the apps was missing, but would still hopefully launch.

System (please complete the following information):

  • Distro: Fedora 42 KDE Plasma Edition x86 64-bit
  • Protontricks installation method: pip
  • Protontricks version: 1.12.1
  • Steam version: No beta chosen, using RPM package.

Additional context
Ye, I know this is kind of convoluted and very much an edge case (if it was supposed to work at all), but I figured I'd report it anyway just in case.

Right now, I've added Apex Legends to my account and am attempting to install it from Linux as a workaround (I know it won't run).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions