SimulaVR / Simula

Linux VR Desktop
MIT License
2.91k stars 87 forks source link

Running SimulaVR through Steam, missing libGL.so.1 #199

Open MilanKladivko opened 3 months ago

MilanKladivko commented 3 months ago

It's a bit of a weird one, but it's kind of important for my use-case. Surely it is a solved issue -- I just don't know anything about how to move around with Nix, or how to manipulate shared libraries.

I'd like to run SimulaVR through Steam, as I'm working on my SteamDeck and I'd like to skip going into its KDE WM and go straight to Simula. This would have significant performance benefits due to the lowered overhead.


The program runs fine in a terminal, in the KDE WM. No issues.

But when I run it through Steam, with the following script as a Non-Steam Game Target:

#!/bin/sh
# The command needs this as the PWD to find its files
cd ~/Applications/Simula
# Run it and save the output to a file for further inspection,
# as we want to be running the command from Steam without terminal output.
./result/bin/simula   2>&1 | tee __simula_log.txt

...I get errors about basic libs, such as libGL: (I left just one of the LD_PRELOAD lines in there, it's repeated many times though)

ERROR: ld.so: object '/home/deck/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
/nix/store/bg8f47vihykgqcgblxkfk9sbvc4dnksa-coreutils-9.1/bin/tee: error while loading shared libraries: libGL.so.1: cannot open shared object file: No such file or directory
pid 9914 != 9901, skipping destruction (fork without exec?)
nix-env: error while loading shared libraries: libGL.so.1: cannot open shared object file: No such file or directory
pid 9911 != 9901, skipping destruction (fork without exec?)
/nix/store/yl319c7cyd6jb3ssizbdaknwv0543986-curl-7.88.0-bin/bin/curl: error while loading shared libraries: libGL.so.1: cannot open shared object file: No such file or directory
pid 9905 != 9901, skipping destruction (fork without exec?)

Am I missing some env-var setting or similar?