pressure-vessel launch fails on some systems
Are you on the latest version of Nitrox?
Yes, I'm on the latest commit of the repo (only for experts).
Which OS are you playing on?
Linux (currently not supported, don't file any reports if your are using this)
On which platform did you buy Subnautica?
Steam
Describe the issue.
Trying to start on my Linux machine, I get
pressure-vessel-adverb[957142]: E: Failed to execute child process “/jan_ssd/SteamLibrary/steamapps/common/SteamLinuxRuntime_sniper/pressure-vessel/bin/steam-runtime-launcher-interface-0” (No such file or directory)
The file does exist, pressure-vessel just doesn't see it. Possibly related to https://github.com/ValveSoftware/steam-runtime/issues/288 .
I mentioned this over on https://github.com/Measurity/Nitrox/pull/19#issuecomment-2395588993 but wanted to make sure it didn't get forgotten.
As a workaround, I am launching without pressure-vessel, with the following edits inNitroxModel/Platforms/Store/Steam.cs; probably you could fall back to this if the normal way fails:
//FileName = Path.Combine(sniperruntimepath, "_v2-entry-point"),
//Arguments = $" --verb=run -- \"{Path.Combine(protonPath, "proton")}\" run \"{pathToGameExe}\" {launchArguments}",
FileName = Path.Combine(protonPath, "proton"),
Arguments = $"waitforexitandrun \"{pathToGameExe}\" {launchArguments}",
Describe the steps you took to encounter the bug.
No response
Relevant log output
Console output:
$ ./Nitrox.Launcher
[18:52:54.678] [DBG] Game installation was found by NitroxModel/Discovery/InstallationFinders/ConfigFinder at '/jan_ssd/SteamLibrary/steamapps/common/Subnautica'
[18:52:54.926] [INF] Trying to request data from https://nitrox.rux.gg/api/version/latest
[18:53:06.757] [INF] Launching Subnautica in multiplayer mode
[18:53:06.764] [DBG] Removing Nitrox entry point from Subnautica
[18:53:08.664] [DBG] Removed Nitrox entry point from Subnautica
[18:53:08.665] [DBG] Adding Nitrox entry point to Subnautica
[18:53:09.708] [DBG] Writing assembly to Assembly-CSharp-Nitrox.dll
[18:53:09.709] [DBG] Deleting Assembly-CSharp.dll
[18:53:09.709] [DBG] Added Nitrox entry point to Subnautica
pv-adverb[343042]: E: Failed to execute child process “/jan_ssd/SteamLibrary/steamapps/common/SteamLinuxRuntime_sniper/pressure-vessel/bin/steam-runtime-launcher-interface-0” (No such file or directory)
Have you tried building Nitrox and launching the game on #2336?
Just checked, same symptoms when on the latest commit (67e139e6) of your launcher-improvements branch.
Are you using proton? Proton isn't supported. Nitrox will have native linux support in 1.8 (aka now on the github)
I'm running the linux-native launcher.
I believe 1.8 attempts to launch the game itself via proton, and that's the code that is failing.
No it shouldn't. A few weeks ago I tried the launcher on my ubuntu box too. It was able to load in (I did not play due to it not being a gaming machine) but it proves it works. It seems like this problem is related to SteamLibrary on external disks? As far as I know Nitrox will not launch itself with proton, it is native.
What does jan_ssd point to? It seems to be an alias?
Not sure how else to interpret this code where the error occurs: https://github.com/SubnauticaNitrox/Nitrox/blob/354eae16c7c725385b308e2c8f5be3fe914b642f/NitroxModel/Platforms/Store/Steam.cs#L327-L331
/jan_ssd is the mount point for a different partition (different from where my steam executable is located).
This appears to be Steam issue? Is it only with Nitrox launcher that there's a problem?
Adding the fallback seems to work at first. But when I tried switching back to using pressure-vessel, it corrupted the proton prefix.
As far as I can tell, running _v2-entry-point --verb=run -- whatever fails with the same error, regardless of whether whatever is proton with Subnautica.exe or anything else (e.g. echo).
I don't have any issues normally running subnautica (or anything else through steam) on this system.
If you can point me to the docs for _v2-entry-point and the rest of pressure-vessel, I can take a shot at understanding what exactly is failing in this case.
For the fallback, I suspect users aren't going to switch back and forth between working / non-working pressure-vessel, but I can see risk of corruption being unacceptable. I'm happy to just keep building my own patched copy, just want to make sure you guys are aware of the issue in case others encounter it.