There is an updated version of this guide for newer Fedora versions.

Fedora 28 Installation and Configuration

This page covers basic steps I usually take during and after a clean installation of Fedora GNU/Linux operating system on my computers. In this guide, the installed Fedora version is Fedora Workstation 28, and the computer is 64-bit UEFI-based x86 machine. Do not try any of the following commands if you don't know what they mean, especially commands that begin with with sudo. You proceed at your own risk.

Created
August 15, 2018
Updated
August 16, 2018

Download Installation Media

Download the installation image from https://getfedora.org/en/workstation/download, check SHA checksum and follow their instructions to successfully create an installation drive from the image. More information on how to create the installation media can be found at a Fedora Docs page. I usually use the dd tool, which is destructive for data on the target drive.

$ sudo dd if="Fedora-Workstation-Live-x86_64-28-1.1.iso" of="/dev/DRIVE" bs=8M status=progress oflag=direct

It might also be helpful to see Release Notes and Installation Guide, both links are provided at the Fedora download page.

Before Installation

If you want to install Fedora as the secondary operating system (dual boot), don't forget to back up the contents of /boot/efi/EFI/Boot/ directory on your hard drive. It usually contains default boot files which may be overwritten during Fedora installation.

If installing on an SSD, it might also be a good idea to TRIM all of its space. Once installed, it will be possible to easily TRIM only partitions formatted with supported file system. Just issue one blkdiscard command, there's no extra need to Secure-Erase the drive.

$ sudo blkdiscard /dev/DRIVE

Installation

The installation is pretty straightforward. During partitioning, you may need to leave some free space for SSD over provisioning. Note: On my Samsung 840 Evo it looks like partition reserved space is used instead of free space though. Don't bother with leaving unpartitioned free space for SSD over-provisioning. See my Fedora Configuration Notes page for more details.

After Installation

These are my recommended steps to do after the installation. Neither of them is required for Fedora to work, but they can simplify your life.

Install Updates

Install all available updates and reboot. I still prefer using DNF, I haven't checked what the state of Gnome Software is now.

$ sudo dnf --refresh upgrade
$ systemctl reboot

Install Additional Packages

This is a list of some of the useful packages. This list does not contain regular apps like GIMP or Audacity (these apps have their own dedicated page on this website), but small system packages.

First, I will mention GUI system configuration tools. They are not necessary, but they provide a nice interface to already installed command-line tools.

Next, these packages will improve user interface a bit.

And finally, these are console programs that I install the most often.

Useful package groups

To list available package groups, use the following command.

$ sudo dnf group list

The following command shows all possible groups.

$ sudo dnf group list -v hidden

I found the following package group useful for C/C++ programming and debugging.

$ sudo dnf group install 'C Development Tools and Libraries'

If you want to use virtualization, see Fedora wiki.

RPM Fusion Repositories

Because Fedora doesn't ship with any non-free software, RPM Fusion repository provides it instead. It might be useful if you want to install a non-free piece of software or play music or a movie encoded in a proprietary, non-free format.

I usually enable RPM Fusion repos, both free and non-free. The up-to-date guide is on the RPM Fusion website. For short, type the following command.

$ 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

Flatpak and Flathub Repository

There are many programs available as flatpaks on Flathub. Flatpak is already installed on default Fedora installation, so the only think to do is to add the Flathub repository. The official guide can be found on Flatpak website.

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

Snap

Snap is Ubuntu's alternative to Flatpak. The biggest difference is that there is only one repository which contains all Snaps, and that Snap doesn't yet fully support visual window themes (so the apps will look out of place). Here are official docs on how to setup Snap on Fedora.

Codecs

Fedora doesn't ship with non-free software. This includes many multimedia codecs. These are instructions to install the most important codecs for usual video and audio playback. Up-to-date information can be found at RPM Fusion FAQ. RPM Fusion repositories must be enabled for this to work.

$ sudo dnf groupinstall multimedia
$ sudo dnf groupupdate multimedia

To install only OpenH264 codec without RPM Fusion, follow Fedora Wiki.

Better font rendering

Font rendering on Fedora has always looked really ugly because Fedora wants to be as free as possible and does not implement patented technologies, such as subpixel rendering. These are the steps to make the fonts look more beautiful.

The first step is to open gnome-tweak-tool and set font antialiasing to Slight and RGBA. This affects fonts in Gnome.

System-wide font configuration files are located in /etc/fonts directory. Mostly there are links to preconfigured configuration files in /usr/share/fontconfig/conf.avail/. We want to link some files for LCD subpixel rendering.

$ sudo ln -s /usr/share/fontconfig/conf.avail/10-sub-pixel-rgb.conf /etc/fonts/conf.d
$ sudo ln -s /usr/share/fontconfig/conf.avail/11-lcdfilter-default.conf /etc/fonts/conf.d
$ sudo ln -s /usr/share/fontconfig/conf.avail/70-no-bitmaps.conf /etc/fonts/conf.d

Ubuntu GNU/Linux distribution is known for its excellent font rendering, so we can use their configuration files. I have copied all (enabled) config files from Ubuntu 15.10 and the archive can be downloaded here. Copy all missing 10-*.conf configuration files to your /etc/fonts/conf.d. Now the fonts should be rendered much better, even in Google Chrome. I recommend checking the latest Ubuntu version instead. Fedora's settings may also have improved since then.

RPM Fusion's freetype-freeworld package can be installed for even better result. This version is compiled with the patented subpixel rendering enabled.

$ sudo dnf install freetype-freeworld

Tips and Tricks

Some tips and hardware specific problems are mentioned here.

TRIM Your SSD

Run one of the following commands from time to time to let your SSD know about unused file system space. The first command trims / partition, the second trims all trimmable partitions on the drive.

$ sudo fstrim -v /
$ sudo fstrim -a -v

Disable Automount and Gnome Software Updates

Here I am going to use dconf-editor. I don't like having all my unmounted drives remounted when I leave the computer for a long time enough to get a GDM password prompt when I return. And using Gnome's Software (which uses packagekit)? If it sometimes finally installs anything, it keeps all dependencies installed when you need to remove it later. DNF is a much better choice, at least for now (yes, I admit that I haven't checked the situation since Fedora 24).

Set all values to False in the following dconf locations. Disable Gnome Software updates: /org/gnome/software/download-updates, and the automount feature here: /org/gnome/desktop/media-handling/automount and here: /org/gnome/desktop/media-handling/automount-open.