protonscr

Mini Motorways

protonclosed appid 1127500Game compatibility - Unofficial
ValveSoftware/Proton#7950 · opened 2024-07-30 by theofficialgman · updated 2024-07-30 · 8 comments · github · game page · search this game
1 matching comments, n / p to jump
Ttheofficialgman 2024-07-30 github

Compatibility Report

  • Name of the game with compatibility issues: Mini Motorways
  • Steam AppID of the game: 1127500

System Information

I confirm:

  • [x] that I haven't found an existing compatibility report for this game.
  • [x] that I have checked whether there are updates for my system available.

steam-1127500.log

Symptoms

Game does not launch

Reproduction

Install game. Try to launch with any proton version.

Kkisak-valve maintainer 2024-07-30 github

Hello @theofficialgman, a header only log tells us that something went awry before the game itself got a chance to start. What filesystem are you using with /media/garrett/HDD/games/pc games? The general recommendation is to use a Linux native filesystem with Proton.

If you completely close Steam, then run steam from a terminal, are there any hints in the terminal spew when you tell Steam to start the game?

Ttheofficialgman 2024-07-30 github

Hello @theofficialgman, a header only log tells us that something went awry before the game itself got a chance to start. What filesystem are you using with /media/garrett/HDD/games/pc games? The general recommendation is to use a Linux native filesystem with Proton.

All Proton installations and Steam Linux runtimes themselves are on an ext4 filesystem. Windows native games are on an exFAT filesystem (since I share this with a Windows 11 install).

If you completely close Steam, then run steam from a terminal, are there any hints in the terminal spew when you tell Steam to start the game?

chdir "/media/garrett/HDD/games/pc games/SteamLibrary/steamapps/common/Mini Motorways"
ERROR: ld.so: object '/home/garrett/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/garrett/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object '/home/garrett/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/garrett/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/garrett/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
Adding process 4482 for gameID 1127500
Adding process 4483 for gameID 1127500
Adding process 4484 for gameID 1127500
Adding process 4485 for gameID 1127500
x86_64-linux-gnu-capsule-capture-libs: warning: we are assuming "_el_fn_sh_complete" to be private, but it's just a guess
i386-linux-gnu-capsule-capture-libs: warning: we are assuming "_el_fn_sh_complete" to be private, but it's just a guess
pressure-vessel-wrap[4484]: N: Not replacing "/etc/vulkan/explicit_layer.d" with tmpfs: Path "/etc" is reserved by the container framework
pressure-vessel-wrap[4484]: N: Not replacing "/etc/vulkan/implicit_layer.d" with tmpfs: Path "/etc" is reserved by the container framework
Adding process 4600 for gameID 1127500
Proton: Upgrading prefix from None to 9.0-200 (/media/garrett/HDD/games/pc games/SteamLibrary/steamapps/compatdata/1127500/)
Traceback (most recent call last):
  File "/home/garrett/.local/share/Steam/steamapps/common/Proton 9.0 (Beta)/proton", line 1567, in <module>
    g_session.init_session(sys.argv[1] != "runinprefix")
  File "/home/garrett/.local/share/Steam/steamapps/common/Proton 9.0 (Beta)/proton", line 1477, in init_session
    g_compatdata.setup_prefix()
  File "/home/garrett/.local/share/Steam/steamapps/common/Proton 9.0 (Beta)/proton", line 793, in setup_prefix
    self.migrate_user_paths()
  File "/home/garrett/.local/share/Steam/steamapps/common/Proton 9.0 (Beta)/proton", line 771, in migrate_user_paths
    os.symlink(src=link, dst=old)
PermissionError: [Errno 1] Operation not permitted: '../AppData/Local' -> '/media/garrett/HDD/games/pc games/SteamLibrary/steamapps/compatdata/1127500/pfx/drive_c/users/steamuser/Local Settings/Application Data'
Uploaded AppInterfaceStats to Steam
Removing process 4600 for gameID 1127500
Removing process 4485 for gameID 1127500
Removing process 4484 for gameID 1127500
Removing process 4483 for gameID 1127500
Removing process 4482 for gameID 1127500

Moving Mini Motorways to the ext4 does resolve the issue. Is this something that can be resolved in Proton? I was under the impression that as long as Proton itself resided on a linux native filesystem it didn't matter where the games resided as long as they were readable.

Ttheofficialgman 2024-07-30 github

The issue likely stems from this https://github.com/ValveSoftware/Proton/issues/82#issuecomment-415099440

For each game using proton, a wineprefix is created in <steam_library>/steamapps/compatdata/< game_id>/pfx/ which also contains those directories in their 'dosdevices' directory.

It would be good if proton could attempt to create the wineprefix for the game within a linux native partition (if the user has multiple steam libraries configured like myself). that would resolve this issue.

Ttheofficialgman 2024-07-30 github

this is configurable I have found with STEAM_COMPAT_DATA_PATH. If I set that to some path on a linux native partition it works even when the game is located on exFAT

It would be very beneficial to have this configurable like the above comment so users do not need to configure a unique path manually on a linux native partition for each game with the variable listed.

Ttheofficialgman 2024-07-30 github

partially related to https://github.com/ValveSoftware/steam-for-linux/issues/6958#issue-580789606
@kisak-valve I hope that this gets looked into again

Ttheofficialgman 2024-07-30 github

By using the shell debugging I was able to create an environment variable that corresponds to the steam install directory with a unique path per game
https://gitlab.steamos.cloud/steamrt/steam-runtime-tools/-/blob/main/docs/slr-for-game-developers.md#running-in-an-interactive-shell

mkdir -p $STEAM_COMPAT_CLIENT_INSTALL_PATH/steamapps/compatdata/$STEAM_COMPAT_APP_ID; STEAM_COMPAT_DATA_PATH=$STEAM_COMPAT_CLIENT_INSTALL_PATH/steamapps/compatdata/$STEAM_COMPAT_APP_ID %command%

This command includes a fix to automatically create the directory on startup if it does not already exist (since this is a requirement).

Kkisak-valve maintainer 2024-07-30 github

(since I share this with a Windows 11 install)
Sharing a Steam library folder between OSes is not supported and can lead to undefined behavior (noted at https://github.com/ValveSoftware/steam-for-linux/blob/master/RelNotes.md#installation).

the game is located on exFAT
This is the root of your problem. exFAT lacks some filesystem features needed by Proton. This is being tracked at #3835.

Ttheofficialgman 2024-07-30 github

I'll close this as it's unrelated to the game itself.