Note

The Funtoo Linux project has transitioned to "Hobby Mode" and this wiki is now read-only.

Difference between revisions of "Flatpak"

From Funtoo
Jump to navigation Jump to search
 
(19 intermediate revisions by 9 users not shown)
Line 1: Line 1:
Flatpak is a container based method of using software. Flatpak software once installed works on any linux distribution as long as you have the Flatpak framework installed.
Flatpak is a container-based method of using software. Flatpak software once installed works on any Linux distribution as long as you have the Flatpak framework installed.


<h1> Installing </h1>
== Prepping the Kernel ==
This guide is based off of the one created by Sakaki on github found [https://github.com/sakaki-/gentoo-on-rpi-64bit/wiki/Install-Flatpak-Applications-on-your-RPi here]. Their guide is meant for an RPi install of Gentoo.
Run the following command to enable kernel to generate namespaces for non-root users.
 
<h2> Prepping the Kernel </h2>
Run the following command and reboot the machine to enable kernel to generate namespaces for non-root users.
{{console|body=
{{console|body=
###i## echo 1 > /proc/sys/kernel/unprivileged_userns_clone
# ##i##echo 'kernel.unprivileged_userns_clone=1' > /etc/sysctl.d/unprivileged_userns_clone.conf
# ##i##echo 'kernel.unprivileged_userns_clone=1' > /etc/sysctl.d/unprivileged_userns_clone.conf
}}
}}


<h2> Setting up the Overlay </h2>
You will also need to ensure that the {{c|fuse}} module is loaded by default. This does not happen automatically using the official {{c|debian-sources}} kernel. To do this, type:
Run the following command and add the following info before saving.
 
<br>


{{console|body=
{{console|body=
# ##i##nano -w /etc/portage/repos.conf/flatpak-overlay.conf
###i## modprobe fuse
}}
}}


{{file|name=/etc/portage/repos.conf/flatpak-overlay.conf|desc=An example flatpak-overlay file|body=
To make this permanent, add the following line to {{c|/etc/conf.d/modules}}:
[flatpak-overlay]
 
priority = 50
{{file|name=/etc/conf.d/modules|body=
location = /usr/local/portage/flatpak-overlay
modules="fuse"
sync-type = git
sync-uri = https://github.com/fosero/flatpak-overlay.git
auto-sync = Yes
}}
}}


You will also need to edit the categories file and add the following.
== Installing Flatpak ==
You can now install Flatpak with the following command.
{{console|body=
{{console|body=
# ##i##nano -w /etc/portage/categories
# ##i##emerge -v sys-apps/flatpak
}}
}}


{{file|name=/etc/portage/categories|desc=An example categories file|body=
== Setting up the Flathub Repos ==
acct-group
To add the Flathub repo to Flatpak you just need to run the following command, an important note is most Flatpak commands '''DO NOT''' need root and can be run as a standard user. To run the commands as a standard user, supply the --user option.  In several cases you '''MUST''' run commands as a user, such as update.
acct-user
}}
Without this change to the /etc/portage/categories Flatpak will not install correctly and can cause compatibility issues with any flatpak software.


You do need to update the /etc/portage/package.accept_keywords file with the following information.
{{console|body=
{{console|body=
# ##i##nano -w /etc/portage/package.accept_keywords
$ ##i##flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo --user
}}
{{file|name=/etc/portage/package.accept_keywords|desc=An example package.accept_keywords file|body=
# required by flatpak
sys-apps/flatpak * ~*
# dependencies of flatpak
acct-group/flatpak * ~*
acct-user/flatpak * ~*
dev-util/flatpak-builder * ~*
sys-apps/xdg-desktop-portal-gtk * ~*
sys-fs/libostree * ~*
}}
}}


At this point you will want to update your repos with ego sync
== Installing Flatpak Software ==
 
For Funtoo most of the time you would install the Flatpak software through the terminal like so:
{{console|body=
{{console|body=
# ##i##ego sync
$ ##i##flatpak install flathub com.valvesoftware.Steam
}}
}}


You can now install Flatpak with the following command.
*install steam udev rules:
{{console|body=
{{console|body=
# ##i##emerge -v sys-apps/flatpak
###i## wget https://raw.githubusercontent.com/ValveSoftware/steam-devices/master/60-steam-input.rules -O /etc/udev/rules.d/60-steam-input.rules
###i## wget https://raw.githubusercontent.com/ValveSoftware/steam-devices/master/60-steam-vr.rules -O /etc/udev/rules.d/60-steam-vr.rules
###i## udevadm control --reload-rules
###i## udevadm trigger
}}
}}
<h2> Setting up the Flathub Repos </h2>
To add the Flathub repo to Flatpak you just need to tun the following command, an important note is most Flatpak commands DO NOT need root and can be run as a standard user.


All of the software from the Flathub repo has the terminal commands listed on their individual pages on the Flatpak website. If you install gnome-extra/gnome-software you can have a graphical interface for installing the software locally.
{{console|body=
{{console|body=
%FenixFeniks% ##i##flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
# ##i##emerge -av gnome-extra/gnome-software
}}
}}


<h2> Installing Flatpak Software </h2>
== Running Something Installed with Flatpak ==
For funtoo most of the time you would install the Flatpak software through the terminal like so:
{{console|body=
{{console|body=
%FenixFeniks% ##i##flatpak install flathub com.valvesoftware.Steam  
$ ##i##flatpak run com.valvesoftware.Steam
}}
}}
All of the software from the Flathub repo has the terminal commands listed on their individual pages on the Flatpak website. If you install gnome-extra/gnome-software you can have a graphical interface for installing the software locally.
 
== Updating Flatpak Software ==
While Flatpak does a good job of installing the latest version of required packages when you manually install them, existing package updates must be triggered manually.
{{console|body=
{{console|body=
# ##i##emerge -av gnome-extra/gnome-software
$ ##i##flatpak update
}}
}}


<h2> Important Notes for Nvidia Driver Users </h2>
== Important Notes for Nvidia Driver Users ==
During the installation of applications like Steam through the terminal after first install of Flatpak, Flatpak should detect that you are using the Nvidia drivers and have you select the correct one for it to use from the list. Make sure you select the driver that matches your system's driver. This has not been tested if you are installing software for the first time with gnome-software.
During the installation of applications like Steam through the terminal after first install of Flatpak, Flatpak should detect that you are using the Nvidia drivers and have you select the correct one for it to use from the list. Make sure you select the driver that matches your system's driver. This has not been tested if you are installing software for the first time with gnome-software.
[[Category:HOWTO]]

Latest revision as of 04:00, February 17, 2024

Flatpak is a container-based method of using software. Flatpak software once installed works on any Linux distribution as long as you have the Flatpak framework installed.

Prepping the Kernel

Run the following command to enable kernel to generate namespaces for non-root users.

root # echo 1 > /proc/sys/kernel/unprivileged_userns_clone
root # echo 'kernel.unprivileged_userns_clone=1' > /etc/sysctl.d/unprivileged_userns_clone.conf

You will also need to ensure that the fuse module is loaded by default. This does not happen automatically using the official debian-sources kernel. To do this, type:

root # modprobe fuse

To make this permanent, add the following line to /etc/conf.d/modules:

   /etc/conf.d/modules
modules="fuse"

Installing Flatpak

You can now install Flatpak with the following command.

root # emerge -v sys-apps/flatpak

Setting up the Flathub Repos

To add the Flathub repo to Flatpak you just need to run the following command, an important note is most Flatpak commands DO NOT need root and can be run as a standard user. To run the commands as a standard user, supply the --user option. In several cases you MUST run commands as a user, such as update.

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

Installing Flatpak Software

For Funtoo most of the time you would install the Flatpak software through the terminal like so:

user $ flatpak install flathub com.valvesoftware.Steam
  • install steam udev rules:
root # wget https://raw.githubusercontent.com/ValveSoftware/steam-devices/master/60-steam-input.rules -O /etc/udev/rules.d/60-steam-input.rules
root # wget https://raw.githubusercontent.com/ValveSoftware/steam-devices/master/60-steam-vr.rules -O /etc/udev/rules.d/60-steam-vr.rules
root # udevadm control --reload-rules
root # udevadm trigger

All of the software from the Flathub repo has the terminal commands listed on their individual pages on the Flatpak website. If you install gnome-extra/gnome-software you can have a graphical interface for installing the software locally.

root # emerge -av gnome-extra/gnome-software

Running Something Installed with Flatpak

user $ flatpak run com.valvesoftware.Steam

Updating Flatpak Software

While Flatpak does a good job of installing the latest version of required packages when you manually install them, existing package updates must be triggered manually.

user $ flatpak update

Important Notes for Nvidia Driver Users

During the installation of applications like Steam through the terminal after first install of Flatpak, Flatpak should detect that you are using the Nvidia drivers and have you select the correct one for it to use from the list. Make sure you select the driver that matches your system's driver. This has not been tested if you are installing software for the first time with gnome-software.