indraj.net  🡩

v3

Fedora 41 post-installation guide

Fedora 41 post-installation guide

Fedora is a leading-edge Linux distribution. Unlike Debian or Ubuntu, its repositories contain fairly recent versions of most software. It is thus well-suited for desktop use, which is the scenario envisaged here.

Some of the changes introduced by Fedora 41 have resulted in regressions concerning functionality which worked correctly in previous releases. We will consider those first.

Regression #1: snap does not work

SELinux may fail to parse the profile supplied for snapd. A workaround is to disable SELinux until this issue is fixed. You can do this by editing /etc/selinux/config and changing the entry that reads SELINUX=enforcing to disabled. Then, reboot your computer.

This appears to be fixed.

Regression #2: ptyxis (terminal) no longer writes the scrollback to .bash_history

Some versions of the new default terminal application, ptyxis, may not write the the scrollback (command history) to the history file. You can manually append the scrollback to .bash_history by running history -a before closing the window.

This appears to be fixed.

Regression #3: dnf no longer supports autoremove, config-manager or groups

autoremove and config-manager are still available, but their behaviour has been altered in DNF5. Groups no longer appear to function correctly. The previous version of dnf, which supports these features, is still installed. You can run it using dnf4.

If autoremove fails to remove all installed dependencies, you can use the following commands instead:


sudo dnf history list
sudo dnf history undo TRANSACTION_ID

Update software

To update the operating system and installed software, run the following command:

sudo dnf update --refresh

Always reboot your computer after installing updates, as not all programs can be relaunched automatically. If programs are not relaunched, they will remain on their current versions and will not benefit from updated libraries.

Update firmware

Firmware updates are distributed via the Linux Vendor Firmware Service (LVFS). To check for updates, run:

sudo fwupdmgr refresh

To install any available updates:

sudo fwupdmgr update

You will be prompted to reboot to finish the installation process. Firmware updates are issued by hardware vendors to fix bugs and correct security flaws. You should regularly check for firmware updates in addition to regular software updates.

Install language packs

Sometimes, not all of the required dictionaries are installed, especially if your language is set to a non-US variant of English. As I am British, I would like my software to check for spelling errors using British English dictionaries, which can be installed using the following command:

sudo dnf install langpacks-en_GB

To find the correct package for your language, click here.

Set up RPM Fusion

Fedora's repositories contain only open source software. However, some important software is distributed only under proprietary or restricted licenses. Without these programs and libraries, you may experience multimedia playback failure or degraded performance.

RPM Fusion is a well-known third party project that provides such software. You can enable the repositories using the commands below.


sudo dnf 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

sudo dnf install rpmfusion-free-release-tainted
sudo dnf install rpmfusion-nonfree-release-tainted

NVIDIA users: driver installation

Warning: NVIDIA graphics cards are not as well-supported as AMD or Intel cards on Linux. Consider disabling Secure Boot before proceeding in order to avoid having to self-sign kernel modules.

You will need to install the proprietary driver corresponding to your model. If you don't know which model you have, you can use the following command:


/sbin/lspci | grep -e VGA

If you are on a laptop with hybrid (“Optimus”) graphics, try this command instead:

/sbin/lspci | grep -e 3D

Next, install any available updates using dnf and then reboot if your system was not up-to-date.

If your GPU was made in 2014 or later, install the driver using this command:


sudo dnf install akmod-nvidia

After the installation has completed, wait until this command...

modinfo -F version nvidia

...displays an output similar to this...

440.64

...and NOT this!

modinfo: ERROR: Module nvidia not found.

Then reboot your computer.

These instructions apply to (current) GeForce, Quadro and Tesla models. This excludes Legacy GeForce 600/700 (and older) series cards.

While it is possible to install the proprietary NVIDIA driver on older cards, you may face problems when using the new Wayland sessions. The Fedora Project has shown little interest in further support for the older X.Org server sessions, so I highly recommend swapping out your card with a newer AMD or Intel Arc model for a more seamless experience. These manufacturers have released their drivers under open source licenses, which allows Fedora to include them by default, out-of-the-box.

Multimedia setup

The following commands will install many common codecs, required for playback of certain types of media files. This includes support for hardware-accelerated encoding and decoding.

sudo dnf swap ffmpeg-free ffmpeg --allowerasing
sudo dnf config-manager setopt fedora-cisco-openh264.enabled=1

sudo dnf4 update @multimedia --setopt="install_weak_deps=False" --exclude=PackageKit-gstreamer-plugin

For Intel (Gen 6+/Skylake+) users:

sudo dnf install intel-media-driver

For older Intel:

sudo dnf install libva-intel-driver

For AMD users:

sudo dnf swap mesa-va-drivers mesa-va-drivers-freeworld
sudo dnf swap mesa-vdpau-drivers mesa-vdpau-drivers-freeworld
sudo dnf swap mesa-va-drivers.i686 mesa-va-drivers-freeworld.i686
sudo dnf swap mesa-vdpau-drivers.i686 mesa-vdpau-drivers-freeworld.i686

For NVIDIA users:

sudo dnf install libva-nvidia-driver.{i686,x86_64}

Install additional drivers

Some firmware packages are distributed only under proprietary or restricted licenses. To install them, run the following command:

sudo dnf --repo=rpmfusion-nonfree-tainted install "*-firmware"

Disable unnecessary services

The default firewall profile (“FedoraWorkstation”) permits a degree of exposure which may be unnecessary for a desktop computer.


sudo firewall-cmd --remove-service=mdns --permanent
sudo firewall-cmd --remove-service=ssh --permanent
sudo firewall-cmd --remove-service=samba-client --permanent
sudo firewall-cmd --remove-port=1025-65535/tcp --permanent
sudo firewall-cmd --remove-port=1025-65535/udp --permanent
sudo firewall-cmd --reload

The OpenSSH server, Avahi/mDNS and cups-browsed services should also be disabled or removed if they are not needed:

sudo systemctl disable --now sshd cups-browsed
sudo dnf4 autoremove openssh-server cups-browsed
sudo systemctl mask --now avahi-daemon.socket avahi-daemon

Install TLP (laptops only)

TLP is a tool which can improve your battery life by tweaking certain kernel parameters.


sudo dnf4 autoremove tuned tuned-ppd
sudo systemctl mask --now systemd-rfkill.socket systemd-rfkill
sudo dnf install tlp tlp-rdw
sudo systemctl enable --now tlp

🇬🇧  Belfast, United Kingdom
Copyright © 2024-2025 Indraj Gandham
Licensed under CC BY-SA 4.0