dreamer / luxtorpeda

Steam Play compatibility tool to run games using native Linux engines
https://luxtorpeda.gitlab.io/
GNU General Public License v2.0
383 stars 9 forks source link

Flatpak #99

Open mdeguzis opened 1 year ago

mdeguzis commented 1 year ago

Can you please add a flatpak to make this much easier for Steam Deck users and not lose access to it after an OS update? I can try to make one, just rusty that's all.

d10sfan commented 1 year ago

I run the fork lux-dev (https://github.com/luxtorpeda-dev/luxtorpeda), and not sure what issue you're having on the steam deck. You shouldn't lose access to it after an os update, if you install it the way that's described in the readme. Another option is the protonup-gt app, which makes it easier to install.

dreamer commented 1 year ago

AFAIK it's not possible. SteamOS has steam installed natively, Luxtorpeda must be installed in a directory where steam can find it, and flatpak allows only installation in flatpak directory tree (~/.var/app/).

Luxtorpeda distributed via flatpak would work only with Steam installed via flatpak - last time we discussed it with Flatpak developers this was impossible as well, because Flatpak was not supporting Rust/Cargo - I think this problem is solved now, but I'm not sure.

That's how flatpak is designed :cry:.

I have the exact same problem with Boxtron and I'm now looking into various options on how to solve it in user-friendly manner.

@gasinvein Did anything change regarding Flatpak in this area? Is it possible to install software via flatpak outside of ~/.var/app/ or at least create a symbolic link in arbitrary place post-installation?

@d10sfan I have exactly the same issue with Boxtron - installation on SteamOS is done natively via flatpak, but it's impossible to install compact tools this way; I am considering creation of separate app / installer and distributing as flatpak... but at this point I would probably prefer to rewrite Boxtron as a Luxtorpeda feature and have a single installer for both tools. Do you have any other ideas how we could solve this problem? I've seen people do various hacks, but all of them pretty user-unfriendly (like running installers via AppImg, triggering scripts via .desktop files, etc; ProtonUp-QT you mentioned cannot install dependencies, etc... :( ).

mdeguzis commented 1 year ago

For some reason, sudo steamos-readonly disable is not working, as it doesn't seem to disable readonly on /usr. I am using a simple script to automate this: https://github.com/mdeguzis/SteamOS-Tools/blob/master/utilities/unlock-steam-deck.sh

I guess boxtron is what I can try? I really would like to use this project on the Steam Deck to play around with fixing up Return to Castle Wolfenstein.

mdeguzis commented 1 year ago

AGH! I Didn't realize ProtonUp-Qt had this! That should solve me issues. I'd recommend adding this to the readme after you test it yourself.

https://flathub.org/apps/details/net.davidotek.pupgui2

dreamer commented 1 year ago

@mdeguzis Boxtron is broken ATM, sorry - Valve changed format of manifests files some time ago and I noticed this only recently. Fix is WIP.

I have exactly the same problem - I want to use Luxtorpeda and Boxtron on my Steam Deck and have the tools update automatically, but flatpak is not good enough to handle this usecase :(

ProtonUp-QT is not good either - it expects users to install dependencies manually via pacman... which requires unlocking the SteamOS... and is pretty user hostile :(

mdeguzis commented 1 year ago

Interesting, I've had good luck with ProtonUp-Qt on FlatHub and never had to install any odd deps. It really just downloads and extracts to compat tools. Pretty similar to how I did it before: https://github.com/mdeguzis/SteamOS-Tools/blob/master/utilities/get-proton-ge.sh

dreamer commented 1 year ago

I tried it yesteday on SteamDeck and it just failed to find DOSBox Staging and other Boxtron dependencies that were installed via flatpak.

mdeguzis commented 1 year ago

Oh I only have used it for Proton GE. YMMY then :/

d10sfan commented 1 year ago

@dreamer PrtonUp-QT does have a flatpak, which does seem to work with native non-flatpak steam, so that's one option, but not sure if that makes sense for a full solution. I've only used it to download lux, so not sure how it'd work for other things, like boxtron, that requires your own dosbox. I think it'd make sense to merge boxtron idea into luxtorpeda. I do have dosbox-staging building in lux-dev and some basic tooling around that, but the improvements from boxtron could still be useful. That gets around the issues with outside installs that boxtron currently has

@mdeguzis It is on the readme for luxtorpeda-dev, so that should be good, but let me know if you see improvements there.

mdeguzis commented 1 year ago

Thank you though for the thoughts and this project! I just used Luxtorpedia via ProtonUp-Qt on the steam deck to launch Return To Castle Woftenstein! wooooo

dreamer commented 1 year ago

I think it'd make sense to merge boxtron idea into luxtorpeda. I do have dosbox-staging building in lux-dev and some basic tooling around that, but the improvements from boxtron could still be useful. That gets around the issues with outside installs that boxtron currently has

Yup; I see mostly benefits for this:

The only con is: