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

AppImage-packed games won't run #770

Open
tjssoldier opened this issue Jun 2, 2021 · 15 comments
Open

AppImage-packed games won't run #770

tjssoldier opened this issue Jun 2, 2021 · 15 comments

Comments

@tjssoldier
Copy link

tjssoldier commented Jun 2, 2021

TLDR: To run an AppImage, a SUID-root binary fusermount is required; the Flatpak sandbox doesn't allow this.
Feature request for adding a secure way to use FUSE in flatpak sandbox: flatpak/xdg-desktop-portal#695

Original issue:
Game information
Retroarch - Steam Version

Distribution name and version where applicable
Linux Mint 19.3 Cinnamon

Flatpak info
Flatpak version: Flatpak 1.11.1
flatpak --gl-drivers: default host

Problem description
The Steam Flatpak version is no able to launch Retroarch, which is available in steam as an Appimage

Does this issue reproduce with native Steam
No, in native steam works as expected

@nanonyme
Copy link
Collaborator

nanonyme commented Jun 2, 2021

I'm assuming AppImage simply cannot work inside flatpak.

@gasinvein
Copy link
Member

Yes, AppImages use fuse to mount themselves, so it's not possible to run them in flatpak (fuse requires suid root binary fusermount).
I wonder what was the reason for them to ship AppImage through Steam, though.

@tjssoldier
Copy link
Author

So there is no hope to get it working ? I really like the idea of using Steam as a flatpak.

@gasinvein
Copy link
Member

Well, one terrible workaround would be allowing the Steam app executing commands on host, and adding a wrapper for fusermount that would run one on host. But this would effectively eliminate the sandbox from security perspective, and it's probably not what you want (and not something we could ship by default). So no, I'd consider it impossible to run appimages directly in flatpak sandbox.

RetroArch itself is available from Flathub, though.

@tjssoldier tjssoldier changed the title Steam flatpak is not able to launch Retroarch, which is available in steam as an Appimage Steam flatpak it is not able to launch Retroarch, which is available in steam as an Appimage Sep 4, 2021
@Taulim
Copy link

Taulim commented Sep 22, 2021

So there is no hope to get it working ? I really like the idea of using Steam as a flatpak.

I did manage to make it work forcing it to run under Proton (in my case proton-ge) 😄
It download and install the windows version instead of the AppImage file.

@tjssoldier
Copy link
Author

Maybe a solution ?

https://www.libretro.com/index.php/retroarch-steam-important-information-for-linux-users/

It seems they are changing from the Appimage to another format.

@tjssoldier
Copy link
Author

So there is no hope to get it working ? I really like the idea of using Steam as a flatpak.

I did manage to make it work forcing it to run under Proton (in my case proton-ge) smile It download and install the windows version instead of the AppImage file.

Yes, but it is better use the Linux native version.

@tjssoldier
Copy link
Author

It seems that there is a way to implement support for Appimages inside flatpaks. I found this pull request in lutris flatpak repo:

flathub/net.lutris.Lutris#201 (comment)

But i not a dev, so i don't know if can be implemented in Steam flatpak

@gasinvein
Copy link
Member

@tjssoldier There is a way indeed, I've mentioned it here as a "terrible workaround". And this is exactly what flathub/net.lutris.Lutris#201 does.

@gasinvein
Copy link
Member

RetroArch devs have got rid of AppImage; looks like they're now using Steam Linux Runtime container (which bumps flatpak version requirement to 1.12+, similarly to #642). So I believe the original issue is resolved. However, they're not the only devs to release appimage-packed game on Steam for whatever reason, so I'm going to convert this issue into a more generic one.

@gasinvein gasinvein changed the title Steam flatpak it is not able to launch Retroarch, which is available in steam as an Appimage AppImage-packed games won't run Jan 21, 2022
@gasinvein
Copy link
Member

See also flatpak/xdg-desktop-portal#695

@ghost
Copy link

ghost commented Mar 28, 2022

@gasinvein Entschuldigung, but what about implement a fake fusermount that calls the real one in the in the background, but with a firewall?

@gasinvein
Copy link
Member

@Bohmthedudevulture I'm not sure what a "firewall" means in this context. Anyway, calling the real fusermount means escaping the sandbox.

@soredake
Copy link

soredake commented Sep 11, 2022

Actually, appimages can be run in flatpak, they can be launched with AppImage/AppImageKit#841 argument and NO_CLEANUP=1 env to skip cleaning up files after each run, but it's need to be done by user manually for all appimage games.

https://github.com/AppImage/AppImageKit/wiki/FUSE#docker

@HugKitten
Copy link

For those who want to get this to work, there is a solution. I'll use OVR as an example. First make sure you are not using the proton version, then find the run.sh file (maybe be named something else) and edit it to something like this. Make sure to replace OVRAS.AppImage with the path and name of the app image:

unset LD_LIBRARY_PATH
./OVRAS.AppImage --appimage-extract-and-run

export APPIMAGE_EXTRACT_AND_RUN=1
./my.AppImage [...]

export APPIMAGE_EXTRACT_AND_RUN=1
env NO_CLEANUP=1 ./my.AppImage```

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants