Flatpak-1.16.1

Introduction to Flatpak

Flatpak allows you to download apps and run them in a sandbox. It downloads all of the dependencies of a given package in a sandbox and allows you to run the package as if it was not in a sandbox. Some packages only exist as a Flatpak, and some packages have a lot of dependencies that it might be worth it to install the Flatpak version instead.

Flatpak Dependencies

Required

AppStream, D-Bus, Fuse3, GLib2, gpgme, JSON-GLib, elogind, OSTree-2025.4 (with cURL and gpgme), p11-kit, and pyparsing

Recommended

Optional

Git, malcontent (for parental features), socat-1.8.0.3 (for tests), and Valgrind

Installation of Flatpak

Install Flatpak by running the following commands:

mkdir build &&
cd    build &&

meson setup --prefix=/usr                       \
            --buildtype=release                 \
            -D systemd=disabled                 \
            -D system_bubblewrap=bwrap          \
            -D system_dbus_proxy=xdg-dbus-proxy \
            -D tests=false                      \
            .. &&

ninja

Now, as the root user:

ninja install

Command Explanations

--buildtype=release: Specify a buildtype suitable for stable releases of the package, as the default may produce unoptimized binaries.

-D systemd=disabled: This parameter disables Systemd support.

-D system_bubblewrap=bwrap: Ensures the build system doesn't download Bubblewrap.

-D system_dbus_proxy=xdg-dbus-proxy: Ensures the build system doesn't download xdg-dbus-proxy.

-D tests=false: This parameter disables tests. Remove this parameter if you have socat installed.

Configuring Flatpak

Now that Flatpak is installed, you should add a repository/remote to install flatpaks from. Flathub is the most popular choice. You can do that with:

flatpak remote-add flathub https://dl.flathub.org/repo/flathub.flatpakrepo

You can run it as a regular user or as root. If you run it as a regular user, polkit will ask for authentication. In such case, ensure polkit works first. If all went well, no error should be outputted. Then you will be able to install flatpaks from Flathub. All installed applications will be in /var/lib/flatpak/exports/bin. Add that directory to your $PATH if you wish.

Contents

Installed Programs: flatpak, flatpak-bisect, flatpak-bwrap, flatpak-coredumpctl, flatpak-dbus-proxy, flatpak-oci-authenticator, flatpak-portal, flatpak-session-helper, flatpak-system-helper, flatpak-validate-icon, and revokefs-fuse
Installed Shell Script Triggers: desktop-database.trigger, gtk-icon-cache.trigger, and mime-database.trigger
Installed Libraries: libflatpak
Installed Directories: /usr/include/flatpak, /usr/lib/sysusers.d, and /usr/share/flatpak/triggers

Short Descriptions

desktop-database.trigger

is a trigger that updates a flatpak's application cache

flatpak

can run containerized and sandboxed applications

flatpak-bisect

can do a git-style bisect of a flatpak application

flatpak-bwrap

is used by flatpak to utilize Bubblewrap features

flatpak-coredumpctl

can debug an application in gdb that crashed inside flatpak.

flatpak-dbus-proxy

is used by flatpak to utilize xdg-dbus-proxy features

flatpak-oci-authenticator

is used by flatpak to athenticate with the Oracle OCI SDK

flatpak-portal

is used by flatpak to access the xdg-desktop-portal

flatpak-session-helper

is used by flatpak to help with session management

flatpak-system-helper

is used by flatpak to help with the flatpak system.

flatpak-validate-icon

is used by flatpak to validate icons

gtk-icon-cache.trigger

is a trigger that updates a flatpak's GTK icon cache

mime-database.trigger

is a trigger that updates a flatpak's MIME database cache

revokefs-fuse

makes a basepath visible at a given mountpoint

libflatpak

contains functions used by the Flatpak utilities