Testing a Flatpak from a release
Each Podman Desktop release includes a .flatpak bundle in the GitHub release assets. This page explains how to test that bundle correctly, including cases where sandbox permissions have changed between releases.
When you install Podman Desktop from Flathub, the permissions declared in io.podman_desktop.PodmanDesktop.yml are applied automatically. Installing a .flatpak bundle over an existing Flathub installation can leave an older cached permission profile active, causing failures such as lost filesystem access or silent D-Bus errors.
Prerequisites
-
A Linux system with Flatpak installed.
-
The
.flatpakbundle downloaded from the releases page. -
(For building locally only) Flatpak builder, runtime, and SDK:
$ flatpak remote-add --if-not-exists flathub --user https://flathub.org/repo/flathub.flatpakrepo$ flatpak install --user flathub org.flatpak.Builder org.freedesktop.Platform//25.08 org.freedesktop.Sdk//25.08
Procedure: Testing a release bundle
-
Uninstall any existing installation to remove stale cached permissions:
$ flatpak uninstall --user io.podman_desktop.PodmanDesktopIf Podman Desktop was installed system-wide, omit
--user:$ flatpak uninstall io.podman_desktop.PodmanDesktop -
(Optional) Remove cached application data for a completely clean environment:
$ rm -rf ~/.var/app/io.podman_desktop.PodmanDesktopcautionThis removes all local Podman Desktop settings and data stored under the Flatpak sandbox. Flatpak stores per-user app data in
~/.var/app/for both user and system-wide installs. If multiple users have run Podman Desktop on the same machine, each user must run this command while logged in as themselves, or an administrator can clean another user's profile withsudo -u <username> rm -rf /home/<username>/.var/app/io.podman_desktop.PodmanDesktop. -
Install the downloaded bundle using the same scope as Step 1:
For a user install:
$ flatpak install --user ~/Downloads/podman-desktop-<version>.flatpakFor a system-wide install, omit
--user:$ flatpak install ~/Downloads/podman-desktop-<version>.flatpak -
Run Podman Desktop:
For a user install:
$ flatpak run io.podman_desktop.PodmanDesktopFor a system-wide install, the command is the same:
$ flatpak run io.podman_desktop.PodmanDesktop -
Verify the active permissions match the expected manifest:
For a user install:
$ flatpak info --user --show-permissions io.podman_desktop.PodmanDesktopFor a system-wide install:
$ flatpak info --show-permissions io.podman_desktop.PodmanDesktopCompare the output against the
finish-argssection of the upstream manifest.
Procedure: Building from the Flathub manifest
When a pull request modifies Flatpak permissions, build the Flatpak locally from the updated manifest rather than relying on the pre-built release bundle.
-
Clone the Flathub manifest repository:
$ git clone https://github.com/flathub/io.podman_desktop.PodmanDesktop.git$ cd io.podman_desktop.PodmanDesktop -
Apply your changes to
io.podman_desktop.PodmanDesktop.yml, for example, add or updatefinish-argsentries. -
Build and install locally:
$ flatpak run org.flatpak.Builder \--user \--install \--force-clean \build \io.podman_desktop.PodmanDesktop.yml -
Run Podman Desktop and verify the new permissions are in effect:
$ flatpak run io.podman_desktop.PodmanDesktop -
Check the active permissions:
$ flatpak info --user --show-permissions io.podman_desktop.PodmanDesktop
Reverting to the Flathub release
To go back to the stable Flathub version after testing, run the commands that match the scope you used when installing:
For a user install:
$ flatpak uninstall --user io.podman_desktop.PodmanDesktop
$ flatpak install --user flathub io.podman_desktop.PodmanDesktop
For a system-wide install, omit --user:
$ flatpak uninstall io.podman_desktop.PodmanDesktop
$ flatpak install flathub io.podman_desktop.PodmanDesktop
Additional resources
- Flathub manifest for Podman Desktop
- Flatpak — Building your first Flatpak
- Flatpak — Sandbox permissions reference
- Installing from a Flatpak bundle