Update to Fedora 35.
Welcome to my personal Fedora post installation guide. In this document, you can see the steps I took after a Fedora 33 fresh installation.
Ideas and suggestions were collected from different sources and from my previous experience with Fedora. Use this guide at your own risk.
- Fedora post installation guide
- Index
- Update entire system
- Enable Fedora Workstation repositories
- DNF : Enable DeltaRPM and Faster Mirror plugins
- Enable RPM Fusion repositories
- Install Nvidia drivers
- Optional-Fedora 35 - Downgrade driver to version 470
- Avoid screen tearing
- Monitor system fans speed
- Update Firmware
- Ensuring Software Compatibility with Wayland
- Customize Gnome Shell
- Install Gnome Tweaks
- Install Gnome Extension App
- Add bottom panel
- Gnome-Shell extensions:
- Places Status Indicator
- TopIcons Plus
- Change system fonts
- Better font rendering in Fedora
- Enable minimize maximize buttons
- Replace Nautilus with Nemo
- Use location entry in Nautilus
- Desktop icons extension
- Dash to Panel extension
- Useful packages
- Browser hardware acceleration
- Google Chrome
- Firefox
After a clean Fedora install is recommended to update the entire system. This fixes potential bugs that could not be fixed for the initial distribution release. Open a terminal and type:
sudo dnf update
After the update, some new repositories could be enabled.
The Third Party Software Repositories is not enabled by default because Fedora promotes free and open source resources. These repositories include restricted softwares that are not free and open source but can be installed to improve usability. Some of the included software are Google Chrome, nVidia graphic drivers and Steam client.
These repositories can be managed in GNOME Software in the "Software Repositories" settings or using DNF.
sudo dnf install fedora-workstation-repositories
The repositories are disabled by default. To enable individual repositories, use the following command:
sudo dnf config-manager --set-enabled <name of repository from link above>
Similarly, individual repositories can be disabled using:
sudo dnf config-manager --set-disabled <name of repository from link above>
To remove all of these repositories, use the following command:
sudo dnf remove fedora-workstation-repositories
With these two modules, you can speed up the download process.
DeltaRPM is a module that only downloads the differences between the current installed packages and the update available in the mirror. Once downloaded, rebuild the new package in your local computer.
Fastest Mirror is a plugin that determines the nearest mirror available to you.
To enable both plugins, append the next two lines into your /etc/dnf/dnf.conf
file:
fastestmirror=true
deltarpm=true
RPM Fusion is a repository of add-on packages for Fedora maintained by a group of volunteers. This repository distributes packages that have been deemed unacceptable to Fedora. This means that software encumbered with US patents cannot be included in Fedora. Fedora further only wants to ship software that is covered by Free and Open-Source-Software licenses.
Free repository : Software that uses a free license, but is not accepted in Fedora for various reasons.
sudo dnf install
https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm
Nonfree repository : Software that uses a non free license, but is otherwise redistributable.
sudo dnf install https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
After installing RPMFusion, you can replace free Nouveau drivers with privative Nvidia drivers. More information in RPMFusion website
To determine which driver you need to install, you need to find your graphic card model.
sudo /sbin/lspci | grep -e VGA
With a relative new graphic card:
sudo dnf update -y # and reboot if you are not on the latest kernel
sudo dnf install akmod-nvidia # rhel/centos users can use kmod-nvidia instead
sudo dnf install xorg-x11-drv-nvidia-cuda #optional for cuda/nvdec/nvenc support
Once the module is built, modinfo -F version nvidia
should outputs the version of the driver
This step is optional and only required if your GPU is not supported by NVidia-495 drivers.
Fedora 35 installs nVidia drivers version 495 but this version don't support cards from 600 and 700 series. In this cards, the graphic driver will fallback to Nouveau. To use the nVidia drivers should uninstall 495 version and install the 470 version.
sudo dnf remove akmod-nvidia*
sudo dnf remove *nvidia*
Install the nNvida-470 drivers:
dnf install akmod-nvidia-470xx.x86_64 nvidia-settings-470xx.x86_64 xorg-x11-drv-nvidia-470xx.x86_64 xorg-x11-drv-nvidia-470xx-power.x86_64 xorg-x11-drv-nvidia-470xx-cuda.x86_64 xorg-x11-drv-nvidia-470xx-cuda-libs.i686 xorg-x11-drv-nvidia-470xx-cuda-libs.x86_64 xorg-x11-drv-nvidia-470xx-devel.x86_64 xorg-x11-drv-nvidia-470xx-kmodsrc.x86_64 xorg-x11-drv-nvidia-470xx-libs.i686 xorg-x11-drv-nvidia-470xx-libs.x86_64
This option reduces the image tearing when reproducing videos but may reduce the performance of some OpenGL applications and may produce issues in WebGL.
If you have problems with screen tearing and want to try this solution, open (or create) the file /etc/X11/xorg.conf
and add this line in the section Screen:
Section "Screen"
...
Option "metamodes" "nvidia-auto-select +0+0 { ForceCompositionPipeline = On }"
...
EndSection
If the file doesn't exists can be created using nvidia-settings
.
I like to use GKrellM to monitor multiple system variables. But to monitor fan speed, you need to execute sensors-detect to determine which kernel modules need to load to use lm_sensors with my motherboard.
sudo sensors-detect
And I have this result with detected sensors, the right kernel module and the option to overwrite /etc/sysconfig/lm_sensors
file.
Now follows a summary of the probes I have just done.
Just press ENTER to continue:
Driver `nct6775':
* ISA bus, address 0xa20
Chip `Nuvoton NCT6797D Super IO Sensors' (confidence: 9)
Driver `k10temp' (autoloaded):
* Chip `AMD Family 17h thermal sensors' (confidence: 9)
Do you want to overwrite /etc/sysconfig/lm_sensors? (YES/no):
Some manufacturers support firmware and UEFI updates on Linux. The following commands will find devices with firmware, search for possible firmware updates, and install the updates.
sudo fwupdmgr get-devices
sudo fwupdmgr refresh --force
sudo fwupdmgr get-updates
sudo fwupdmgr update
I primarily use Wayland as my default session, although I've encountered compatibility issues with certain software. These problems manifest as a black screen during startup, black screens within dialogs, or occasional delays. To resolve these issues, consider adding the following options to the command line:
--enable-features=UseOzonePlatform --ozone-platform=wayland --enable-features=WaylandWindowDecorations
Gnome Tweaks is used in conjunction with the Gnome Shell to modify its interface.
sudo dnf install gnome-tweaks
Starting with Fedora 35, Gnome Tweaks is not used anymore to enable or configure Gnome Extensions. You must install Gnome Extensions App, an standalone app and not installed by default.
sudo dnf install gnome-extensions-app
Tint 2 : I like to have a bottom panel that shows the current open windows. Also shows automatically when i move the cursor over it and hides automatically.
sudo dnf install tint2
My tint2 config files are available in the dotfiles directory.
[ Update 1 ] Replace Tint2 with the Dash to Panel Extension
After I switched from XOrg to Wayland in Fedora 39, Tint2 doesn't display all programs, so I replaced it with the Dash to Panel extension. It's a Gnome Shell extension that can be configured to be very similar to Tint2. More information in Gnome-Shell extensions section.
[ Update 2 ] Remove Tint2
dnf remove tint2
Delete configuration and cache files
/home/user/.cache/tint2
/home/user/.config/tint2
/home/user/.config/autostart/tint2.desktop
In Gnome Shell you can install some extensions to improve Gnome usability and productivity. These extensions can be donwloaded from Gnome extensions or can be installed with DNF. After install any extension you can enable it using Gnome Tweaks (in Fedora 34 o lower) or Gnome Extensions App (from Fedora 35).
This extension add a menu for quickly navigating places in the system.
If you bookmark yout most useful locacionts on your filesystem with Nautilus, it will appear in this extension.
This extension can be downloaded from Gnome Extensions Download or can be installed with DNF.
sudo dnf install gnome-shell-extension-places-menu
This extension moves legacy tray icons (bottom left of Gnome Shell) to the top panel. Not all applicacions integrate with Gnome (for example, Liferea, Dropbox...), and still use the classic implementation. With this extension those tray icons will be moved to the top right side of the panel. This extension can be downloaded from Gnome Extensions Download or can be installed with DNF.
sudo dnf install gnome-shell-extension-topicons-plus
This is a matter of taste, but I prefer Ubuntu fonts than the Fedora default fonts.
Download Ubuntu fonts from Google Fonts.
Check if the directory /usr/share/fonts
exists. If the fonts directory do not exist,you can create yourself.
sudo mkdir -p /usr/share/fonts
Now unzip the downloaded Ubuntu fonts file and copy ubuntu-font-family-0.83
directory into /usr/share/fonts/
Now run the fc-cache command to rebuild font information.If you do not get any error then the fonts are successfully installed.
sudo fc-cache -fv
Open Gnome Tweaks and select the Ubuntu font and set hintting and subpixel antialiasing. I restart my session, so changes can be applied.
This repository provides free substitutions for popular proprietary fonts from Microsoft and Apple operating systems. This replacement makes web pages appear closer to what they do on Windows and not using the same font in every webpage.
Subpixel hinting, as it turns out, is patented by Microsoft so most Linux distributions don’t ship with it enabled. Optionally you can enable subpixel (rgb) antialiasing.
Enable COPR repository with packages from this repo:
sudo -s dnf copr enable dawid/better_fonts
Install packages:
sudo -s dnf install fontconfig-font-replacements
Enable subpixel (rgb) antialiasing:
sudo -s dnf install fontconfig-enhanced-defaults
Log out and log in again or restart computer.
I like to have the minimize and maximize buttons in the windows title bar. And can be enabled using GNOME Tweaks:
I don't like Nautilus as a file manager, so I usually replace it with a Nemo file manager.
sudo dnf install nemo nemo-extensions nemo-fileroller
Then I copy nemo.desktop
file from /usr/share/applications/
to ~/.local/share/applications/
and remove the line "OnlyShowIn=X-Cinnamon;"
.
When I use Nautilus, I prefer to always have a text navigation bar. Can be changed temporary using Ctrl + L
or permanently in a terminal:
$ gsettings set org.gnome.nautilus.preferences always-use-location-entry true
Desktop Icons NG is an extension for Gnome Shell that adds icons to the desktop. Also adds:
- Drag'n'Drop, both inside the desktop, between desktop and applications, and Nautilus/Nemo windows
- Allows to use "Open with..." option with several files.
To manually install the extension follow this steps:
Download the extension Desktop Icons NG from Gnome Extensions. Select an appropriate gnome shell version and extensions version.
Unzip the downloaded file and open metadata.json
file. Copy the UUID of your extension (the UUID is: [email protected]) and create a new directory into which we will unzip the content of the previusly downloaded gnome extension. The directory name should be the UUID of this Gnome extension.
$ mkdir -p ~/.local/share/gnome-shell/extensions/[email protected]
Unzip Gnome extension into previously created directory. And enable the newly installed extension using gnome-extensions-app
.
Finally restart gnome-shell (exit from current session or pressing Alt-F2 and writing "r" in the opened window).
Dash to Panel is an icon taskbar for the Gnome Shell.
Can be installed from Gnome extensions. After the installation, you can customize its appearance with the Gnome Extensions app. Dash to Panel also allows you to export and import configurations. Open Dash to panel with Gnome Extensions App.
Exporting Settings:
- Switch to the 'About' tab and click on the 'Export to file' button.
- Then, select 'dash-to-panel-settings.txt.'
Importing Settings:
- Switch to the 'About' tab and click on the 'Import from file' button.
- Select the file. Your settings will now be imported.
My personal choices for making Dash to Panel like Tint2 available in the dotfiles directory.
In Fedora 40 there is a new Gnome extension installed by default incompatible with Dash to Panel. The Window List Extension adds a bottom panel with a traditional window list. You must choose between Window List or Dash to Panel because the functionality is pretty much the same. To activate one or another you must use Extensions application.
These are some packages I like to install in my Fedora machine. Just personal taste.
Fedora distributions don't install some codecs because they are not open source or are privative or covered by software patents. But can be installed using RPMFusion.
sudo dnf install gstreamer1-plugins-{bad-\*,good-\*,base} gstreamer1-plugin-openh264 gstreamer1-libav --exclude=gstreamer1-plugins-bad-free-devel
sudo dnf install lame\* --exclude=lame-devel
sudo dnf group upgrade --with-optional Multimedia
Cisco provides an OpenH264 codec (as a source and a binary), which is their implementation of H.264 codec, and they cover all licensing fees for all parties using their binary. This codec allows you to use H.264 in WebRTC with gstreamer and Firefox. It does not enable generic H.264 playback, only WebRTC More information and instructions https://docs.fedoraproject.org/
Hardware video acceleration makes it possible for the video card to decode/encode video, thus offloading the CPU and saving power.
dnf install libva-utils libva-vdpau-driver vdpauinfo
sudo dnf install mc
Download the RPM package from www.atom.io and install using the RPM command tool.
sudo rpm -Uvh atom.rpm
Add this Community Packages:
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
└── [email protected]
To make VSCodium compatible with Wayland, run with these options:
--enable-features=UseOzonePlatform --ozone-platform=wayland --enable-features=WaylandWindowDecorations
sudo dnf install inkscape gimp
sudo dnf -y install handbrake-gui
sudo dnf -y install mpv
After Fedora 40 update I played a video and I found that mpv is not able to play audio. I can only see video, but no audio.
To solve this error, I created a new file mpv.conf
in ~/.config/mpv/mpv.conf
# ===== Audio =====
ao=alsa
audio-device=auto
HTTPS Everywhere: Force the use of HTTPS protocol in all webpages (if available).
uBlock Origin: The famous ad-blocker plugin.
Privacy Badger: Block tracking scripts and other 3rd-party online tracking software.
After you have enabled the non-free RPM Fusion repository, you can install Steam on Fedora using:
sudo dnf install steam
sudo dnf install dropbox nautilus-dropbox nemo-dropbox
After installing Google Chrome, you can enable GPU hardware acceleration. Open new web and navigate to chrome:flags
and and set to enabled these flags:
Override software rendering list
GPU rasterization
Zero-copy rasterize
.
After restarting the navigator, in tab chrome://gpu/
will show the Graphic Feature Status.
Open the menu in the top-right corner. From this menu, select Preferences and go to General. Scroll down to Performance, uncheck "Use recommended performance settings" and check "Use hardware acceleration when available"
In first place check the status of the graphic driver. In the address bar type about:support. In the new page, scroll down to the Graphics section. If WebGL is not enabled, you will see a message like this:
WebGL creation failed:
- WebglAllowWindowsNativeGl:false restricts context creation on this system.
- Exhausted GL driver options.
In the address bar, type about:config. On the new page, accept the warning button. Use the search box an find this two settings:
- webgl.force-enabled - change from false to true
- layers.acceleration.force-enabled - change from false to true
Close Firefox and re-open it. Then navigate back to about:support and find the Graphics section again. Now in the Graphics section you can see WebGL enabled.
First check if you are using accelerated graphics:
$ glxinfo | grep 'OpenGL version'
OpenGL version string: 4.6.0 NVIDIA 460.39
To test if the browser has WebGL enabled and working correctly you can go to these two pages.
https://get.webgl.org/ This web shows if your browser supports WebGL.
https://webglreport.com This is a web page that reports a browser's WebGL capabilities
The latest versions of the Chrome browser (version 108.0.5359.124 or newer), frees up memory from inactive tabs. This gives active tabs and other apps more computer resources and keeps Chrome fast. The inactive tabs automatically become active again when you go back to them.
- Open Chrome.
- Access Chrome Flags with this address in the address bar:
chrome://flags/#high-efficiency-mode-available
- Toggle the setting "Enable the hight efficiency mode feature" to “Enabled”
- Restart the Chrome browser
- Go to the address bar in Chrome and go to this address:
chrome://settings/performance
-
Locate “Memory Saver” and toggle the switch ON to enable the feature
-
Relaunch Chrome for the change to take full effect
For Google Chrome, Chromium, and their based web browsers (e.g., Edge, Vivaldi), simply type
chrome://flags/
in the address bar and press Enter.
When the page opens, search for 'Preferred Ozone platform' and use the dropdown menu to set its value to 'Wayland' . Finally, click the 'Relaunch' button to apply the change by restarting the web browser.
Update: In last Chrome updates (April 2024, Chrome version: 124 ), previous method don't work anymore. You must launch Chrome from command line with the parameters:
google-chrome --enable-features=UseOzonePlatform --ozone-platform=wayland
or add this parameters to a .desktop shortcut.
Update 2: In the latest Chrome update (May 2024, Chrome version: 124.0.6367.118), the issue has been solved. It is no longer necessary to launch Chrome from the command line with parameters
To check if your browser is using Wayland or X11, type
about:support
in the adress bar and press Enter.
When the pages opens, look for 'Window Protocol' . It should indicate 'Wayland' . The presence of 'X11' means you are running Firefox under the Xorg display server, while 'XWayland' means your system is running Wayland but executing Firefox as a legacy X11 application.