Ubuntu – Does GUI for Flatpak exist for Ubuntu 16.04 LTS

16.04flatpak

I'm running Ubuntu MATE 16.04 LTS.

I have added Flatpak PPA and installed it to my system:

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

And then I want to install some application as Flatpak, so I need to run some commands in the terminal (KDE as example):

  1. to add repository:

    flatpak remote-add --if-not-exists flathub \
    https://flathub.org/repo/flathub.flatpakrepo
    flatpak remote-add --if-not-exists kdeapps --from \
    https://distribute.kde.org/kdeapps.flatpakrepo
    
  2. to install needed flatpak (KDiff3 as example):

    flatpak install kdeapps org.kde.kdiff3
    

I have read about gnome-software-plugin-flatpak and plasma-discover-flatpak-backend, but there are no such packages for Ubuntu Xenial.

But I can't find solutions for Ubuntu 16.04 LTS.


Update 1: tried to build source package of plasma-discover from 18.04 LTS on 16.04 LTS but got many errors about Qt5 declarations such as

discover/libdiscover/resources/ResourcesModel.cpp:336:42: error: ‘qAsConst’ was not declared in this scope
for(auto backend: qAsConst(m_backends))
^
libdiscover/CMakeFiles/DiscoverCommon.dir/build.make:374: recipe for target 'libdiscover/CMakeFiles/DiscoverCommon.dir/resources/ResourcesModel.cpp.o' failed

so this is not a solution.


Update 2: installing GNOME Software from Snappy with snap install --edge gnome-software --classic allows to use Snap GUI, but not FlatPak.

Best Answer

No. Flatpak does not seem to have any supported graphical user interface for older releases of Ubuntu (16.10 and earlier). The Flatpak GUI, which refers to the plugin support for Flatpak, was added sometime later than 16.04 release, hence the unmet dependencies.

Unmet dependencies

Flatpak (formerly xdg-app) is relatively new and has been adopted by apps and distros from 2017 onwards. The "Developer Guide" that links to this documentation, unfortunately does not mention any specific dependencies or minimum requirements as reference.

The FAQ however, has indirectly noted that GNOME 3.22 is required.

Version 3.22.4 and newer of GNOME Builder includes support for flatpak-builder manifests.

Ubuntu 16.04 uses a several versions older than GNOME 3.22. Despite Ubuntu 16.04 is a currently supported release, the platform is deemed old and not suited to make Flatpak GUI work.

On Ubuntu, Flatpak GUI is made available via GNOME Software and Plasma Discover using respective plugins, gnome-software-plugin-flatpak and plasma-discover-flatpak-backend. We can review past development news to further clarify the dependencies.

Flatpak and GNOME

Flatpak support for GNOME Software is mentioned in this blog post by hughsie (Richard), "Flatpak and GNOME Software" dated 5 July 2016. That has few screenshots and details on packaging.

Flatpak integration in Builder has been noted on GNOME Wiki and was made available when GNOME 3.22 is released on 21 September 2016.

The latest GNOME release introduces comprehensive Flatpak integration for the first time [...] GNOME 3.22 makes it easy to install Flatpak apps using the Software application.

Given that the first GNOME release to introduce Flatpak GUI is GNOME 3.22, Ubuntu 16.04 with GNOME 3.18 does not meet the requirement. Even with minimum requirement, the now unsupported Ubuntu 17.04 also had issues with the requirement.

Flatpak and KDE

Flatpak support for Plasma Discover is mentioned in this blog post by jgrulich (Jan Grulich), "KDE Discover flatpak backend" dated 14 February 2017. That has few screenshots, but less detail.

In related matter, Flatpak on the KDE Community Wiki has more useful information.

We provide a runtime with Qt and all KDE Frameworks 5 (except for the 4th tier) [...] This runtime can be added by following these instructions:

flatpak install flathub org.kde.Platform//5.9
flatpak install flathub org.kde.Sdk//5.9

Given that the instruction noted KDE Plasma 5.9, Ubuntu 16.04 with KDE Plasma 5.5 does not meet the requirement. Even with Kubuntu Backports PPA, Ubuntu 16.04 will have only KDE Plasma 5.8, which is still older than the noted release.

Flatpak support discrepancy

Flatpak GUI was first made available in GNOME and then followed by KDE. For this reason, GNOME might have a better support for Flatpak GUI.

KDE Plasma 5 on Ubuntu 16.04 (or Kubuntu 16.04) by default was buggy and had crashes on desktop. In fact, KDE Plasma meta package for 16.04 has since disappeared from the package search result. This may hint that Flatpak GUI is not suited to run with KDE on Ubuntu 16.04.

This answer may be proven wrong, should someone with knowledge backports the required packages from GNOME 3.22 or KDE 5.9, in order to build and run Flatpak GUI on Ubuntu 16.04. The backports otherwise might not be feasible for any reason that I do not know.

TL;DR Flatpak is relatively new and Ubuntu 16.04 (xenial) is too old to build and run Flatpak GUI. That is based on reviewing the development news and docs by GNOME and KDE. Flatpak documentation does not seem to have any supporting details.