Closed rea987 closed 3 years ago
Tested on my side and everything works perfectly (Arch).
Has it worked on that computer before, the lux downloaded version? What's on that line for the prey command it is attempting to execute?
Was anything changed on steam or prey for your system? And you may want to try deleting the ready file and the linux official folder and letting it redo the setup
I just tried it again on my system and it worked fine. Line 43 of the prey script talks about a library path update, so your LD_LIBRARY_PATH may not be setup correctly on your system in general.
I entirely deleted Prey, ~/.steam
, ~/.local/share/Steam
, ~/.prey
, /.cache/luxtorpeda
to reinstall Steam, luxtorpeda-dev, Prey and the Prey Linux package on both Mint 19.3 and Ubuntu 20.10, results are the same;
Game installation + package installation + 1st launch attempt: https://gist.github.com/rea987/07ce499aa9dd2b58071e636f15be8ac6
2nd launch attempt: https://gist.github.com/rea987/9599759706663c8971aa157f7ff143d5
However, Manjaro 20.2 launches the game via luxtorpeda-dev just fine: https://gist.github.com/rea987/37dc86d80a95b6e608b60d4707db56c0
Also, I am not sure whether WARNING: Non-portable: path contains uppercase characters: base/home/r/.local/share/Steam/steamapps/common/Prey 2006/linuxdata/
warnings are related. Though, as they happen on Manjaro after passing the point where the game crashes on Mint and Ubuntu, I presume they aren't important.
Are there any differences in the file system between those two distros you have installed?
Where are you seeing this error: "WARNING: Non-portable: path contains uppercase characters: base/home/r/.local/share/Steam/steamapps/common/Prey 2006/linuxdata/" I didn't see that in the logs you sent.
What do you see on your line 43 for the prey executable? The one that the launch is complaining about.
Has this worked on your Mint installation before? If so, what has changed?
Also, does the game work if you run the installed version directly in the steam directory after luxtorpeda-dev has set it up?
Where are you seeing this error: "WARNING: Non-portable: path contains uppercase characters: base/home/r/.local/share/Steam/steamapps/common/Prey 2006/linuxdata/" I didn't see that in the logs you sent.
However, Manjaro 20.2 launches the game via luxtorpeda-dev just fine: https://gist.github.com/rea987/37dc86d80a95b6e608b60d4707db56c0
Has this worked on your Mint installation before? If so, what has changed?
I believe it worked in some point around the time Rune package was introduced. Then I uninstalled it, afterwards it ceased to work. However, I have never tried it on Ubuntu 20.10 installation before, it's a fresh install. Retail installation always works. I have some concerns regarding localization, I will make a native Ubuntu 20.04 installation in US English to make sure this will. Will report you later in this week.
I installed and fully updated Ubuntu Mate 20.04.2 LTS 64-bit (US English): https://gist.github.com/rea987/571386e72a131d47371ecfe07139233b
Just like Mint Mate 19.3 and Ubuntu Mate 20.10, Prey (2006) fails to launch on Ubuntu Mate 20.04.2:
Game installation + package installation + 1st launch attempt: https://gist.github.com/rea987/86a3c010b8849474b7fa82a9a4c6c50e
2nd launch attempt: https://gist.github.com/rea987/ef9a544ca07846635435f265df77c0bd
Are there any differences in the file system between those two distros you have installed?
Both Manjaro 20.2, Mint 19.3, Ubuntu 20.10 and Ubuntu 20.04.2 have Prey (2006) installed in ~/.local/share/Steam/steamapps/common/Prey 2006
. File system of all Linux distros is ext4. Only Manjaro is able to launch.
What do you see on your line 43 for the prey executable? The one that the launch is complaining about.
https://gist.github.com/rea987/99497ee267632da4ed190c96201f76a7
export ORIG_LD_LIBRARY_PATH=${LD_LIBRARY_PATH}
Also Half-Life: Absolute Zero fails to launch on Mint 19.3 and Ubuntu 20.04.2:
Game installation + package installation + 1st launch attempt: https://gist.github.com/rea987/521a5718e19dd44a140406fee2cb1bb6
2nd launch attempt: https://gist.github.com/rea987/05c0a75b75c20933145437df34ddabb5
Following line is peculiar;
./xash3d.sh: 35: export: Zero:/home/r/.local/share/Steam/ubuntu12_32/steam-runtime/pinned_libs_32:/home/r/.local/share/Steam/ubuntu12_32/steam-runtime/pinned_libs_64:/usr/lib/x86_64-linux-gnu/libfakeroot:/lib/i386-linux-gnu:/usr/local/lib:/lib/x86_64-linux-gnu:/lib:/lib/i386-linux-gnu/sse2:/home/r/.local/share/Steam/ubuntu12_32/steam-runtime/lib/i386-linux-gnu:/home/r/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu:/home/r/.local/share/Steam/ubuntu12_32/steam-runtime/lib/x86_64-linux-gnu:/home/r/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/x86_64-linux-gnu:/home/r/.local/share/Steam/ubuntu12_32/steam-runtime/lib:/home/r/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib:/home/r/.local/share/Steam/steamapps/common/Half-Life: bad variable name
However, other Luxtorpeda-dev packages that I tried successfully launched.
Quake 3: Arena (ioquake3): https://gist.github.com/rea987/a95c678ca78708e7f70a2dfa75c88793
Unreal Tournament 2004: https://gist.github.com/rea987/55bd25e822511e3101cb5ed142002ab4
Rune Classic: https://gist.github.com/rea987/0ddb64c41adeba5a7d9342b5496da8e0
Serious Sam 2: https://gist.github.com/rea987/374e2c89c4d3b98f227c7190f2a28d41
Warzone 2100: https://gist.github.com/rea987/370ff6621372ecdb93071d96fadc8882
The two issues seem to be related in that it seems to have issues with either spaces or characters like -
What happens if you launch Terminal and point it to the steam directory of Prey 2006 and run it directly? Does that work? Not a installed version separate, but the game installed on by luxtorpeda-dev in the steam directory.
The two issues seem to be related in that it seems to have issues with either spaces or characters like -
Perhaps using " "
or ' '
would solve the issue.
What happens if you launch Terminal and point it to the steam directory of Prey 2006 and run it directly?
You mean with LD_LIBRARY_PATH? Can you please post the exact command? I am not really good at such things.
For the launch test, do the following:
Then see if the game works for you.
The issue seems to be inside the prey launch script itself,, that is bundled with the game, not one that I control, or something unique to your Linux environment. This will help determine where the issue may be launching it like this.
Run the following command: ~/.steam/steam/ubuntu12_32/steam-runtime/run.sh ./run-prey.sh
https://gist.github.com/rea987/7d0321cad256661390261675e539422e
I am happy to let you know that this command successfully launched the game without an issue on Ubuntu 20.04.2.
Interesting, that seems to point to some sort of pathing issue. Not sure why it works outside of steam but not in Steam. I'm guessing it has something to do with the library paths. What does your steam launch look like? As in how are you launching steam?
Also, you might want to print out your LD_LIBRARY_PATH on steam versus when you run in Terminal.
What does your steam launch look like? As in how are you launching steam?
https://gist.github.com/rea987/f8a27e940499c84bf63080918ffec6f1
Also, you might want to print out your LD_LIBRARY_PATH on steam versus when you run in Terminal.
Again, sorry for being noob but I will ask for exact command if possible.
Probably the simplest way to do that is to edit the prey shell script (inside linuxdata) and after line 40 add the following lines
echo "$PREY_DATA_PATH"
echo "$LD_LIBRARY_PATH"
Then run the game inside steam and outside steam (using the command I gave you earlier) and send the results here.
This may also point to some issue with your system and 32-bit engines. The two you mentioned as not working are both 32-bit.
You can see this list here: https://luxtorpeda-dev.github.io/packages.html
For more if you want to compare, the ones that show "NO" on the 64-bit column are 32-bit engines.
Probably the simplest way to do that is to edit the prey shell script (inside linuxdata) and after line 40 add the following lines
Following is the edited shell script of the game; notice lines 41 to 44, ~/.local/share/Steam/steamapps/common/Prey 2006/linuxdata/prey
:
https://gist.github.com/rea987/f6bd0a9a00e8468be2ed2d854212991e
outside steam (using the command I gave you earlier)
The game runs fine;
https://gist.github.com/rea987/7791729221b52aa22ce8855499ae9562
Then run the game inside steam
The game still fails to launch when launched from Steam,
1st attempt: https://gist.github.com/rea987/285d91db1d25a13bd47187ec767e8c41
2nd attempt: https://gist.github.com/rea987/26321dca76ea38a066525ec3046a2c3b
Now, ./prey: 46: export: 2006: bad variable name
line points 3 line later than the original due to added lines. Also, /home/r/.local/share/Steam/ubuntu12_32/steam-runtime/pinned_libs_32:/home/r/.local/share/Steam/ubuntu12_32/steam-runtime/pinned_libs_64:/usr/lib/x86_64-linux-gnu/libfakeroot:/lib/i386-linux-gnu:/usr/local/lib:/lib/x86_64-linux-gnu:/lib:/lib/i386-linux-gnu/sse2:/home/r/.local/share/Steam/ubuntu12_32/steam-runtime/lib/i386-linux-gnu:/home/r/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu:/home/r/.local/share/Steam/ubuntu12_32/steam-runtime/lib/x86_64-linux-gnu:/home/r/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/x86_64-linux-gnu:/home/r/.local/share/Steam/ubuntu12_32/steam-runtime/lib:/home/r/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib:/home/r/.local/share/Steam/steamapps/common/Prey 2006
line appeared which wasn't originally there and similar to previous Half-Life: Absolute Zero crash:
https://gist.github.com/rea987/521a5718e19dd44a140406fee2cb1bb6 (line 3964)
This may also point to some issue with your system and 32-bit engines. The two you mentioned as not working are both 32-bit.
Rune Classic and Serious Sam 2 lux packages that work are 32 bit. Unreal Gold package which is 32 bit also launches without a problem;
https://gist.github.com/rea987/81ebfb6ad502e692b1a0d89eccea902e
$ file UnrealLinux.bin UnrealLinux.bin: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 2.6.4, stripped
The addition of those lines was not to try and fix anything, this was just to add some logs to see if there was a difference that was visible.
It looks like this is the culprit: "/home/r/.local/share/Steam/steamapps/common/Prey 2006", this is in the ld_library_path on steam, but not in the non-steam part. Can you check your launch options in steam as well?
Also, try editing the prey script to add quotes to see if that fixes it:
export ORIG_LD_LIBRARY_PATH="$LD_LIBRARY_PATH"
Also, try editing the prey script to add quotes to see if that fixes it:
export ORIG_LD_LIBRARY_PATH="$LD_LIBRARY_PATH"
That let me to successfully launch Prey via Steam;
https://gist.github.com/rea987/c745442019b40af062e074f477901921
Editing 43rd line of the original prey
shell script with quotation marks as you instructed did the trick.
https://gist.github.com/rea987/41f5005b6d37de68dc33b8b62ff1e9f0
Can you check your launch options in steam as well?
I don't have any launch option for Prey or Half-Life: Absolute Zero. Speaking of which, I usually use __GL_THREADED_OPTIMIZATION=1 %command%
launch option for OpenGL games on my system. Does using Steam's game launch option for luxtorpeda games have an affect or shall I edit respective luxtorpeda scripts for that?
As, Prey problem can be solved right now, how about Half-Life: Absolute Zero? Also, why don't Arch based distros need quotation marks whereas Ubuntu based distros do?
Those arguments like GL_THREADED_OPTIMIZATION should work fine in launch options, without having to touch any luxtorpeda configuration
I pushed up a change (https://github.com/luxtorpeda-dev/packages/commit/cbb8d1a0e74401bdfa313714d73d170105418625) which bypasses the original prey launch script and fixes the library path so it should work. I'm guessing there's some difference in the shell environment or locale with Ubuntu.
It looks like Absolute Zero has the same issue, where it's doing an export of the library path. I fixed it in https://github.com/luxtorpeda-dev/packages/commit/cb07ef66018e7d44a143c83c100151f0596c52e7
Let me know here if you run into any further issues with these two. You should be able to launch the game as normal again on Steam, and it'll download the new assets automatically.
I also have a similar problem. I can launch Prey from run-prey.sh but not from Steam. If I launch it from Steam it will just crash immediately, after that run-prey.sh will also crash. But if I first run setup-prey.sh and then run-prey.sh, the game will launch.
@ToughGuyKunio Once you manually run the setup-prey script, are you then able to run the game through steam after that?
If so, that may mean that you had a ready file that was blocking it, from a failed setup attempt. If you delete it, that should force it to run again.
No It won't launch from Steam, only from terminal.
@ToughGuyKunio Ok, if you launch steam in terminal, it should output what is going on in the terminal window. If you put that into a file and upload it here, I can look over the log and see what may be going on.
It actually started one time now when I launched steam from the terminal. Very strange. Tried it again and it crashed. Here's the crash output: https://gist.github.com/ToughGuyKunio/129818f7fcd27c13ca27fafeee1f7e63
@ToughGuyKunio
Looks like this is the issue:
SDL is using audio backend 'pulseaudio'.
allocated a mix buffer of 32768 bytes
SDL_AudioSpec: 44100 freq, S16LSB, 2 channels, 512 samples.
Opening audio device...
Assertion 'm' failed at ../pulseaudio/src/pulse/mainloop.c:940, function pa_mainloop_iterate(). Aborting.
signal caught: Aborted
si_code -6
Seems like something happened when it tried to launch the audio. It randomly is happening to me as well now, when I haven't seen this before, which makes me think this is a new issue possibly related to a steam update.
I have been working on a new version of the compatibility tool using the new container-based runtime, you can try it out if you want by downloading the alpha 33. Then pick Luxtorpeda (Runtime) for the game.
For me, I haven't been able to replicate the issue with the new runtime version, so that should be a good fix.
I tried the Luxtorpeda (runtime) with the new release and it seems Prey crashes sometimes and work sometimes. I've made gists from both outputs down below. I don't think I got all output from the working one since it printed so many "empty read" lines that the terminal history got cut short
Crash with runtime outuput: https://gist.github.com/ToughGuyKunio/f3436d324ffc45f3214d99818a48374a Working with runtime output: https://gist.github.com/ToughGuyKunio/7506e0e52a7a67eb65b20e0e821fc0a2
@ToughGuyKunio Interesting, it seems to be that same audio crash. I am unable to replicate, it may be some issues with your host system's audio stack, although not sure what that could be.
Sadly there's not much that can be done that I know of since it's failing inside the closed source binary.
Out of curiosity do you have any issues with quake 4 or doom 3, if you own those? Those use the same engine, although doom 3 uses an open source implementation.
You may also want to try pipewire, if you're using pulseaudio directly.
Doom 3 works fine but Quake 4 also crashes immediately. But it's not the same error message as Prey as far as I can tell?
Quake 4 crash output: https://gist.github.com/ToughGuyKunio/ddec1f9512b02116e2c106e6333b5e28
I'll see if I can test pipewire next, thanks for the tip.
I uninstalled Pulseaudio and installed Pipewire. Quake 4 seems to work every time now.
Prey is still hit and miss. giving the same error message when it fails. Still calling it pulseaudio for some reason (pactl info shows pipewire).
SDL is using audio backend 'pulseaudio'.
allocated a mix buffer of 32768 bytes
SDL_AudioSpec: 44100 freq, S16LSB, 2 channels, 512 samples.
Opening audio device...
Assertion 'm' failed at pulse/mainloop.c:921, function pa_mainloop_iterate(). Aborting.
signal caught: Aborted
si_code -6
Please post the following data to https://bugzilla.icculus.org/ ...
I think I'll stick to using Proton for these two games, the native versions, even when they work, give me sub 60 fps performance and they run much better with proton. Thanks for all your help!
@ToughGuyKunio In the quake 4 log for some reason it seemed the first time the install failed. But at least the rest of them seemed to work.
And yeah sdl would still see it as pipewire, if you've got the whole pipewire pulse thing installed, which lets pipewire take over and mimic pulse.
I wish they had open sourced those two games' engine versions as well, since the original versions have issues. There is someone working on a mod of sorts for quake4 to the open source engine, once that gets better I may see if that's an option.
And not a problem, happy to help
Prey fails to launch on Mint 19.3 As of 30th Jan 2021, Prey (2006) fails to launch via luxtorpeda-dev on Mint 19.3.
To Reproduce Steps to reproduce the behaviour:
Expected behaviour Properly launching the game
Additional context
Game installation + package installation + 1st launch attempt: https://gist.github.com/rea987/888b44bde0289a7cf23abfe0a0065fc4
2nd launch attempt: https://gist.github.com/rea987/54bc461a2b1c1a9406b59086e2014560
Usual retail Linux installation of Prey can be launched in the same system even with SDLCL. Removing existing
~/.prey
doesn't have an effect.Edit:
./prey: 43: export: 2006: bad variable name
line in the end is peculiar.