Fedora 42 ships with GNOME 48, Linux kernel 6.14, and DNF5 as the default package manager. The Workstation edition targets developers and desktop users who want a polished GNOME experience with access to the latest open-source software. This guide covers the essential post-install steps to get Fedora 42 ready for daily use, from system updates and multimedia codecs to development tools and gaming.
Every step below applies to a fresh Fedora 42 Workstation install running GNOME on Wayland. Most commands also work on Fedora 42 Spins (KDE, Xfce, etc.) with minor adjustments.
1. Update the System with DNF5
Fedora 42 uses DNF5 as the default package manager, replacing the older DNF4. Run a full system update before making any other changes. This pulls in the latest security patches, bug fixes, and kernel updates available since the release ISO was built.
Keep our DNF5 commands cheat sheet open while you work through this list; it has the one-page PDF and the fixes for the dnf5 errors you’re most likely to hit.
sudo dnf5 upgrade --refresh
Reboot after the update finishes, especially if a new kernel was installed.
sudo reboot
After rebooting, verify the running kernel version.
uname -r
That version string should match the kernel DNF5 installed in the update above. If it still shows the release ISO kernel, reboot once more and check again before moving on.
2. Enable RPM Fusion Repositories
Fedora’s default repos exclude proprietary software and some patent-encumbered codecs. RPM Fusion fills that gap with two repositories: Free (open-source software that Fedora excludes for other reasons) and Nonfree (proprietary drivers, codecs, and applications). Install both.
$ sudo dnf5 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
Confirm the repos are active.
$ dnf5 repolist | grep rpmfusion
rpmfusion-free RPM Fusion for Fedora 42 - Free
rpmfusion-free-updates RPM Fusion for Fedora 42 - Free - Updates
rpmfusion-nonfree RPM Fusion for Fedora 42 - Nonfree
rpmfusion-nonfree-updates RPM Fusion for Fedora 42 - Nonfree - Updates
Install the RPM Fusion AppStream metadata so GNOME Software can show RPM Fusion packages. Since Fedora 41, DNF5 no longer lets RPM Fusion extend the Fedora groups, so the older “update the core group” advice does not pull this metadata in; name the packages explicitly.
sudo dnf5 install rpmfusion-free-appstream-data rpmfusion-nonfree-appstream-data
Once that finishes, GNOME Software lists RPM Fusion packages on its next metadata refresh, so you can install them from the app store as well as the terminal.
3. Install Multimedia Codecs
A fresh Fedora 42 install cannot play MP3, H.264, H.265, or AAC media out of the box. With RPM Fusion enabled, install the full codec stack.
sudo dnf5 swap ffmpeg-free ffmpeg --allowerasing
Install additional GStreamer plugins for broader format support.
$ sudo dnf5 install gstreamer1-plugins-bad-free gstreamer1-plugins-bad-freeworld \
gstreamer1-plugins-ugly gstreamer1-plugin-libav
For hardware-accelerated video decoding (VA-API), install the appropriate driver for your GPU.
# Intel (recent integrated GPUs)
$ sudo dnf5 install intel-media-driver
# AMD
$ sudo dnf5 install libva-mesa-driver mesa-va-drivers-freeworld
Verify codec availability by playing a test file with ffmpeg.
ffmpeg -codecs 2>/dev/null | grep -E "h264|hevc|aac"
All three should appear in that output. If one is missing, confirm the RPM Fusion repos from step 2 are enabled and repeat the codec install.
4. Set Up Flathub for Flatpak Apps
Fedora 42 includes Flatpak support by default, but only the filtered Fedora Flatpak remote is configured. Add the full Flathub repository to access thousands of additional applications.
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
If Fedora’s filtered Flathub is already present, remove it first and add the unfiltered version.
flatpak remote-delete fedora-flathub --force 2>/dev/null
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
Verify flathub appears in the remote list.
$ flatpak remotes
Name Options
flathub system
Restart GNOME Software or reboot, and Flathub apps will appear alongside Fedora packages in the Software Center.
5. Install NVIDIA Proprietary Drivers
NVIDIA GPUs on Fedora use the open-source nouveau driver by default, which lacks proper 3D acceleration and power management. With RPM Fusion Nonfree enabled, install the proprietary NVIDIA driver.
sudo dnf5 install akmod-nvidia xorg-x11-drv-nvidia-cuda
Wait for the kernel module to finish building. This takes 3-5 minutes on most hardware. The commands below force a rebuild of the NVIDIA module and the initramfs, so run them when the automatic build is still pending or right after a kernel update.
sudo akmods --force
sudo dracut --force
Reboot the system.
sudo reboot
After reboot, confirm the NVIDIA driver is loaded.
nvidia-smi
For NVIDIA Optimus laptops (hybrid Intel/NVIDIA), also install the switching tools.
sudo dnf5 install xorg-x11-drv-nvidia-power nvidia-vaapi-driver
Reboot the laptop once this finishes so both GPUs come up under the new driver set before you configure anything else.
6. Configure Power Management
Fedora 42 includes power-profiles-daemon by default, which provides three profiles: Power Saver, Balanced, and Performance. Switch between them from the GNOME Quick Settings panel or via CLI.
$ powerprofilesctl list
* balanced
power-saver
performance
$ powerprofilesctl set power-saver
For laptops that need finer control over battery life, TLP is an alternative. Note that TLP and power-profiles-daemon conflict, so remove one before installing the other.
sudo dnf5 remove power-profiles-daemon
sudo dnf5 install tlp tlp-rdw
sudo systemctl enable --now tlp
Check TLP status to verify it is running.
$ sudo tlp-stat -s
--- TLP 1.7.0 --------------------------------------------
+++ System Info
... (output trimmed)
+++ TLP Status
State = enabled
Mode = battery
State = enabled confirms TLP is active and applying its battery profile; if it reads disabled instead, the TLP service did not start, so enable it before relying on the settings.
7. Customize GNOME with Tweaks and Extensions
GNOME 48 on Fedora 42 is clean but minimal. Install GNOME Tweaks to control fonts, themes, startup applications, and window behavior that the default Settings app does not expose.
sudo dnf5 install gnome-tweaks
For shell extensions, install the Extension Manager from Flathub. It provides a searchable catalog and one-click install for GNOME extensions.
flatpak install flathub com.mattjakeman.ExtensionManager
Some popular extensions worth installing:
- AppIndicator Support – shows system tray icons for apps like Slack, Discord, and Dropbox
- Dash to Dock – converts the GNOME dash into a persistent dock
- Blur My Shell – adds blur effects to the overview and panel
- GSConnect – integrates Android phone notifications and file transfer with GNOME
- Caffeine – prevents the screen from going to sleep with a single toggle
Use GNOME Tweaks to enable minimize and maximize buttons on title bars, change the default font, or adjust the scaling factor for HiDPI displays.
8. Install Essential Desktop Applications
Fedora 42 Workstation ships with Firefox, GNOME Text Editor, and the core GNOME apps. Here are additional applications most users will want.
Web Browsers
Install Google Chrome from the official repository.
sudo dnf5 install fedora-workstation-repositories
sudo dnf5 config-manager setopt google-chrome.enabled=1
sudo dnf5 install google-chrome-stable
Install Brave Browser from its official repo.
sudo dnf5 install dnf-plugins-core
sudo dnf5 config-manager addrepo --from-repofile=https://brave-browser-rpm-release.s3.brave.com/brave-browser.repo
sudo rpm --import https://brave-browser-rpm-release.s3.brave.com/brave-core.asc
sudo dnf5 install brave-browser
Brave updates through DNF5 from here on, alongside the rest of the system, since the install registered its repo.
Media and Graphics
Install VLC media player for video playback.
sudo dnf5 install vlc
Install GIMP for image editing.
sudo dnf5 install gimp
Once the install finishes, GIMP opens from the app grid like any other application.
Office Suite
Fedora 42 Workstation no longer ships LibreOffice in the default install, so you will likely need to add the full suite explicitly.
sudo dnf5 install libreoffice
Skip this step entirely if LibreOffice already appears in your app grid.
Visual Studio Code
Add the Microsoft VS Code repository and install the editor.
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" | sudo tee /etc/yum.repos.d/vscode.repo
Install VS Code after adding the repository.
sudo dnf5 install code
Launch VS Code from the application menu or run code in the terminal.
9. Set Up Development Tools
Fedora is a popular choice among developers. Install the core build tools and compilers first.
sudo dnf5 install @development-tools
sudo dnf5 install gcc gcc-c++ make automake kernel-devel kernel-headers
The kernel-devel and kernel-headers packages must match your running kernel, which is why the system update in step 1 comes first.
Python Development
Fedora 42 ships with Python 3.13. Install pip and virtual environment support.
sudo dnf5 install python3-pip python3-virtualenv python3-devel
Verify the Python version.
$ python3 --version
Python 3.13.2
Fedora 42 ships Python 3.13 as the system python3, so no extra repository is needed for the interpreter itself.
Node.js
Install Node.js on Fedora from the default repositories.
sudo dnf5 install nodejs npm
Verify the installed versions.
node --version
npm --version
Both versions should match what the Fedora repos currently ship; an older number usually means a NodeSource repo from an earlier setup is still winning.
Docker and Podman
Podman is pre-installed on Fedora 42 and runs containers without a daemon. For most local development, Podman works as a drop-in replacement for Docker.
podman --version
podman run hello-world
If you need Docker on Fedora, install it from Docker’s official repository.
sudo dnf5 config-manager addrepo --from-repofile=https://download.docker.com/linux/fedora/docker-ce.repo
sudo dnf5 install docker-ce docker-ce-cli containerd.io docker-compose-plugin
Start and enable the Docker service.
sudo systemctl enable --now docker
sudo usermod -aG docker $USER
Log out and back in for the group change to take effect, then verify with docker run hello-world.
10. Configure the Firewall
Fedora 42 comes with firewalld enabled and active. The default public zone allows SSH and DHCPv6 client traffic. Verify the current status.
$ sudo firewall-cmd --state
running
$ sudo firewall-cmd --list-all
To allow a specific service, use the following pattern. This example opens HTTP and HTTPS permanently.
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
To allow a custom port (e.g., 8080/tcp):
sudo firewall-cmd --permanent --add-port=8080/tcp
sudo firewall-cmd --reload
For a graphical firewall management tool, install firewall-config.
sudo dnf5 install firewall-config
Open it from the app grid or launch it with firewall-config from the terminal; both start the same tool.
11. Set Up System Backups
Regular backups protect against data loss from failed upgrades, disk failures, or accidental deletion. Fedora offers two solid options.
Timeshift (System Snapshots)
Timeshift creates system-level snapshots using rsync or BTRFS snapshots. It is ideal for rolling back broken system updates. If your Fedora install uses the default BTRFS filesystem, Timeshift can take near-instant snapshots.
sudo dnf5 install timeshift
Launch Timeshift from the application menu, select the snapshot type (BTRFS recommended for BTRFS partitions, rsync for ext4), and configure the schedule. Create an initial snapshot immediately after setting up your system.
Deja Dup (Personal File Backups)
Deja Dup backs up personal files to local drives, network shares, or cloud storage (Google Drive, Nextcloud). It integrates with GNOME and handles encryption automatically.
sudo dnf5 install deja-dup
Open Deja Dup from the application menu, choose which folders to back up (defaults to Home), set a backup destination, and enable automatic scheduling.
12. Install Additional Fonts
Fedora ships with a limited set of fonts. Microsoft core fonts are often needed for document compatibility, and Google fonts improve the desktop experience.
Microsoft Core Fonts
Install the mscore fonts package that provides Arial, Times New Roman, Courier New, and other common Microsoft fonts.
sudo dnf5 install curl cabextract xorg-x11-font-utils fontconfig
sudo rpm -i https://downloads.sourceforge.net/project/mscorefonts2/rpms/msttcore-fonts-installer-2.6-1.noarch.rpm
The installer downloads the font binaries from SourceForge when it runs, so it needs a working network connection to finish.
Google Noto and Fira Fonts
Google Noto fonts provide broad Unicode coverage. Fira Code is popular among developers for its programming ligatures.
$ sudo dnf5 install google-noto-sans-fonts google-noto-serif-fonts \
google-noto-emoji-fonts fira-code-fonts
Rebuild the font cache after installing new fonts.
fc-cache -fv
The rebuild takes a few seconds and prints each font directory as it scans; after it finishes, the new fonts show up in the GNOME Fonts app and in your applications.
13. Wayland vs X11 – Tips and Troubleshooting
Fedora 42 defaults to Wayland for the GNOME session. Wayland provides better security, smoother performance, and proper fractional scaling. However, some applications still have issues under Wayland.
If an application does not render correctly or screen sharing fails, switch to the X11 session from the GDM login screen: click the gear icon in the bottom-right corner and select “GNOME on Xorg”.
For Electron-based apps (VS Code, Slack, Discord) that have display issues on Wayland, force them to use the native Wayland backend.
code --ozone-platform=wayland
To make this permanent for VS Code, add the flag to its desktop entry or create a file at ~/.config/code-flags.conf with the following content.
--ozone-platform=wayland
--enable-features=WaylandWindowDecorations
Check which display server your current session is using.
$ echo $XDG_SESSION_TYPE
wayland
For NVIDIA users, Wayland support has improved significantly with recent driver releases. Ensure you have the latest NVIDIA driver installed (section 5 above) and add the following kernel parameter if you experience flickering.
sudo grubby --update-kernel=ALL --args="nvidia-drm.modeset=1"
The parameter applies on the next reboot, so restart before judging whether the flickering is gone.
14. Set Up Gaming – Steam, Lutris, and Wine
Fedora 42 is a capable gaming platform with Proton, Vulkan, and native Linux game support. Start by installing Steam from RPM Fusion.
sudo dnf5 install steam
Steam installs its own Proton compatibility layer that lets you run most Windows games directly. Enable Steam Play for all titles in Steam Settings under Compatibility.
Install Lutris for managing games from GOG, Epic, and other sources. Lutris handles Wine prefixes and runner configurations automatically.
sudo dnf5 install lutris
Install Wine on Fedora for running Windows applications outside of Steam or Lutris.
sudo dnf5 install wine
For the best gaming performance, install Vulkan drivers and the gamemode package.
sudo dnf5 install vulkan-loader vulkan-tools mesa-vulkan-drivers gamemode
Verify Vulkan is working.
vulkaninfo --summary | head -20
The summary should list your GPU as a device. An empty device list means the Vulkan drivers from the steps above did not install for your hardware, so recheck those before installing games.
15. Enable Fastest DNF Mirror and Tweak Performance
Speed up package downloads by telling DNF5 to use the fastest available mirror.
echo 'fastestmirror=True' | sudo tee -a /etc/dnf/dnf.conf
echo 'max_parallel_downloads=10' | sudo tee -a /etc/dnf/dnf.conf
These settings apply to all future DNF5 operations and can noticeably reduce download times on slower connections.
16. Configure Hostname and User Settings
Set a meaningful hostname for your workstation.
sudo hostnamectl set-hostname fedora-workstation
If you skipped creating a user during installation, add an admin user with sudo privileges now.
sudo useradd -m -G wheel adminuser
sudo passwd adminuser
Verify the user has sudo access.
$ su - adminuser
$ sudo whoami
root
The root output confirms sudo works for this user. If it prints a denial instead, add the user to the wheel group and run the check again.
Conclusion
After completing these steps, your Fedora 42 Workstation is ready for daily use, whether that means software development, content creation, or gaming. The combination of RPM Fusion, Flathub, and the official Fedora repos gives you access to virtually any Linux application available today.
Consider enabling automatic security updates with dnf5 automatic, setting up full-disk encryption if you did not select it during install, and creating regular Timeshift snapshots before each system upgrade. For production workloads, pair Fedora with a clean installation rather than an in-place upgrade.