-
Notifications
You must be signed in to change notification settings - Fork 42
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
Latest flatpak + appstream update breaks XIVLauncher with --parent-expose-pids --parent-share-pids #97
Comments
I believe this is an upstream issue. None of the documentation for those flags indicate that it was deprecated and we've not changed anything in a while with the Flatpak that might've caused it. Will keep this open, if you could file this upstream that'd be great |
I tried launching a few other flatpaks with the same pid options on arch. Same result. It's definitely either an arch packaging or flatpak upstream issue. |
Temporary workaround for Arch users. This is (probably) caused by the program /usr/bin/bwrap not having the setuid bit. Do |
That does fix things to some extent, the launcher does start. Thanks! Upon closing the game, XIVLauncher does not close, and so Steam shows it and FFXIV as both running. Not a big issue though, telling Steam to close XIVLauncher works fine. |
Hello, I am a Flatpak contributor. I would not recommend setting the setuid bit on Please see https://github.com/flatpak/flatpak/wiki/User-namespace-requirements for details of the two ways that bwrap can be set up: either setuid root, or unprivileged. Making it setuid root is not really recommended any more, and is known to break some Flatpak apps (notably, running Steam itself as a Flatpak). I'm also surprised that Why does the XIVLauncher FAQ recommend If you pass a non-sandboxed, non-Flatpak process ID to The workaround that I would recommend for this issue is removing The fact that launching fails with The source of that error message is that I added some security hardening in Flatpak 1.15.6 to make the sandbox more resilient against malicious/compromised apps, which I'm hoping will also allow for future improvements (adding more features, and/or disabling other security hardening mechanisms that have more performance impact). If you see that error message, it means that |
XIVLauncher is a flatpak app, unless I'm misunderstanding what you're saying. It's a third-party launcher for Final Fantasy XIV. But in order to get it working properly on the steam deck, we need to activate FFXIV in steam, otherwise the controller doesn't work properly. However, without the pid sharing commands, it will never detect when the game (and launcher) closes, and it will remain in the "Running" state until steam is closed. It can't be stopped manually, either; only shutting down steam will work. |
Sure, but the FAQ recommends Steam launch options for a Flatpak is designed to put each sandboxed app in its own new process ID namespace, but using
The Steam Overlay The Steam Overlay is involved in how Steam Input works, so I suspect that's at least part of what you're seeing here. |
What does this mean, precisely? There might be some other way to achieve what you want. Does XIVLauncher do any launching of processes outside its sandbox (
What do the various "it" refer to here? Do you mean (my additions in However, without the pid sharing commands, [Steam] will never detect when the game (and launcher) closes, and [the Steam library shortcut for XIVLauncher] will remain in the "Running" state until steam is closed. [The launcher and/or the game] can't be stopped manually [via the Steam UI], either; only shutting down steam will work. Or something else? |
This is the correct interpretation.
XIVLauncher needs to initialize Steam API for authentication ticket and Steam Overlay purposes. If we have some way to alleviate both of those issues without the use of pid flags, that would solve a common source of user troubles. |
What does this mean in terms of concrete API calls, or sockets, or pipes, or shared memory, or whatever? I might be able to bring this up with Steam-on-Linux developers, but I'm going to need specifics - ideally as concrete as possible. As far as I know, the current implementation of Steam APIs in |
The problem is here is that unfortunately only part of the steam IPC mechanism breaks when launching a flatpak from Steam itself (with more breakage as I understand when Steam itself is run as flatpak). |
@smcv Small correction
Actually the shortcut for XIVLauncher will close, the FFXIV entry that is launched from inside the flatpak launcher will not. |
You can kill the relevant processes via CLI using (Note: For |
I wanted to update that this issue now seems to be impacting the latest Preview build of SteamOS 3.6 on the Steam Deck. |
An update that, as of today, it seems that the Beta client for the Steam Deck also installs an updated Flatpack 1.15.6 and causes this issue. I'm not really sure why the Beta is installing OS components instead of just updating the Steam client. I suspect that Valve is getting ready to ship an updated SteamOS soon though, so it would be good to look into this—it's especially problematic on the Steam Deck, as there really isn't an easy way to kill XIVLauncher or FFXIV without restarting. |
Not to necro this post, but I'm also running into this same The SetUID trick (although I understand it's ill advised) also doesn't work due to a R/O file system. |
As I said, using Please don't recommend or document command-lines that include I'm sorry if something involving |
I'm sorry if you already did this, but as it isn't talked about anywhere on this issue I'll ask anyway. |
From Alicia on Discord:
I can confirm this. After updating (Arch), the game would no longer launch using the recommended options. The workaround above works.
I can post an issue to the Flatpak issue repository, if you think it's upstream. https://github.com/flatpak/flatpak/issues
The text was updated successfully, but these errors were encountered: