Workaround:
Replace the Steam Launch command with something like
Code: Select all
<PATH TO FACTORIO>/bin/x64/factorio # "%command%"
Original but updated report / some data for search engines
I use a symlink to link the $HOME/.factorio onto an NFS share.
This was working fine, till steam updated itself and simultaneously Factorio from 2.0.14 to 2.0.15.
Now, the game refuses to start with the following error message (via steam STDOUT/STDERR and as graphical message)
Log from 2.0.15 and 2.0.16
Code: Select all
0.000 Initializing Steam API.
0.000 Error Util.cpp:81: filesystem error: cannot create directory: File exists [$HOME/.factorio]
path1: $HOME/.factorio
0.000 Steam API shutdown.
0.000 Goodbye
Known Working: (factorio-previous.log)
Code: Select all
0.019 2024-11-07 20:40:31; Factorio 2.0.14 (build 79988, linux64, steam, space-age)
0.244 Operating system: Linux (Devuan 5)
0.000 Initializing Steam API.
0.000 Warning SystemUtil.cpp:1088: Couldn't acquire exclusive lock on <NFS PATH>/steam_saves/.factorio/.lock: Bad file descriptor
0.244 Program arguments: "<STEAMAPPS>/common/Factorio/bin/x64/factorio"
0.244 Config path: <NFS PATH>/steam_saves/.factorio/config/config.ini
0.245 Read data path: <STEAMAPPS>/common/Factorio/data
0.245 Write data path: <NFS PATH>/steam_saves/.factorio [158790/1277334MB]
0.245 Binaries path: <STEAMAPPS>/common/Factorio/bin
Please note, that the Distribution was included in the operating system name.
With Bind-Mount Workaround: (factorio-current.log)
Code: Select all
0.001 2024-11-08 19:02:08; Factorio 2.0.15 (build 80108, linux64, steam, space-age)
0.001 Operating system: Linux
0.000 Initializing Steam API.
0.000 Warning SystemUtil.cpp:1088: Couldn't acquire exclusive lock on $HOME/.factorio/.lock: Bad file descriptor
0.001 Program arguments: "<STEAMAPPS>/common/Factorio/bin/x64/factorio"
0.001 Config path: $HOME/.factorio/config/config.ini
0.001 Read data path: <STEAMAPPS>/common/Factorio/data
0.001 Write data path: $HOME/.factorio [156753/1275297MB]
0.001 Binaries path: <STEAMAPPS>/common/Factorio/bin
With bash -c ... Workaround: (factorio-current.log)
Code: Select all
0.000 2024-11-09 15:15:10; Factorio 2.0.16 (build 80214, linux64, steam, space-age)
0.218 Operating system: Linux (Devuan 5)
0.000 Initializing Steam API.
0.000 Warning SystemUtil.cpp:1088: Couldn't acquire exclusive lock on <NFS PATH>/steam_saves/.factorio/.lock: Bad file descriptor
0.218 Program arguments: "<STEAMAPPS>/common/Factorio/bin/x64/factorio"
0.218 Config path: <NFS PATH>/steam_saves/.factorio/config/config.ini
0.219 Read data path: <STEAMAPPS>/common/Factorio/data
0.219 Write data path: <NFS PATH>/steam_saves/.factorio [156097/1274658MB]
0.219 Binaries path: <STEAMAPPS>/common/Factorio/bin
Update: Same with 2.0.16 and downgrading to 2.0.14 or 2.0.7 or 1.1.107 via steam does not help. Therefore, i assume that this issue is not related to Factorio, but some used library or the steam linux runtime (pressure-vessel/overrides).
Steam does run as regular application, not as snap/flatpack or similar.
After fiddling a little bit with the Steam Launch Options, i was able to poke around a bit.
Important, the used terminal emulator (e.g. xfce4-terminal) must not already been registered at the session bus (otherwise, the regular environment would be used)!
Steam Launch Options:
Code: Select all
/usr/bin/xfce4-terminal --disable-server -x /bin/bash -c "%command%"
Trying to restart the game 1:1 with the steam-launch-wrapper results in the wrapper failing to find (the existing) file <STEAMAPPS>/common/SteamLinuxRuntime_soldier/pressure-vessel/bin/steam-runtime-launcher-interface-0
Code: Select all
$HOME/.local/share/Steam/ubuntu12_32/steam-launch-wrapper -- $HOME/.local/share/Steam/ubuntu12_32/reaper SteamLaunch AppId=427520 -- '<STEAMAPPS>/common/SteamLinuxRuntime_soldier'/_v2-entry-point --verb=waitforexitandrun -- '<STEAMAPPS>/common/SteamLinuxRuntime'/scout-on-soldier-entry-point-v2 -- '<STEAMAPPS>/common/Factorio/bin/x64/factorio'
Code: Select all
<4>pressure-vessel-wrap[2585]: W: Disabling gtk3-nocsd LD_PRELOAD: it is known to cause crashes.
pid 2685 != 2681, skipping destruction (fork without exec?)
pid 2690 != 2681, skipping destruction (fork without exec?)
0.000 Initializing Steam API.
[S_API] SteamAPI_Init(): Loaded '$HOME/.local/share/Steam/linux64/steamclient.so' OK.
Setting breakpad minidump AppID = 427520
SteamInternal_SetMinidumpSteamID: Caching Steam ID: 76561198135020245 [API loaded no]
0.000 Warning SystemUtil.cpp:1088: Couldn't acquire exclusive lock on <NFS PATH>/steam_saves/.factorio/.lock: Bad file descriptor
0.000 2024-11-09 14:47:27; Factorio 2.0.16 (build 80214, linux64, steam, space-age)
0.000 Operating system: Linux
0.000 Program arguments: "<STEAMAPPS>/common/Factorio/bin/x64/factorio"
0.000 Config path: <NFS PATH>/steam_saves/.factorio/config/config.ini
0.000 Read data path: <STEAMAPPS>/common/Factorio/data
0.000 Write data path: <NFS PATH>/steam_saves/.factorio [156097/1274658MB]
0.000 Binaries path: <STEAMAPPS>/common/Factorio/bin