After demonstrating how to install and setup the Workstation edition, we move on to demonstrate how to do the same with Fedora Silverblue 36, an immutable desktop system that largely relies on Flatpak and containers to keep the user (and apps) isolated from the operating system.
In this article, we'll demonstrate both Fedora Silverblue installation and setup. We'll also go over some fundamental ideas so that users don't get lost when using GNOME Software, as well as how to repair the terrible problem that appeared on the day the system was introduced. We caution that although the installation is quite similar to Workstation, the setup could surprise some people.
An unfinished product
It's important to note that Fedora Silverblue is presently an imperfect product, and pretty unfinished on certain fronts before we get into the flour.
The user could discover, for example, that the system is unable to save the brightness of the laptop after it has shut down, or that even after establishing a password for disk encryption, the keyboard layout is always set to US English and never in the user's language. Additionally, removable USB drives are available; these may be extracted and played.
Despite its evident immaturity, the system has a lot of stability and requires relatively little upkeep. However, it is clear that there are numerous flaws that must be fixed before it can become a product that is truly suited for production.
Another thing to remember is that it does not get along well with multiple booting with other operating systems, so heed my warning if you encounter difficulties getting it to get along with Windows or other Linux distributions.
In spite of everything, and if one is willing to put up with its flaws, Fedora Silverblue may provide a distinctive, revitalizing, and even disruptive Linux experience in contrast to the traditional changeable systems that have been and are still the rule.
Some basics of Fedora Silverblue
We won't go into detail on what the system is and what it comprises in this article. Instead, we'll offer a quick overview of some of the most basic ideas to give you an idea.
Since Fedora Silverblue is an immutable operating system, as we've already mentioned, a sizable portion of the file system is read-only and cannot be changed, not even with root permissions. We discover that "/mnt" has been changed to "/var/mnt" and "/home/" has been moved to "/var/home" since the directories "/usr" and "/bin" are read-only, but "/etc" does allow modifications.
Although "/home" does exist, it is a symbolic link that leads to "/var/home," which is the official location and the one to specify in case you build a Btrfs subvolume or separate the user directories into a separate partition. As a result, the new location of the user folders is essential. The worst part is that the installer hasn't been changed yet, thus you have to manually specify the '/var/home' location.
Another important problem is that the base image of the system, which is composed of RPM packages, has a type of "hard core" that cannot be removed in the typical manner. The override from rpm-ostree option, which in fact "hides" the package, is required to remove a part of that "hard core."
Since we've already spoken about the package manager, let's briefly discuss OSTree, the update mechanism for Linux-based operating systems that executes atomic updates. To cut to the point, each update creates a new system image that may be used as a backup in case the previous one fails either permanently or temporarily.
The technologies Buildah, Podman, Toolbox, and Flatpak are all intended towards eliminating the user from the system. The first is a tool for containerization, the second and third are different-purpose container engines, and the fourth at this moment doesn't require an introduction. Because the goal of this post is to get Fedora Silverblue ready for basic desktop, office, and gaming via Steam, we will solely discuss Flatpak in this section.
Installing Fedora Silverblue 36
Although the installation of Fedora Silverblue and Workstation are relatively similar, there are a few peculiarities that you should be aware of if you want to partition manually.
The system we're working with doesn't have a live session, so as soon as we launch the installation media, we run into the prospect of launching Anaconda, the installer that even now still causes controversy. On this screen, select "Install Fedora 36" by pressing the enter key.
1. Language selection
The user will be given the opportunity to choose the Anaconda language after declaring their desire to install Fedora Silverblue (and what to do when there isn't a live session).
Similar to Fedora Workstation, once the language has been chosen, you are sent to Anaconda's main page where you may set the keyboard layout, the language (again), the date and time, and the installation location (the hard drive(s) or SSD(s) that will house Fedora Silverblue).
2. Changing the keyboard layout
By going to the "Keyboard" area of Anaconda, the user may modify the keyboard layout as desired. The rest of the time, we are in the same situation as Workstation, where this step is theoretically optional.
It is simple to add keyboard layouts. To accomplish this, just click the Plus (+) icon that appears in the graphical user interface, conduct a search, choose the distribution, add it using the "Add" button, and then upload it first with the upload button (^). Click the "Done" button to put the changes into effect (located at the top left).
3. Language support
You can expand the system installation's language options in this part, which is separate from Workstation. This stage is originally optional (depending on the user's requirements and preferences), and managing it is as easy as choosing a language from the list on the left and then picking the versions you wish to add (or delete) from the list of choices on the right. Once the desired languages have been chosen, click "Done."
4. Setting system time via NTP
Make sure the "Network time" option is enabled in the "Date and time" configuration's top right corner before choosing the location (logically the geographical place where the user is). Click "Done" when you have finished the two steps.
5. Configuring partitions in Fedora Silverblue 36
The partition setup is nearly identical to that of Workstation, with the difference that you must mount or specify the user folders in '/var/home' rather than '/home' if you want to separate them onto a different partition or subvolume. However, with Fedora Silverblue, that path is really a symbolic link to "/var/home," thus it is suggested and orthodox to use the latter. Anaconda mounts the files in "/home" by default, and it may work (in Kinoite it is anyway, in case anyone asks).
Additionally, since we essentially use the same installer, the partitions are configured in the "Installation Destination" section. Although the procedure is not complex in and of itself, Fedora offers two installers: the standard one and Blivet. The default one doesn't differentiate between the computer's drives in order to maximize the usage of LVM, but Blivet has a layout much closer to GParted. Both will be covered in this guide so that the user has all of his options available.
However, before going into how partitioners are used and for less experienced users, it should be noted that Fedora Silverblue is an operating system that welcomes you to use automated partitioning, however, LinuxTechCrunch is not liable for any unfavorable effects that its use may have. The most crucial step in a scenario like this is to create backup copies in advance, which makes sense.
5.1 Official partitioner
LVM, which enables you to build partitions that span multiple drives, is the method that the official Fedora partitioner is focused on using. By choosing the local standard disks that will be included in the system installation from the "Storage configuration" menu, choosing the Custom option, and then clicking "Done," you may manually configure it. The user has the choice to enable encryption for the mount points that are generated automatically.
The EFI boot partition must first be made because we are emulating the installation on a PC with UEFI but Secure Boot turned off. To accomplish this, you must first decide whether you want to work with standard partitions, LVM, Btrfs, or LVM Lightweight Provisioning (this section of the tutorial has been written with the first two options in mind, standard partitions, and LVM). Then, you must click on the Plus button (+) of the graphical interface, enter "/boot/efi" as the mount point, set the capacity to 1GiB, and then click on the "Add mount point" button.
We'll set up an EXT4 boot partition since Fedora Silverblue is particular about how it's configured. This will guarantee that the system will operate properly. To achieve this, click the addition (+) button in the graphical interface, choose "/boot" as the mount point, and click "Add mount point" after setting the capacity to 1GiB.
The root partition must next be created, beginning by choosing the remaining empty space and once more pressing the Plus (+) button. We will make a Btrfs volume for the system root partition as Btrfs is now the default filesystem. Remember that the user folders must be mounted or indicated in "/var/home" if you wish to split them.
Fedora 34 updated the setup parameters for the default swap over ZRAM configuration to consume 100% of the RAM up to a maximum of 8 GiB. Because of this, you no longer need to establish a swap partition unless you plan to hibernate or have a highly customized configuration. We won't use the swap partition since we will only take into account desktop and gaming scenarios in this tutorial and we will assume that the machine has at least 4GB of RAM (which is the minimum needed to use Fedora on a desktop in a usable manner).
You can click the "Done" button to go back to the main Anaconda page once the bare minimum number of partitions have been created (in the event that there was extra space, it would be helpful to divide the root from the home in "/var/home"). Then choose "Start the installation" to begin installing Fedora Silverblue using the chosen options.
5.2 Blivet Partitioner
Simply choose the "Advanced Custom (Blivet-GUI)" option under "Storage Settings" next to the disks that will be used for the Fedora Silverblue 36 installation to access the Blivet partitioner. Once more, the "Done" button is pressed to enter the Blivet partitioner itself.
If you're starting with a hard drive or SSD that is totally empty, you must first access the Blivet partitioner before creating the partition table (needless to say, if the Linux partitions already exist, it would only be necessary to mount them and format the root location). You may accomplish this by selecting "Set partition table" from the gear icon. GPT must be used in UEFI systems, so choose that partition table format before clicking "Accept."
You may begin building partitions by clicking the addition (+) button in the graphical interface once the partition table has been established (if you need it, which is probably not the case). The EFI boot partition, with a capacity of 1 GiB, the file system "EFI System Partition," and the mount point "/boot/efi," make up the first partition. Once you've completed all the instructions, press OK.
On EXT4, the second partition is used to make the boot partition. Select the available disk space, then use the graphical interface's Plus button (+) once again to set the size to 1 GiB, the file system to "EXT4", and the mount point to "/boot", Click the OK button once you've completed all the steps.
The system's root is located on the third partition. To accomplish this, choose the disk's available space and press the addition (+) button once again on the graphical user interface. We allow all of the remaining space to a Btrfs volume, which will be utilized by root, as we have chosen to go with what the system recommends by default (we are ignoring the case of splitting root and home into two subvolumes). It is no longer essential to building the swap partition due to the new ZRAM requirements that have been applied unless you wish to employ hibernation or a highly specific setup.
Once all of the partitions have been defined, click "Done" on the Blivet interface, check that the changes you wish to make will take effect, and then click "Start the installation" on the Anaconda installer's home screen.
6. Welcome and getting started with Fedora Silverblue 36
Similar to the Workstation edition, Fedora Silverblue 36 shows the system welcome screen, where you can set up the essentials of privacy, activate third-party repositories for Google Chrome, NVIDIA driver, Steam, and PyCharm, and add additional users (Google, Microsoft, and Nextcloud) to your system.
The user will be questioned regarding location service privacy after the splash screen. Currently, Silverblue does not offer the option to automatically report issues.
Steam, PyCharm, the NVIDIA driver, and Google Chrome are all indirectly provided through third-party repositories, such as the Workstation edition. The NVIDIA driver, Steam, and web browser are all from Google's own repositories. PyCharm is offered through Copr, a project that aims to make it simpler to create and manage third-party repositories.
Alternately, using GNOME Software, individual third-party repositories can be activated. In order to get the udev rules for Steam controllers from there, it would be preferable to activate the related repository.
It is possible to set up online accounts for Google, Nextcloud, and Microsoft services, however in the case of the Redmond behemoth, only the Outlook account (formerly Hotmail) is accessible through the IMAP protocol. As we previously stated, the user's needs and preferences will determine whether or not to use this feature.
The establishment of the first user, who would have administrative rights through sudo, is the essential last step. It goes without saying that choosing a strong password is important, especially if Fedora Silverblue 36 has been installed on a laptop that could be used away from home. In this case, disk encryption is also strongly advised (Yes, the issue with the password passthrough only being able to use the US English keyboard layout comes to mind).
The welcome tour follows, which is obviously superfluous for those who are already familiar with the desktop environment and distribution.
7. How to fix brightness on laptops and the annoying bug that snuck in on launch day
The integration of Flatpak and rpm-ostree with GNOME Software was broken by a bug in Fedora Silverblue 36 on the same day of release. The system leaves a very terrible impression the first time it is run even though the problem has been fixed for weeks but is still there on the installation media.
We will give two solutions in this section for the issue that existed in the system's original image. In contrast to the latter, which necessitates using a terminal but is completely successful, the former does not need opening one and may fail.
7.1 First way to fix the launch day bug
The first step is to launch GNOME Software and log in, then wait for around 10 minutes. Your connection speed will determine how long it takes, but in general, you only need to wait until the next rpm-ostree issue shows up (if it doesn't, you can wait 10 or 15 minutes and reboot).
The integration with rpm-ostree should likely function properly once again after waiting the specified period of time, so you may update the base system image by following the regular method after closing GNOME Software and restarting the computer.
7.2 Second way to fix the launch day bug
This is quicker and more powerful since there is no waiting involved. As easy as rebooting after doing a regular update with the console:
rpm-ostree update
systemclt reboot
Most likely, rpm-ostree is occupied attempting to complete the upgrading procedure. If you find yourself in such circumstance, you must stop what you are doing by issuing the following command:
rpm-ostree cancel
7.3 Making brightness save on Fedora Silverblue laptops
Another issue that prohibited preserving the brightness on laptops existed in Fedora 35 Silverblue, and it could still exist in Fedora 36 if it has received an upgrade or is there simply because it is. Restarting the shine service is one solution to resolve this.
sudo systemctl restart systemd-backlight@backlight\:intel_backlight.service
8. How updates work in Fedora Silverblue
Fedora Silverblue is often updated via GNOME Software, a program that still needs work to be completely effective. There are two parts in the Updates section.
The system image, which is updated above, is made up of RPM packages, and the user has been allowed to add items by installing parts or programs in that format. A new version of the system image is created throughout each update procedure, but it doesn't function until after a reboot. By removing a common issue with hot updates -a conflict between the versions of the running libraries and the binaries- you are able to carry on working worry-free. On the other side, because the new system image is fully created but not yet run, it also disables offline updates.
The Flatpak-formatted programs listed below should update automatically (that is, they are updated hot). The hot updating of apps is significantly more secure than using the conventional package format since it is independent of the operating system. However, it is advised to sometimes open GNOME Software in case an application has fallen behind or hasn't automatically updated since more permissions are needed. Then all you have to do is press the "Update all" button.
The integration of rpm-ostree with GNOME Software has much improved, but there is still room for improvement. As a result, the user may discover that the update does not function through the graphical application. There is also always the option to upgrade the system image via the console:
rpm-ostree update
And more of the same for Flatpak:
flatpak update
The concept behind how Fedora Silverblue must be updated ultimately resembles Android more so than a "typical" Linux system, such as the changeable ones that have traveled with us through the years with SUSE, Mandrake, Ubuntu, Debian, SUSE, etc.
9. RPM Fusion Configuration in Fedora Silverblue 36
On Fedora Silverblue, properly configuring RPM Fusion is a little difficult. If a user just follows the conventional process, the packages in the repositories are installed locally rather than being layered after running the command rpm-ostree status. As a result, RPM Fusion packages are not updated in the typical manner, which increases the risk of package breakdown.
Installing the repositories in the typical manner, followed by a system reboot, is the first step towards properly configuring RPM Fusion on Fedora Silverblue.
sudo rpm-ostree install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
systemctl reboot
Execute the following command after rebooting, then restart it again (if you're using a different version of the system, it's best to first check at the "LocalPackages" field and modify what comes after the --uninstall for the version that shows there):
rpm-ostree update --uninstall rpmfusion-free-release-36-1.noarch --uninstall rpmfusion-nonfree-release-36-1.noarch --install rpmfusion-free-release --install rpmfusion-nonfree-release
systemctl reboot
And once you've completed those steps, RPM Fusion ought to be layered, allowing your repositories' packages to update regularly.
Since Fedora Silverblue prefers to use apps in Flatpak format rather than RPM, as we have already stated, we advise using RPM Fusion exclusively to install drivers or programs that are not in Flatpak or AppImage format (yes, it is preferable to use AppImage before what RPM). It would be helpful to provide Firefox's RPM version the appropriate multimedia capability if you wish to use it.
rpm-ostree install gstreamer1-libav gstreamer1-plugins-bad-free-extras gstreamer1-plugins-bad-freeworld gstreamer1-plugins-good-extras gstreamer1-plugins-ugly gstreamer1-plugin-openh264 mozilla-openh264 openh264 webp-pixbuf-loader gstreamer1-plugins-bad-free-fluidsynth gstreamer1-plugins-bad-free-wildmidi gstreamer1-svt-av1 libopenraw-pixbuf-loader gstreamer1-vaapi libva-utils libva-intel-driver intel-media-driver
systemclt reboot
This server only utilizes partial enablement to retrieve Steam udev rules for controllers and does not setup the complete RPM Fusion repositories. The NVIDIA driver and the udev rules to integrate the drivers into Steam should eventually replace the usage of RPM Fusion as Fedora Silverblue develops.
10. Installing the NVIDIA driver on Fedora Silverblue
Due to its high reliance on Flatpak, Fedora Silverblue does not appear to be the greatest choice to use with the official NVIDIA driver, and this is made worse by the issues that the driver may create with the design and functionality of the system. Standardization annoys NVIDIA, who boasts about it.
In light of this, we'll just do what the RPM Fusion manual instructs and wish the user luck. Unsurprisingly, after installing the driver and akmod, a reboot is necessary.
sudo rpm-ostree install akmod-nvidia xorg-x11-drv-nvidia
sudo rpm-ostree install akmod-nvidia xorg-x11-drv-nvidia-cuda #optional if using nvidia-smi or cuda
sudo rpm-ostree kargs --append=rd.driver.blacklist=nouveau --append=modprobe.blacklist=nouveau --append=nvidia-drm.modeset=1 # this might not be necessary at some point, when Silverblue supports the standard way of specifying this
11. Flathub setup and removal of Firefox in RPM format
At this time, it should go without saying that the primary method for installing software on Fedora Silverblue is through Flatpak. We'd like to take this opportunity to remind you that Silverblue or Kinoite's Workstation edition should be used if you prefer RPM-format software.
The process for configuring Flathub in Fedora Silverblue is the same as for the Workstation edition: download the configuration file, execute it using GNOME Software, then reboot to complete.
First, select the distribution icon from the Quick Setup area and then click the "Flathub repository file" button to download the file.
By selecting the "Open with Install Software" option after right-clicking on the Flathub configuration file, you may open it using GNOME Software.
In order for the modifications to take effect, it is still necessary to install the Flathub repository by selecting the Install option from the GNOME Software window and restarting the user session.
Following a session restart, GNOME Software launches once more in order to install the Flatpak version of Firefox from Flathub. Once the application store has been opened, you must search for Firefox and select the entry that displays but does not have the installed indicator.
Once there, select "Install", but only after confirming that the program is from Flathub.
The removal of the RPM version of Firefox is the last step, and it is done by running the following command:
rpm-ostree override remove firefox
This procedure removes the package that is in charge of offering Firefox in RPM form via the Fedora repository. It provides a function more akin to a shroud than a genuine uninstall procedure. The user will therefore continue to observe Firefox being updated by GNOME Software using the RPM package.
A new system image is created using the command rpm-ostree override and may be brought up by performing a standard reboot from the GUI or console:
systemctl reboot
The user will have realized by this time that Fedora Silverblue is extremely devoid of applications -it doesn't even include an office suite. This gives the user a more open option to install applications they actually enjoy, such as ONLYOFFICE instead of LibreOffice (Flatpak builds of both suites are official).
12. Installing GNOME Shell Extensions
Integration with frequently used GNOME extensions is lost with the RPM version of Firefox out of the running. The "Extension Manager" program, which is in charge of providing an interface with which you may search for and install extensions, is an alternative to using the Firefox RPM build in this situation.
13. Installing Steam on Fedora Silverblue
While we are working with an operating system that proudly displays the Flatpak logo, installing Steam in that format is its responsibility. The procedures to be followed here are largely the same as those for the Workstation edition, with the udev rules being installed via rpm-ostree. Installing the Proton Glorious Eggroll Flatpak build and the Steam client comes first (because Fedora 36 ships Flatpak 1.12, Steam client-supplied Proton builds work).
flatpak install com.valvesoftware.Steam com.valvesoftware.Steam.CompatibilityTool.Proton-GE
The udev restrictions for integrating drivers with Valve's platform client are still in place, even if Steam and Proton Glorious Eggroll have already been loaded. Installing the RPM package, which is acquired via rpm-ostree, and restarting the system are basically identical steps to those in the Workstation edition that must be followed in this case.
rpm-ostree install steam-devices
Installing MangoHud, the well-known overlay in charge of showing performance-related statistics is an option. Once more, if Flatpak appeals to you, there are two ways to install it:
flatpak install org.freedesktop.Platform.VulkanLayer.MangoHud
14. Graphical configuration of SELinux and the firewall
Since Flatpak does not function at the root level, the graphical firewall (firewalld) and SELinux settings must be installed using RPM packages provided by Fedora. Because the SELinux configuration tool sometimes causes issues with Fedora Silverblue, we will in this instance divide the installation steps.
Run this and then restart your computer to install the firewall application:
rpm-ostree install firewall-config
While with the SELinux setup, the same steps are taken, but a different package is installed:
rpm-ostree install policycoreutils-gui
Conclusion
As we can see, Fedora Silverblue represents a fundamental shift from the "conventional" Linux desktop that we have seen for more than two decades and is not merely a Workstation with a portion of its file system set to read-only.
For the time being, it is a work in progress with a lot of potentials. On the one hand, the system has already demonstrated remarkable stability and strong foundations, but on the other, there are still a few edges that need to be polished, such as the use of the proper keyboard layout in disk encryption, issues with multibooting (at least with Windows), and a Flatpak that hasn't yet proven to be a complete replacement for "traditional" packages.
With its advantages and disadvantages, Fedora Silverblue is a Linux system worth considering, especially if you're searching for a desktop that requires little upkeep.
0 Comments