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

XLM in Snap missing libxkbcommon-x11 #19

Open
Flakoeh opened this issue Nov 18, 2024 · 4 comments
Open

XLM in Snap missing libxkbcommon-x11 #19

Flakoeh opened this issue Nov 18, 2024 · 4 comments
Labels
bug Something isn't working

Comments

@Flakoeh
Copy link

Flakoeh commented Nov 18, 2024

I've got the snap version of steam installed, followed the steps as described but FFXIV fails to launch (after clicking play it says launching/running and right after stops and enables me to click play again).

Running steam through the terminal gives me the following:

chdir "/home/user/snap/steam/common/.local/share/Steam/steamapps/common/FINAL FANTASY XIV Online"
ERROR: ld.so: object '/home/user/snap/steam/common/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/user/snap/steam/common/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/user/snap/steam/common/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object '/home/user/snap/steam/common/.local/share/Steam/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 13221 for gameID 39210
Adding process 13222 for gameID 39210
ERROR: ld.so: object '/home/user/snap/steam/common/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/user/snap/steam/common/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/user/snap/steam/common/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
Adding process 13223 for gameID 39210
ERROR: ld.so: object '/home/user/snap/steam/common/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
18:47:35 [INFO] Running XLM self-updater
Checking target-arch... x86_64-unknown-linux-gnu
Checking current version... v0.3.1
Checking latest released version... Adding process 13225 for gameID 39210
Adding process 13224 for gameID 39210
Adding process 13226 for gameID 39210
v0.3.1
18:47:35 [INFO] XLM self-updater ran successfully
18:47:36 [INFO] Unable to obtain local version data for XIVLauncher - installing latest release
18:47:36 [INFO] Downloading XIVLauncher release from https://github.com/goatcorp/XIVLauncher.Core/releases/download/1.1.1/XIVLauncher.Core.tar.gz
ERROR: ld.so: object '/home/user/snap/steam/common/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
18:47:36 [INFO] Failed loading libxkbcommon-x11.so.0. Error: CantOpen(DlOpen { desc: "libxkbcommon-x11.so.0: cannot open shared object file: No such file or directory" })
18:47:36 [INFO] Failed loading libxkbcommon-x11.so. Error: CantOpen(DlOpen { desc: "libxkbcommon-x11.so: cannot open shared object file: No such file or directory" })
thread 'main' panicked at /home/runner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/xkbcommon-dl-0.4.2/src/x11.rs:59:28:
Library libxkbcommon-x11.so could not be loaded.
note: run with RUST_BACKTRACE=1 environment variable to display a backtrace
Adding process 13244 for gameID 39210
18:47:37 [INFO] Unpacking XIVLauncher release tarball
thread '' panicked at src/ui/launchui.rs:30:42:
called Result::unwrap() on an Err value: Os { code: 32, kind: BrokenPipe, message: "Broken pipe" }
note: run with RUST_BACKTRACE=1 environment variable to display a backtrace
18:47:37 [INFO] Wrote XIVLauncher files
18:47:37 [INFO] Using embedded aria2c tarball
18:47:37 [INFO] Unpacking aria2c tarball
thread 'main' panicked at src/ui/launchui.rs:42:40:
called Result::unwrap() on an Err value: SendError { .. }
Game Recording - game stopped [gameid=39210]
Removing process 13244 for gameID 39210
Removing process 13226 for gameID 39210
Removing process 13224 for gameID 39210
Removing process 13225 for gameID 39210
Removing process 13223 for gameID 39210
Removing process 13222 for gameID 39210
Removing process 13221 for gameID 39210

I'm not too familiar with linux yet but if more info is needed i'm happy to provide it.

Running on Ubuntu 24.04.1 LTS / GNOME 46 / X11

@Blooym
Copy link
Owner

Blooym commented Nov 18, 2024

Now that's an interesting one. From what I can see your system is missing the libxkbcommon-x11 library meaning that when XLM tries to run it crashes, and then crashes the UI alongside it. I'm not sure how snap works nor do I have an ubuntu environment to test with, but I think you'll need to try and find a way to install libxkbcommon-x11. This error might not occur on Wayland if you have the ability to try that?

Can you try something for me? I've prepared a script that will download an older version of XLM that I know worked with a previous snap user, I'd like you to run the following and see if it works:

#!/bin/bash

if [[ $EUID -eq 0 ]]; then
    echo 'Error: this script cannot be ran as the root user or with sudo. Please run it as a regular user.'
    exit 1
fi

echo "-- XLM Snap Auto-Installer (PR #19) --"
echo ""

echo "[Step: 1] Downloading XLM"
curl -L https://github.com/Blooym/xlm/releases/download/v0.2.1/xlm-x86_64-unknown-linux-gnu > /tmp/xlm

echo "[Step: 2] Configuring XLM as a Steam Tool"
chmod +x /tmp/xlm
/tmp/xlm install-steam-tool --xlm-updater-disable --extra-launch-args="--xlm-updater-disable" --steam-compat-path ~/snap/steam/common/.local/share/Steam/compatibilitytools.d/

echo "[Step: 3] Cleanup XLM binary"
rm /tmp/xlm

Create a new file locally ending in .sh and paste this into it. Open the terminal after in the same directory and run chmod +x <file_name> && ./<file_name> replacing <file_name> with whatever you named the file.

If this doesn't work then it's definitely a missing library and I'm not sure if I have control over that, might be a good idea to try the native (non snap) version of Steam next.

@Blooym Blooym changed the title FFXIV fails to start XLM in Snap missing libxkbcommon-x11 Nov 18, 2024
@Blooym Blooym added the bug Something isn't working label Nov 18, 2024
@Flakoeh
Copy link
Author

Flakoeh commented Nov 18, 2024

Your suggestion you wanted me to try (create the .sh script) did the trick and launched XIVLauncher immediately, it's kinda late here so don't want to wait for the 100GB to download but wanted to give you this update regardless. Will leave a comment tomorrow if everything is running smoothly.

@Flakoeh
Copy link
Author

Flakoeh commented Nov 19, 2024

Everything working to order, happy to provide more info or test if needed!

@Blooym
Copy link
Owner

Blooym commented Nov 20, 2024

Not entirely sure what causes this, I wonder if snap Steam on X11 doesn't work but snap Steam on Wayland does? Either way I'll keep this open for if anyone else has this issue and if it becomes really common I'll update the snap install script to just install an old version of XLM

@Blooym Blooym pinned this issue Nov 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants