How to install Flatpak on Fedora 35

In this tutorial, we are going to learn how to install Flatpak on Fedora 35.

Flatpak is a utility for software deployment and package management for Linux. Flatpak offers a sandbox environment in which users can run application software in isolation from the rest of the system.

Flatpak can be used by all kinds of desktop environments and aims to be agnostic as possible regarding how applications are built.

Flatpak runtimes and applications are built as OCI images and are distributed with Fedora registry

Flatpaks are a new way of deploying applications.

Advantages of using Flatpaks on Fedora

  • Applications can easily be updated without rebooting the system
  • Applications can easily be installed on Fedora silverblue
  • Flatpaks works along all supported Fedora versions
  • Flatpaks can be run by all users running on other distributions.

Prerequisites

  • Have Fedora 35 workstation up and running
  • User with sudo privileges
  • Have basic knowlege of terminal commands

Related Articles

Install Flatpak on Fedora 35

1. Install updates

The first thing for any system is to update its repositories in order to make them up to date.

$ sudo dnf update -y

2. Install Flatpak dependencies

Flatpak needs some dependencies before you can run the installation. To install those dependencies, use the following command.

$ sudo dnf install fedmod

We will the following sample output

# Sample output
  Installed:
  fedmod-0.6.4-2.fc35.noarch                                   
  gobject-introspection-1.70.0-1.fc35.x86_64                      
  libmodulemd1-1.8.16-6.fc35.x86_64                            
  libxslt-1.1.34-6.fc35.x86_64                                    
  python3-aiodns-3.0.0-2.fc35.noarch                           
  python3-aiohttp-3.7.4-3.fc35.x86_64                             
  python3-async-timeout-3.0.1-14.fc35.noarch                   
  python3-chardet-4.0.0-4.fc35.noarch                             
  python3-click-8.0.1-3.fc35.noarch                            
  python3-click-completion-0.5.2-6.fc35.noarch                    
  python3-decorator-5.0.9-3.fc35.noarch                        
  python3-gobject-base-3.42.0-1.fc35.x86_64                       
  python3-gssapi-1.6.14-2.fc35.x86_64                          
  python3-koji-1.27.1-1.fc35.noarch                               
  python3-libmodulemd1-1.8.16-6.fc35.x86_64                    
  python3-lxml-4.6.5-1.fc35.x86_64                                
  python3-multidict-5.1.0-4.fc35.x86_64                        
  python3-pycares-4.0.0-5.fc35.x86_64                             
  python3-requests-gssapi-1.2.3-3.fc35.noarch                  
  python3-requests-toolbelt-0.9.1-15.fc35.noarch                  
  python3-shellingham-1.3.2-4.fc35.noarch                      
  python3-smartcols-0.3.0-14.fc35.x86_64                          
  python3-solv-0.7.19-3.fc35.x86_64                            
  python3-typing-extensions-3.7.4.3-4.fc35.noarch                 
  python3-yarl-1.6.3-5.fc35.x86_64                       

3. Install Flatpak on Fedora 35

Now we can install Flatpak

$ sudo dnf install flatpak-module-tools

Sample output will look like this

#
Installed:
  ModemManager-glib-1.18.2-1.fc35.x86_64                        
  abattis-cantarell-fonts-0.301-5.fc35.noarch                   
  adobe-source-code-pro-fonts-2.030.1.050-11.fc35.noarch        
  alsa-lib-1.2.6.1-3.fc35.x86_64                                
  avahi-glib-0.8-14.fc35.x86_64                                 
  avahi-libs-0.8-14.fc35.x86_64                                 
  bluez-libs-5.63-1.fc35.x86_64                                 
  bubblewrap-0.5.0-1.fc35.x86_64                                
  cairo-1.17.4-4.fc35.x86_64                                    
  cairo-gobject-1.17.4-4.fc35.x86_64                            
  dconf-0.40.0-5.fc35.x86_64                                    
  fdk-aac-free-2.0.0-7.fc35.x86_64                              
  flac-libs-1.3.3-9.fc35.x86_64                                 
  flatpak-1.12.4-1.fc35.x86_64                                  
  flatpak-selinux-1.12.4-1.fc35.noarch                          
  flatpak-session-helper-1.12.4-1.fc35.x86_64                   
  fontconfig-2.13.94-3.fc35.x86_64                              
  fribidi-1.0.10-5.fc35.x86_64   

Check the version of installed Flatpak

$ flatpak --version

4. Add user to mock group

Mock is a tool for a reproducible build of RPM packages. It is used by the Fedora build system to populate a chroot environment which is then used in building a source RPM.

To add the user into mock group use the following command

$ sudo usermod -a -G mock $USER

Restart your system for the changes to take effect.

5. Install Flatpak runtime environment

Flatpak runs as a container in the Fedora platform, therefore we are supposed to enable remote testing on our system.

Add remote testing

$ flatpak remote-add fedora-testing oci+https://registry.fedoraproject.org#testing

Enable remote testing

$ flatpak remote-modify --enable fedora-testing

Test Flatpak

To know if it’s working try the following command.

$ flatpak install fedora-testing org.fedoraproject.Platform/x86_64/f35
Looking for matches…
Info: org.fedoraproject.Platform//f34 is end-of-life, with reason:
   Fedora 34 runtime is no longer supported.


        ID                           Branch Op   Remote         Download
        ID                           Branch Op   Remote         Download
 1. [✓] org.fedoraproject.Platform   f35    i    fedora-testing 672.8 MB / 672.8 MB

Installing… ████████████████████ 100%  112.1 MB/s  00:00

6. Enable Flathub

Flathub is an app repository in Flatpak. It’s like Dockerhub for docker images. So to install any app you want to use run the following command.

$ sudo wget https://flathub.org/repo/flathub.flatpakrepo

For some reason, the following command can work alone on GNOME and KDE Fedora installation. If it fails for some reason add Fathub remote manually with the following command.

$ flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

Install app with Flathub

Let’s look at an example of how to install an application using Flathub. Let’s install steam

$ flatpak install flathub com.valvesoftware.Steam

You will see the following

Looking for matches…
Required runtime for com.valvesoftware.Steam/x86_64/stable (runtime/org.freedesktop.Platform/x86_64/21.08) found in remote flathub
Do you want to install it? [Y/n]: y

com.valvesoftware.Steam permissions:
    ipc                      network                  pulseaudio                     wayland           x11
    devices                  bluetooth                devel                          multiarch         per-app-dev-shm
    file access [1]          dbus access [2]          system dbus access [3]         tags [4]

    [1] xdg-music:ro, xdg-pictures:ro, xdg-run/app/com.discordapp.Discord:create
    [2] org.freedesktop.Notifications, org.freedesktop.PowerManagement, org.freedesktop.ScreenSaver, org.gnome.SettingsDaemon.MediaKeys,
        org.kde.StatusNotifierWatcher
    [3] org.freedesktop.NetworkManager, org.freedesktop.UDisks2, org.freedesktop.UPower
    [4] proprietary


        ID                                               Branch            Op            Remote            Download
        ID                                               Branch            Op            Remote            Download
 1. [✓] org.freedesktop.Platform.Compat.i386             21.08             i             flathub            88.2 MB / 101.4 MB
 2. [✓] org.freedesktop.Platform.GL.default              21.08             i             flathub           130.9 MB / 131.2 MB
 3. [✓] org.freedesktop.Platform.GL32.default            21.08             i             flathub           109.0 MB / 138.5 MB
 4. [✓] org.freedesktop.Platform.Locale                  21.08             i             flathub            17.7 kB / 325.8 MB
 5. [✓] org.freedesktop.Platform.openh264                2.0               i             flathub             1.5 MB / 1.5 MB
 6. [✓] org.freedesktop.Platform                         21.08             i             flathub           154.4 MB / 199.6 MB
 7. [✓] com.valvesoftware.Steam                          stable            i             flathub            12.6 MB / 13.8 MB

Installing 7/7… ████████████████████ 100%  12.6 MB/s

To run steam do the following

$ flatpak run com.valvesoftware.Steam

Conclusion

We have successfully installed Flatpak on Fedora 35. To learn more about Flatpak, use its documentation. I hope you enjoyed and learned something new.

About Mason Kipward

I am a technology enthusiast who loves to share gained knowledge through offering daily tips as a way of empowering others. I am fan of Linux and all other things open source.
View all posts by Mason Kipward →

Leave a Reply

Your email address will not be published.