Fedora 32 Review [KDE Spin] Supplement: Fixes and Enhancements

May 21, 2020, 11 p.m.

Fedora 32 KDE Spin, as you know if you have read Fedora 32 Review [KDE Spin], is an excellent distribution where the FOSS Nouveau driver used by default works out-of-the-box. But Fedora, because of its policy of not including non-FOSS software in its repositories does require one essential fix. This article describes the fix and some of the enhancements that I like to make.

Fixes

It is essential to enable the third-party RPM Fusion repositories -- which serve a similar purpose to the Packman repositories for openSUSE -- in Fedora in order to be able to install software such as NVIDIA graphics drivers, multimedia codecs for encoding and decoding some formats, and VirtualBox, usually considered FOSS by other distributions with a similar policy as Fedora with respect to the licenses of software included in the distribution.

RPM Fusion provides instructions for adding its reposiories using command line tools in various Fedora variants in a terminal and using Firefox. The terminal commands specific to Fedora Workstation and Spins are reproduced here for your convenience.

  1. Enable both the free and non-free RPM Fusion repositories:
    sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
    This command installs the packages rpmfusion-free-release-32.noarch.rpm and rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm directly from the RPM Fusion repository before they are enabled on the system. The shell variables in the command $(rpm -E %fedora) expands to "32".
  2. Enable the AppStream software metadata used by software stores such as GNOME Software and Discover:
    sudo dnf groupupdate core
    This command installs packages necessary to provide this service to in our case, Discover, which is the only software store that needs this service installed on Fedora 32 KDE Spin.
  3. Install the software, codecs, etc. that complement multimedia software that use gstreamer, a sound related backend for multimedia programs.
    sudo dnf groupupdate multimedia --setop="install_weak_deps=False" --exclude=PackageKit-gstreamer-plugin
    This and the next command update existing multimedia software or if there are not newer versions installs them from the RPM Fusion repositores which have higher priority for these applications.
  4. Install the software, codecs, etc. that complement other multimedia softwarw that do not use gstreamer.
    sudo dnf groupupdate sound-and-video
  5. Enable the FOSS tainted RPM Fusion repository:
    sudo dnf install rpmfusion-free-release-tainted
    The repository includes FOSS software with restricted usage in some countries.
  6. The following command installs one such package, which alows DVD playback, is one example of such software:
    sudo dnf install libdvdcss
  7. Enable the non-FOSS tainted RPM Fusion repository:
    sudo dnf install rpmfusion-nonfree-release-tainted
  8. Install firmware from RPM Fusion repositories:
    sudo dnf install \*-firmware
    This may be skipped as it will provide to the system a lot of firmware for which devices do not exist on the system. It may be better if you know you have a need for certain firmware not provided by Fedora to search for a more specific package, for example -firmware and install the relevant one. Also note that when I ran this command there was a conflict with an existing firmware package. I just ignored the error and did not execute the command again.

I ran these commands even before the first update without any problems in order to save the time that would take to update the multimedia programs from Fedora repositories and then again from RPM Fusion. It may be safer to fully update Fedora then run these commands.

Enhancements

I installed VirtualBox, which is not available from Fedora, after enabling RPM Fusion. RPM Fusion provides the following commands on its VirtualBox HowTo page.

  1. Install VirtualBox and needed tools and kernel headers:
    sudo dnf install VirtualBox kernel-devel-$(uname -r) akmod-VirtualBox akmods
    This commadn installs VirtualBox the installed kernel version specific headers, determined by the shell variable $(uname -r) in the command akmods, which is a tool similar to dkms for building needed kernel modules, and akmod-VirtualBox which is apparently something needed by akmods for building modules specifically for VirtualBox.
  2. Restart the systemd service that loads kernel modules:
    systemctl restart systemd-modules-load.service
    This will load the kernel modules built as a result of the previosu command that are needed by VirtualBox.
  3. Add your user to a group created by the VirtualBox installation, vboxusers:
    usermod -a -G vboxusers username
    Don't forget to change username to your actual username.
The VirtualBox HowTo page also provides other useful tips regarding VirtualBox updates.

Other enhancements included installing the Aritim-Light and Aritim-Dark themes and installing LiquidPrompt. This is an excellent way to make the prompt visually interesting while providing useful information, such as battery level, system temperature, time for last command completion, date and time, and information from various Source Configuration Management (SCM) tools including Git, among others.

`

Conclusion

Fedora is a great distribution but in order to make it really usable, or in some cases, functional, get full performance of graphics hardware by using proprietary drivers, make multimedia software provide by Fedora filly-functional and have access to other software not distributed by Fedora, it is essential to enable the RPM Fusion repositories.