Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FFXIV crashes immediately when using XLM due to __vdso_time error #27

Open
cgranade opened this issue Dec 1, 2024 · 2 comments
Open
Labels
bug Something isn't working help wanted Extra attention is needed

Comments

@cgranade
Copy link

cgranade commented Dec 1, 2024

When using XLM as a Steam compatibility tool (installed using install-steamnative.sh), FFXIV runs and then immediately quits with no visible error message or other diagnostic. Running Steam from the command-line and repeating the same process, stdout shows that bash failed to run xlm.sh, due to a failure while loading standard libraries:

bash: error while loading shared libraries: __vdso_time: invalid mode for dlopen(): Invalid argument
chdir "/home/cgranade/.steam/debian-installation/steamapps/common/FINAL FANTASY XIV Online"
ERROR: ld.so: object '/home/cgranade/.steam/debian-installation/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
Game Recording - would start recording game 39210, but recording for this game is disabled
Adding process 34649 for gameID 39210
ERROR: ld.so: object '/home/cgranade/.steam/debian-installation/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/cgranade/.steam/debian-installation/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object '/home/cgranade/.steam/debian-installation/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/cgranade/.steam/debian-installation/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
bash: error while loading shared libraries: __vdso_time: invalid mode for dlopen(): Invalid argument

Running xlm.sh manually from within ~/.steam/root/compatabilitytools.d/XLM produces the expected result; namely, an eframe GUI that then launches XIVLauncher.

Thanks for making such an awesome project!

@Blooym Blooym added the bug Something isn't working label Dec 1, 2024
@Blooym
Copy link
Owner

Blooym commented Dec 1, 2024

I'm.. not actually sure on this one, sorry. This looks like either something with Steam + LD_PRELOAD or your system's libc if I took a guess. Open to help from others on this

@Blooym Blooym added the help wanted Extra attention is needed label Dec 1, 2024
@cgranade
Copy link
Author

cgranade commented Dec 1, 2024

By way of confirmation, it looks like it is some LD_* games being played on Steam's side. If I modify the shebang line on xlm.sh to read #!/bin/env -S -u LD_PRELOAD -u LD_LIBRARY_PATH bash, bash runs fine, and successfully launches XLM and XIVLauncher.

Notably, if I just have -u LD_PRELOAD, it still fails with the same error, so maybe it comes down to that my global copy of bash is using some different libld than Steam assumes? Looking in a bit more detail, using Nix on a per-user basis seems to set my copy of bash to point to the Nix store, which absolutely wouldn't work well with steam-runtime, come to think...

steam/compatibilitytools.d/XLM 
at 13:49:58 bsh ❯ which -a bash
/home/cgranade/.nix-profile/bin/bash
/home/cgranade/.nix-profile/bin/bash
/home/cgranade/.nix-profile/bin/bash
/usr/bin/bash
/bin/bash

steam/compatibilitytools.d/XLM 
at 13:48:30 bsh ❯ ldd `which bash`
	linux-vdso.so.1 (0x00007fffee3fc000)
	libreadline.so.8 => /nix/store/b7s4gxgadr70g743yldrc2km79vrzhgz-readline-8.2p13/lib/libreadline.so.8 (0x00007341aa0a2000)
	libhistory.so.8 => /nix/store/b7s4gxgadr70g743yldrc2km79vrzhgz-readline-8.2p13/lib/libhistory.so.8 (0x00007341aa094000)
	libncursesw.so.6 => /nix/store/8s7f5jgn8bbvj552hb5glsgwfx881kfy-ncurses-6.4.20221231/lib/libncursesw.so.6 (0x00007341aa01e000)
	libdl.so.2 => /nix/store/pacbfvpzqz2mksby36awvbcn051zcji3-glibc-2.40-36/lib/libdl.so.2 (0x00007341aa019000)
	libc.so.6 => /nix/store/pacbfvpzqz2mksby36awvbcn051zcji3-glibc-2.40-36/lib/libc.so.6 (0x00007341a9e1e000)
	/nix/store/pacbfvpzqz2mksby36awvbcn051zcji3-glibc-2.40-36/lib/ld-linux-x86-64.so.2 => /lib64/ld-linux-x86-64.so.2 (0x00007341aa0fe000)

steam/compatibilitytools.d/XLM 
at 13:48:35 bsh ❯ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 24.04.1 LTS
Release:	24.04
Codename:	noble

steam/compatibilitytools.d/XLM 
at 13:49:04 bsh ❯ apt list bash
Listing... Done
bash/noble,now 5.2.21-2ubuntu4 amd64 [installed,automatic]
bash/noble 5.2.21-2ubuntu4 i386

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

2 participants