Closed ak-42 closed 8 months ago
Hi,
I don't plan on submitting it to Flathub as I would prefer to ask @gk7huki (RVGL Launcher developer) for his permission (maybe he would prefer to maintain it himself, or have a different package id), and he's currently away.
Fair enough. I will note that the licence allows republishing without permission, but I'm sure you already knew that and considered it in your response. In any case, thank you for packaging it.
I don't mind publishing to Flathub, but there are probably a couple of issues to sort out first.
Maybe a good idea to open issues for the above mentioned points. @mickael9
@gk7huki FYI, I have researched some of these points already (and some other ones)
rvmm://
protocol is declared in the org.rvgl.rvmm.desktop file for the flatpak itself since the desktop files created by the launcher are completely ignored in the Flatpak sandbox.
It seemed to work out of the box for me with KDE Plasma, but people installing it on a Steam Deck reported that it didn't work by default (which is strange since I think the deck also uses Plasma)
In that case, this is the only thing that was needed to associate it:
$ xdg-mime default org.rvgl.rvmm.desktop x-scheme-handler/rvmm
Of course this needs to be run outside of the flatpak sandbox.
I tried to make this work too, sharing a socket between the two instances should work out of the box, the problem seems to be with wx.SingleInstanceChecker
itself.
This might have to do with the pid file, since the flatpak sandbox uses private process namespaces.
We could probably get this to work if we bypass wx.SingleInstanceChecker
and just check that we can connect to the unix socket.
EDIT: I think the problem is that both instances have the same pid, so IsAnotherRunning()
returns false
Flatpaks are supposed to use XDG Desktop Portals to access files that are outside the sandbox.
Open-file dialogs seem to work out of the box, but drag-and-drop of files doesn't, so I added a permission to allow the flatpak to access files outside of the sandbox (read only).
This works, but goes against the philosophy of Flatpaks.
The launcher should be able to detect that it runs in a flatpak environment (this can be done by checking for the existence of a /.flatpak-info file), and if that's the case:
.desktop
filesAny update about this? It would be great if RVGL was available on Flathub.
I think the main issues are adressed with the latest changes I've made
rvmm
protocol is handled by flatpak already (as part of the desktop file)discord-472158403830218762
protocol handler is also part of the same desktop file@gk7huki if you wish to publish this to flathub, I think you should be the one to do it according to flathub submission rules
That's great news! Feel free to ask if you need any help with the Flatpak. I have quite extensive experience with Flatpak apps and their manifests since I maintain over 30 Flatpaks on Flathub. :-)
I have just tested the latest Flatpak build and everything seems to work fine. :-) I think the Flatpak is ready to be submitted to Flathub. Thanks for working on this!
@mickael9 @gk7huki If you don't have enough time or Flathub-related know-how, I can submit the Flatpak to Flathub on your behalf and help maintain it. Feel free to let me know, I would love to see RVGL on Flathub. :-)
I've been testing this Flatpak further over the past weeks and haven't found any problems.
@AsciiWolf I'm fine with you maintaining it, but obviously the decision is for @gk7huki to take
Thanks!
Just a small question: What license are the actual Re-Volt files that are downloaded by rvgl-launcher? Are they abandonware?
@mickael9 @AsciiWolf All that sounds great! I'll check the changes this weekend and let you guys know. If I understand correctly, this is a flatpak for the RVGL Launcher, right? Would it make sense to call it RVGL Launcher instead of RVGL? (here)
Also how are updates handled? i.e., what would be the workflow for rebuilding the flatpak when the Launcher gets updated?
Thanks Huki for the review! RVGL (without the Launcher suffix) should be fine in my opinion since the launcher is already mentioned in the description:
But we can change the AppStream app name, it is not a problem.
The desktop launcher entry is called "RVGL Launcher":
Updates can be handled automatically by this tool that we use on Flathub. It can automatically prepare a Pull Request that updates the Flatpak manifest when a new upstream (RVGL Launcher) version gets released. Builds are handled automatically by a Flathub buildbot system.
If you have any additional questions, feel free to ask. :-)
@gk7huki Before this can be submitted to Flathub, it is important to be sure about the game data license. Can the original game data be considered as an abandonware? If not, the Flathub version of RVGL Launcher should probably have the autodownload of full game disabled and should ask user to provide their own game data (for example from the Steam or GOG version of Re-Volt).
@gk7huki Before this can be submitted to Flathub, it is important to be sure about the game data license. Can the original game data be considered as an abandonware? If not, the Flathub version of RVGL Launcher should probably have the autodownload of full game disabled and should ask user to provide their own game data (for example from the Steam or GOG version of Re-Volt).
This is unfortunately an issue. The original data cannot be considered abandonware, and at the same time we're not really comfortable advertising the GOG/Steam version either.
The good news is that we have a roadmap in the works to remove RVGL's dependency on original game assets. That way we can offer a version of RVGL entirely with community-made content.
Before this is possible however, I'm not sure how to approach this. We're packaging the Launcher, which means no game data is packaged within the flatpak itself. Isn't that enough? Of course, users have the option to download the original game data through the Launcher interface.
The good news is that we have a roadmap in the works to remove RVGL's dependency on original game assets. That way we can offer a version of RVGL entirely with community-made content.
That is great news! :-)
Before this is possible however, I'm not sure how to approach this. We're packaging the Launcher, which means no game data is packaged within the flatpak itself. Isn't that enough? Of course, users have the option to download the original game data through the Launcher interface.
Well, since the Launcher allows direct download of game data that have no clear licensing, it would be problematic on Flathub that has strict policy for this.
I think that it probably will be best to keep this Flatpak as user-downloadable from this GitHub repo (releases) for now. Maybe at least add it to the download section on the RVGL Launcher page here?
@gk7huki it would be nice if you could create tags/releases on GitLab for each published version (currently this flatpak is following the latest tag 0.1.23.510a1
which is out of date)
@gk7huki it would be nice if you could create tags/releases on GitLab for each published version (currently this flatpak is following the latest tag
0.1.23.510a1
which is out of date)
Done, here is the latest tag.
Closing this ticket. We should continue here instead: https://github.com/mickael9/rvgl-flatpak/issues/5
Hi. Thank you for packaging this as a Flatpak. Very helpful for Steam Deck and other immutable OSes.
Is there any chance you would consider publishing this to Flathub?