-
Notifications
You must be signed in to change notification settings - Fork 160
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
Flatpak version of EDMC #1689
Comments
I'm not sure any of the development team has any experience with producing Flatpaks. Certainly I don't know that any of us have a Steam Deck in order to test if any Flatpak we produce definitely works on one. I'm not saying no, but this will be contingent on either @A-UNDERSCORE-D thinking it's an interesting thing or someone else stepping up with a PR to facilitate building a Flatpak via GitHub actions. |
Without a bunch of work we'd likely need to be careful about permissions and such. Building it is done their side iirc but yeah it's not something I really want to do. I don't have direct access to a deck to verify behaviour either |
Well if you worry about testing this is not a big deal. I think many people with deck could help including me. Besides you could build test environment on quemu using i.e. https://blogs.igalia.com/berto/2022/07/05/running-the-steam-decks-os-in-a-virtual-machine-using-qemu/ or any other virtualization options. In same way I successfuly build and run EDMC without messing around on the device itself. As @Athanasius mentioned and what is the biggest problem is lack of Flatpak experience in development team, maybe someone from the EDMC community could help in future or so. Thanks anyway for your reply 👍 |
Uh … just clone and run it? |
Not really, you have to enable pacman (turn system as not read only). Install necessary packages (pip,tk) +requirements and run it. But as I said every SteamOS update I think packages will be removed. |
While it really does make sense for the deck, I think most Linux users would also profit from a Flatpak. From my perspective I always struggle to find information about where to clone it locally, how the *.desktop file should look like etc. - having a Flatpak to install would increase comfort for most users. Also you don't have to worry about having the correct Python version, pip and all this stuff. I also don't have much experience with building them, but I invested some time and tinkered something here. To build it yourself, clone the repo and exec
It runs fine and also integrates well with Gnome Software One thing I'm unsure about is the permissions - user home or |
if you want to do it properly within flatpak, steamapps, compatdata, and so on down to the c disk for the game. Any other users can use flatseal to move around perms |
Well why we should do it in compatdata (emulated c drive)? I think EDMC should be located at /home/$USER/.local/share/edmc. This would be the best, because who knows where we have SteamLibrary (SD-card, other not default location). It would be faster to point out where are journals and other stuff. |
compatdata/$ElitesSteamID/path/to/journals |
as EDMC needs access to the game logs to have any use |
EDMC doesnt have to be rooted there, but it needs access to those directories, but not much more. Limited access is the philosophy to follow if you're gonna limit it |
You're right, most people probably have it in their default path, the rest should be able to read the readme where we could add a hint regarding Flatseal. I just added https://github.com/der-eismann/edmc-flatpak/commit/74317b1629ebf63207e4739deba98bc6153c0f30 which also makes it easier to use because the steam folders are the only ones you see in the file picker for the journal. Regarding config and plugins: these are located at |
Any updates on this? Were you able to test it as I described? Should I request a repository for flathub? |
I'll try to test it this weekend 👍 |
@der-eismann After start there is a Warrning: about edmc-journal-lock.txt file (i've attached output from terminal)
To perform another test we need flathub repo to avoid building process. terminal output: output.txt |
I had to manually choose the log path as well, not sure if this is Linux-related in general. Regarding the lock file - in the output you posted there is neither |
Hmm strange, I double checked again and no warrning. But at first run, I had to paste logs from another run of the application. NVM then, it seems to work. About logs I installed flatseal to check maybe something is wrong with permissions but no, application had access. Well for me and I think other this is a minor thing and for now we shouldn't worry about it. Can you take care repo on flathub to avoid build process? |
I want to wait @A-UNDERSCORE-D's input first, a) because I'm not sure about the application ID and b) as they state it in their wiki:
I'm happy to help wherever I can, but I don't want to be hasty without asking for permission first 🙂 |
Fully understand and agree with you. 👍 |
Not currently in the country to really comment. Either way I'd want @Athanasius to weigh in as well |
Well, as I got pinged, some comments:
|
Thanks for your valuable input!
As they say in the wiki:
So it's not an absolute must-have. For the tick detector project I saw that they use the URL https://tick.edcd.io, so at least
Fine for me 🙂 However I'm unsure if it makes sense/is possible to make the CLI program available via flatpak as well 🤔
I'm not an EDMC power user - where are these located? Also in the
Actually this is kinda automated. As you can see at the top of the file it was generated with the flatpak-pip-generator. It is meant to be used with flatpak this way, so I'd keep it. Also regarding 5. I don't think it's possible to point to My ideal workflow would look like this:
Alternatively the last step could also be a post-release GitHub action that is run on this repo. |
My aim here is to have this be as official as it can be (unless that application ID is changed), but it would then be on 'best efforts' basis, with no-one here actually testing if new releases still work. |
For 4, test on an actual Installation, proton puts localappdata in goofy places sometimes |
Ah, the fun of us building something for Linux, but the use case being against steam-mediated 'Windows' paths. i.e. no way to tell flatpak "Just use %USERPROFILE% for this bit". |
I don't think it's that goofy - in my case it is in |
Unfortunately it needs a separate repo in the flathub organization, since they manage the whole build & deployment infrastructure there. We could move some parts here, e.g. the *.desktop file and the appdata.xml, but the main definition would still need to remain in the flathub repo. |
That's not what I meant. I assume that the in-flathub PR is something to point at where the files currently hosted in https://github.com/der-eismann/edmc-flatpak/ are. I was asking if the latter has to be a self-contained repo with nothing else in it, or if it can just be a sub-directory within a repo used for other things. |
But that's what I meant - each app that should be available on flathub gets its own repo in the GitHub.com/flathub orga. And that's the place where all the files that I currently have in my repo are hosted. And it needs to be there, self-contained. See this for example: |
Yup, that's who I tagged in. |
Not to potentially add to the scope of this issue, but could we get a mention of the Flatpak in the wiki? It works and is good to go aside from an issue on the Flatpak side and an issue on this side (that doesn't affect performance). |
OK, Looking at this, I do not appear to have permissions on the flatpak repository. I think it looks like @der-eismann is the main contact for that repo? Looks like flathub/io.edcd.EDMarketConnector#32 was automatically opened to update to 5.10. I'm not sure what additional would be needed from myself or @C1701D in order to make this happen. I'm not very familiar with the Flatpak build system. If there is something that needs done, please let me know and I'll do it today or tomorrow. To answer @dvdmuckle I will make sure when we're doing the updates (see: #2115) we will include references to the FlatPak repo. |
The Flatpak has been set up to be mostly automatic. There's some config that will update any dependencies, which includes any new releases of EDMC. It will then open up a PR like you linked. Said PR just needs to be approved and maaaaybe one other version number somewhere needs to be bumped, but besides that, the build process is all automatic. Happy to help with this portion of EDMC as well. |
That's awesome that you guys have that! We'll be sure to shout it out in the "run on Linux" portion of the docs and release notes. I think that classifies the Flatpak distro as "unofficial but supported" and we'll defer to y'all on keeping that section going. Let us know if there's any support the core team here can provide. I think that then closes out this issue? Unless there's anything unresolved we haven't sorted. |
Hey @der-eismann / @dvdmuckle just wanted to loop back to this one. Anything the core team can do to allow 5.10 to be pushed to the flatpack users? |
I unfortunately do not have write access to the Flatpak repo, I think that'll come down to @der-eismann. |
Hey everyone, sorry for the late reply. I recently became a dad, so my E:D play time went down rapidly, at the same time I didn't want to merge an untested update, especially after the latest bigger changes. I'll give it a go tomorrow and merge if everything's fine. If somebody volunteers we can request additional maintainership on Flathub, I just wanted to get the project going. I also saw on other projects that it is possible to host the Flatpak manifest inside the actual project repository, that would allow for a more streamlined update process - a flathub PR is opened automatically for a new release, however the python dependencies include some manual work atm. |
@der-eismann first off, congrats! Second, I'd be happy to be a maintainer on the Flatpak. I just got a Steam Deck so I'll also be able to do additional testing on there. |
I created this issue (flathub/flathub#4823), let's see how long it takes. |
Thanks! Invite accepted and I have write access to the repo! @Rixxan want me to bump the version to 5.10? |
Hold to 5.10.1 please. Bug exists that would break on installs from source without Git installed. @dvdmuckle |
(breaking issue: #2125) |
Breaking issue now cleared. Looks like flathub/io.edcd.EDMarketConnector#34 is ready to go! |
@der-eismann I believe we first need to revert the git patch before merging in the 5.10.1 release for the Flatpak, right? |
Just a heads up, the Flatpak has been updated to the latest version of EDMC. |
Closing this as it seems to be sorted pretty well :) If there's any assistance y'all need, always feel free to open an issue or get in touch. |
Flatpak version for Steam Deck
It's nice to see flatpak version of EDMC.
Expected behavior
As you may know or not in default on SteamOS Steam Deck additional installation of the packages with pacman is disabled and not recommended (after every update system partition is formatted thus non default packages will be reverted but not flatpak apps). So the only way to have working EDMC is all the time reinstalling it or installing flatpak version of EDMC which is missing.
The text was updated successfully, but these errors were encountered: