You know what, since I've been asked to set up flatpak packaging for all our client software at work I might as well do it here too.
Already done flatpak config for Dwarf Fortress as part of my testing, so setting it up for OpenMW as well shouldn't be impossible.
Edit:
There we go, that wasn't too hard. Only took ~3 hours of writing, compiling, and repeating.
Still need to trim away lots of useless content, but the game builds, gets correctly packaged, and it runs fine on my Intel/NVidia laptop.
Once it's trimmed down to a more reasonable size, I'm going to look at publishing it on flathub, so it's easy to install for all flatpak users.
Doing the work on my flatpak branch, if anyone's interested.
OpenMW desperately needs a Flatpak
Re: OpenMW desperately needs a Flatpak
I just read your commit: it looks good to me, thank you for spending time on it ♥
Re: OpenMW desperately needs a Flatpak
Of course, due to our need for accessing a Morrowind install somewhere on your system it's going to be a little bit messier than a regular install.
The screenshot I've taken has been by manually copying a Morrowind install into ~/.var/app/org.openmw.OpenMW/MW, which isn't going to work as well for doing OpenMW+OpenCS.
It might be possible to just mention that the most effective way to do this with flatpak would be to add an override, allow access to the game install path for us;
Going to spend some time on OpenCS next, maybe I'll do a base app to avoid having to build all the common components for both OpenMW and OpenCS.
The screenshot I've taken has been by manually copying a Morrowind install into ~/.var/app/org.openmw.OpenMW/MW, which isn't going to work as well for doing OpenMW+OpenCS.
It might be possible to just mention that the most effective way to do this with flatpak would be to add an override, allow access to the game install path for us;
Code: Select all
flatpak override --filesystem=~/game/morrowind:ro org.openmw.OpenMW
flatpak override --filesystem=~/game/morrowind:ro org.openmw.OpenCS
Re: OpenMW desperately needs a Flatpak
Ace, great work so far.
Re: OpenMW desperately needs a Flatpak
Went through and added lots of cleanup, also submitted the build file to flathub for review.
Once that's in place then we'll have 0.42.0 available through Flatpak, and probably 0.43.0 once that's released as well.
Also enabled OpenCS in the build, adding it as org.openmw.OpenMW.OpenCS as a sub-application. Seemed to work rather okay in my short testing, though I wasn't able to launch an OpenMW instance for debugging. That might either be something I can look into in the package itself, or it might require code changes to actually work, either way it can be fixed at a later point.
Once that's in place then we'll have 0.42.0 available through Flatpak, and probably 0.43.0 once that's released as well.
Also enabled OpenCS in the build, adding it as org.openmw.OpenMW.OpenCS as a sub-application. Seemed to work rather okay in my short testing, though I wasn't able to launch an OpenMW instance for debugging. That might either be something I can look into in the package itself, or it might require code changes to actually work, either way it can be fixed at a later point.
Re: OpenMW desperately needs a Flatpak
I just peeked at your OpenMW flatpak manifest, Ace, just out of curiosity. Some great wizardry there, but one thing caught my eye: Why the Gnome 3.24 runtime? I know the end user would never complain as long as the game is working, but wouldn't there be a more fitting runtime for games such as OpenMW? Games already hosted on Flathub seem to point to Flathub itself as the runtime in their Flatpakref files (although I might be wrong, layman speaking here).
Re: OpenMW desperately needs a Flatpak
The runtime is just a core set of userspace libraries, with the most common ones being org.freedesktop.Platform, org.gnome.Platform, and org.kde.Platform.
Both the Gnome and KDE platforms are based off of the freedesktop one, with additional libs that are used in the applications on them. The Gnome platform - for instance - contains all the most common dependencies you need for building regular Gnome applications.
Technically, if I configure the flatpak packages to use Qt5 then the KDE runtime would be the most apt one - since that one comes with Qt5 already in place. For now though, I'm just using the Gnome one because it's got a handful more libraries standard, OpenMW itself would probably work on the freedesktop platform but I might have to add more dependencies for that.
And it's worth noting that a flatpakref only notes where your flatpak client should look for data and dependencies, so having flathub specified in there just tells you to use the flathub repo when grabbing data for the application.
Both the Gnome and KDE platforms are based off of the freedesktop one, with additional libs that are used in the applications on them. The Gnome platform - for instance - contains all the most common dependencies you need for building regular Gnome applications.
Technically, if I configure the flatpak packages to use Qt5 then the KDE runtime would be the most apt one - since that one comes with Qt5 already in place. For now though, I'm just using the Gnome one because it's got a handful more libraries standard, OpenMW itself would probably work on the freedesktop platform but I might have to add more dependencies for that.
And it's worth noting that a flatpakref only notes where your flatpak client should look for data and dependencies, so having flathub specified in there just tells you to use the flathub repo when grabbing data for the application.
Re: OpenMW desperately needs a Flatpak
Ah, thanks for clarifying that. So let's hope this will get the green light soon.
Re: OpenMW desperately needs a Flatpak
And OpenMW is now available on Flathub, though it might take a bit for the webpage and such to update.
Feel free to throw in issues to it on the flathub repo if things are flatpak-specific.
Feel free to throw in issues to it on the flathub repo if things are flatpak-specific.
Re: OpenMW desperately needs a Flatpak
Great, I will probably try it out on the weekend and see if I can find any bugs.