the future of application distribution


The days of chasing multiple Linux distributions are over. Standalone apps for Linux are here!

Find Out How

Self-contained and future proof


Distributing applications on Linux is a pain: different distributions in multiple versions, each with their own versions of libraries. Flatpak is here to change all that.

 

Cross platform

Build and install the same app on different Linux distributions

Stable

Install and run the same app on different distribution versions

Secure

Apps are isolated from the host system and from other apps

How it works


Flatpak is based on some basic ideas.

 

Runtimes

Runtimes contain the dependencies that are used by apps. They are always the same, whatever Linux distribution is being used. They mean that apps no longer have to be updated to keep pace with distribution changes.

Bundles

Dependencies that aren't in a runtime can be bundled as a part of the app. This makes it possible to use dependencies can be used that aren't in a distribution, and to use a different version of a dependency than the one that's in a distribution.

Sandboxes

Flatpak isolates apps from the host OS as well as from other applications. This provides security for users and a predictable environment for developers. (Some of these features are work in progress.)

Install and Run a Flatpak


With Flatpak, applications can be safely updated on a running system, without fear of conflicts occuring. Flatpak also allows multiple versions of the same application to be installed at the same time, which is great for testing development or testing versions. And in the future, Flatpak's security first approach guarantee greater privacy and peace of mind.

A collection of applications are available as Flatpaks, which you can try yourself.

  • Nightly builds of GIMP, InkScape, DarkTable, MyPaint, Scribus
  • Stable builds (TBD: link) of core GNOME applications
  • LibreOffice builds (TBD: link)

In the near future, you will be able to install flatpaks painlessly from graphical tools such as GNOME Software:

Until then, you can use the commandline tool to install and update flatpaks.

1. Install Flatpak

Before you can install applications with Flatpak, you need to install Flatpak itself. Currently this has to be done using the command line. This section contains instructions for installing Flatpak on Fedora or Ubuntu. Details on how to install flatpak on other distros are available on the getting flatpak page.

With Fedora, run:

$ sudo dnf install flatpak

On Ubuntu, flatpak is available through a PPA. To install it, run:

$ sudo add-apt-repository ppa:alexlarsson/flatpak
$ sudo apt-get update
$ sudo apt-get install flatpak

2. Add repositories

Flatpak allows you to install software from remote repositories. For this example we're going to use two repositories: one which contains GNOME apps, and one which contains the runtime that provides the dependencies they need.

$ wget https://sdk.gnome.org/keys/gnome-sdk.gpg
$ flatpak remote-add --user --gpg-import=gnome-sdk.gpg gnome https://sdk.gnome.org/repo/
$ flatpak --user remote-add --gpg-import=gnome-sdk.gpg gnome-apps https://sdk.gnome.org/repo-apps/

3. Install a runtime

The runtime provides the dependencies needed by the apps in the GNOME repository.

$ flatpak --user install gnome org.gnome.Platform 3.20

Once this is complete, you're all set to install some apps!

4. View, install and run apps

To view which apps are availalbe in the gnome-apps repository, just run:

$ flatpak --user remote-ls gnome-apps --app

To download and install an app, like gedit, run:

$ flatpak --user install gnome-apps org.gnome.gedit stable

Installed applications should appear in the usual place. You can also run them from the command line:

$ flatpak run org.gnome.gedit stable

Get Involved


Flatpak is Free Software and is developed in the open, as a part of the Freedesktop project. To get in touch, use the xdg-app mailing list or xdg-app IRC channel on Freenode. Code can be found on Github and issues are tracked on Freedesktop Bugzilla.