Publish your game on Linux with Flathub

Description

Godot And Linux

One of the big features of Godot is its portability among several platform : Windows, OSX, Android, .. and Linux. The Linux ecosystem is rich, full of wonderful projects supported by dedicated people.

One might find it overwhelming at first, but tremendous efforts have been made to make this ecosystem more friendly, organized and accessible. One of them lead to the creation of Flathub, a linux application store with user friendly support but also, the security that goes with trustful applications distribution system.

What is Flathub ?

As stated before, Flathub is an application store for Linux. It is as useful for users as for developers publishing applications on it. Like any respectful store, it provides curation and moderation to insure safety and warn users over the potential risks of an application, meaning that applications published there can be labeled and/or certified about several aspects : security, privacy, proprietary/opensource and so on.

When it comes to Godot application, game developers can easily publish their productions over this platform and most importantly, reach a very large user-base willing to provide feedback (and we know how vital this is for us).

Flathub provides a powerful store integration, allowing automatic updates without having you to care about the specific configuration of the end-user system.

Crosswords, a featured game on Flathub, meets the quality guidelines

From more information about Flathub, check the Flathub website to deep a bit further in the rabbit hole.

How to publish on Flathub ?

What you need first, as a developer, is to obtain (choose carefully) an application ID, meet the submission requirements (as for any application store) and submit your application to the Flathub. Upon review, your submission can be validated and be ready for distribution. As always, a submission can be rejected with a comprehensive rejection cause allowing you to comply with the standards and requirements of a Flathub submission.

The main (one of the possible) workflow to submit/publish your Godot application to Flathub consists in the following:

  1. Export the PCK File of your project
  2. Create branding files like desktop icon, desktop entry, Flathub oriented metainfo files
  3. Submit to Flathub.

Of course, as simple as it looks, the first phase (the initial submission) requires some more effort.

Hopefully, an extensive blog-post (provided by Cassidy James Blaede) is there to clarify all of this. It answers all the questions you might ask about the process by providing a live example.

A Quick Example

Important

The following is an excerpt of Cassidy's blog post. I strongly advise you to read it to fully understand the process.

Entries to Flathub are called Flatpak.

To build a Flatpak of a Godot Engine game, we only need three things:

  1. Exported PCK file
  2. Desktop Entry, icon, and MetaInfo files
  3. Flatpak manifest to put it all together

The trick is knowing how and where to provide each of these for the best experience publishing your game (and especially updates) to Flathub. There are a bunch of ways you can do it, but I strongly recommend:

  1. Upload your PCK file to a public, versioned URL, e.g. as a source code release artifact.

  2. Include the Desktop Entry, icon, and MetaInfo files in the repo with your game’s source code if it’s open source, or provide them via a dedicated repo, versioned URL, or source code release artifact. You can alternatively upload these directly to the Flatpak Manifest repository created by Flathub, but it’s better to keep them with your game’s other files if possible.

  3. Your manifest will live in a dedicated GitHub repo owned by the Flathub org. It’s nice (but not required) to also include a version of your manifest with your game’s source code for easier development and testing.

Comments