Contents

Fedora 40 |ultimate walk-through/guide for maximum productivity

Fedora installation

Getting the iso

You can go to the fedora website for the iso or the fedora spin website. or Alternatively you can go the the respin server which is more updated than the original and it has the gnome iso and the other spins.

Partitioning

Use automatic partition. It will create 2 btrfs subvolumes home and root so it becomes easier to upgrade and keep the home data.

Fedora post installation

DNF optimization

1
2
3
echo 'fastestmirror=1' | sudo tee -a /etc/dnf/dnf.conf
echo 'max_parallel_downloads=10' | sudo tee -a /etc/dnf/dnf.conf
echo 'deltarpm=true' | sudo tee -a /etc/dnf/dnf.conf

Update

1
sudo dnf update && sudo dnf upgrade

RPM FUSION free/non-free

1
2
3
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

In case you are using Gnome-software/KDE-Discover and you want the rpm fusion repos to appear in them download the following

1
sudo dnf groupupdate core

Multimedia post-install

RPM Fusion repositories also provide a lot of complement packages, it’s often difficult to remember which is the exact name of each complement package. One can easily remember using the package group that the repository extends. Before installing the codecs we need to switch to full ffmpeg to avoid conflicts with system

1
sudo dnf swap ffmpeg-free ffmpeg --allowerasing

The following commands will install the complements multimedia packages needed by gstreamer enabled applications:

1
2
sudo dnf groupupdate \
multimedia --setop="install_weak_deps=False" --exclude=PackageKit-gstreamer-plugin
1
sudo dnf groupupdate sound-and-video

Hardware Accelerated codec

RPM fusion gives you also hardware accelerated codecs to install depending on your graphics.

Intel(New)

1
sudo dnf install intel-media-driver

Intel (old)

1
sudo dnf install libva-intel-driver

AMD (mesa)

This is needed since Fedora 37 and later… and mainly concern AMD hardware since NVIDIA hardware with nouveau doesn’t work well

1
2
sudo dnf swap mesa-va-drivers mesa-va-drivers-freeworld
sudo dnf swap mesa-vdpau-drivers mesa-vdpau-drivers-freeworld

Nvidia

1
sudo dnf install nvidia-vaapi-driver

Nvidia drivers

using the rpm fusion repos nvidia can be installed using the following command

1
2
sudo dnf install akmod-nvidia xorg-x11-drv-nvidia-cuda
sudo reboot

For legacy use the following with each case

1
2
# For GeForce 600/700 NVIDIA series drivers ONLY
 sudo dnf install xorg-x11-drv-nvidia-470xx akmod-nvidia-470xx xorg-x11-drv-nvidia-470xx-cuda
1
2
# For GeForce 400/500 NVIDIA series drivers ONLY
sudo dnf install xorg-x11-drv-nvidia-390xx akmod-nvidia-390xx xorg-x11-drv-nvidia-390xx-cuda
1
2
# For GeForce 8/9/200/300 NVIDIA series drivers ONLY
sudo dnf install xorg-x11-drv-nvidia-340xx akmod-nvidia-340xx xorg-x11-drv-nvidia-340xx-cuda

for checking if installed you can chech through command line

1
nvidia-settings

Install applications

Flatpaks are enabled by default. You can remove it by dnf remove flatpak if you want.there is xdg-desktop-portals which make use of flatpaks service which autostarts. you can remove it.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
sudo dnf install openbox obconf flameshot ksnip vokoscreenNG obs-studio \
obs-studio-plugin-x264 yt-dlp tint2 vlc gparted xdotool yad  \
lxrandr arandr lynx curl xclip conky wmctrl dunst jq dmenu rofi \
nitrogen figlet gpick sxiv xpad dos2unix fzf rsync p7zip fastfetch newsboat \
ncdu cheese xfce4-terminal thunar-archive-plugin lxappearance gedit galculator \
qrencode lshw lxtask dosfstools qt5ct qt6ct lxsession lm_sensors inkscape shotcut \
transmission-gtk fakeroot pavucontrol xarchiver unzip Zim gtksourceviewmm \
gxkb telegram-desktop torbrowser-launcher intel-media-driver libva-intel-driver \
graphviz firejail mpv firefox breeze-cursor-theme breeze-gtk breeze-gtk-common  \
@fonts twolame inxi peek pdftk doublecmd-gtk adwaita-gtk2-theme  \
evince herbstluftwm icewm i3 picom copyq cpu-x automake autoconf intltool \
gtk3-devel spacefm stacer unrar libunrar xorg-x11-drv-synaptics-legacy xkill \
keepassxc screenkey mate-polkit st clipit kdialog \
leafpad ripgrep parallel acpi jgmenu datamash gnumeric gnumeric-plugins-extras \
rs miller mawk hyperfine mc

Installing rar

1
sudo dnf install https://forensics.cert.org/fedora/cert/39/x86_64/rar-6.2.2-1.fc39.x86_64.rpm

Yad

For Yad to get latest version,

1
2
3
4
5
git clone https://github.com/v1cont/yad
cd yad
autoreconf -ivf && intltoolize
./configure && make
sudo make install

also there is a pclinuxos version on website https://pkgs.org/download/yad just install it then copy /usr/bin/yad and others to /usr/local/bin/

or use this attached version

Fedy

Fedy makes it easy to install third-party software in Fedora.

1
2
sudo dnf copr enable kwizart/fedy
sudo dnf install fedy

CutyCapt

Xcape

To install xcape , run:

1
sudo dnf install git gcc make pkgconfig libX11-devel libXtst-devel libXi-devel

Then run:

1
2
3
4
git clone https://github.com/alols/xcape.git
cd xcape
make
sudo make install

Font-manager/viewer

First you need to enable copr for installation

1
sudo dnf copr enable jerrycasiano/FontManager 

After you can install font by the following

1
sudo dnf install thunar-font-manager

Cherrytree

1
2
3
sudo dnf copr enable bcotton/cherrytree
sudo dnf update
sudo dnf install cherrytree-future

will download latest version or go to website and download the latest rpm file from there.

sublime Text

1
2
3
sudo rpm -v --import https://download.sublimetext.com/sublimehq-rpm-pub.gpg
sudo dnf config-manager --add-repo https://download.sublimetext.com/rpm/stable/x86_64/sublime-text.repo
sudo dnf install sublime-text

VirtualBox

To install virtualbox

Install Dependencies

1
2
3
sudo dnf -y install @development-tools
sudo dnf -y install kernel-headers kernel-devel dkms \
elfutils-libelf-devel qt5-qtx11extras
1
sudo dnf install VirtualBox

Add your user to the vboxusers group

1
2
3
sudo usermod -a -G vboxusers $USER
newgrp vboxusers
id $USER

Launch virtualbox in terminal to see if there are more errors. Reboot

Wine (> 1.3Gb)

Start by adding WineHQ repository with the latest stable packages for Wine.

1
2
sudo dnf -y install dnf-plugins-core
sudo dnf config-manager --add-repo https://dl.winehq.org/wine-builds/fedora/39/winehq.repo

After installing the repo install wine using the following code for stable

1
sudo dnf -y install winehq-stable

After installation run winecfg and install the required programs (.net,…) For installation of winetricks use the following code below

1
2
3
wget  https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks
chmod +x winetricks
sudo mv winetricks /usr/local/bin/

Gparted

To run gparted write the following first

1
xhost +local:
1
sudo gparted

Kanata

to get latest @kanata you need rust to be installed and use the following

1
2
3
git clone https://github.com/jtroo/kanata.git
cd kanata
cargo build --features cmd --release

kmonad/kanata config

1
2
3
4
5
6
sudo usermod -aG input $USER
sudo groupadd uinput
sudo usermod -aG uinput $USER
echo 'KERNEL=="uinput", MODE="0660", GROUP="uinput", OPTIONS+="static_node=uinput"' | sudo tee /etc/udev/rules.d/90-uinput.rules
echo uinput | sudo tee /etc/modules-load.d/uinput.conf  #if error no problem restart
sudo modprobe uinput

Photoflare

2 methods to install photoflare

  1. using Fedy. open Fedy and check photflare in the Apps section
  2. using copr
1
2
sudo dnf copr enable adriend/fedora-apps
sudo dnf install photoflare

OBS STUDIO

3 methods to install obs-studio

1) Using rpm-fusion

If repo is not installed use the following:

1
2
3
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

Then

1
sudo dnf install obs-studio-plugin-x264 obs-studio

This version does not come with browser support so if you need browser support use the github page. It still works even though it is archived.

2) Using flatpak

enable flathub

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

install flatpak

1
flatpak install flathub com.obsproject.Studio -y

running obs

1
flatpak run com.obsproject.Studio 

3) Building from source

building from source is good if you want to include browser support. Browser support plugin is included in flatpak and not in the RPM fusion repo.

you need RPM Fusion also before building. Installing dependencies first

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
sudo dnf install alsa-lib-devel asio-devel cmake ffmpeg-free-devel fontconfig-devel \
        freetype-devel gcc gcc-c++ gcc-objc git glib2-devel jansson-devel \
        json-devel libavcodec-free-devel libavdevice-free-devel librist-devel \
        libcurl-devel libdrm-devel libglvnd-devel libuuid-devel libva-devel \
        libv4l-devel libX11-devel libXcomposite-devel libXdamage libXinerama-devel \
        libxkbcommon-devel luajit-devel make mbedtls-devel pciutils-devel \
        pipewire-devel pulseaudio-libs-devel python3-devel qt6-qtbase-devel \
        qt6-qtbase-private-devel qt6-qtsvg-devel qt6-qtwayland-devel \
        speexdsp-devel swig systemd-devel vlc-devel wayland-devel websocketpp-devel \
        x264-devel

After that downloading and cloning the obs repo with the following commands

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
  wget https://cdn-fastly.obsproject.com/downloads/cef_binary_5060_linux64.tar.bz2
  tar -xjf ./cef_binary_5060_linux64.tar.bz2
  git clone --recursive https://github.com/obsproject/obs-studio.git
  cd obs-studio
  mkdir build && cd build
  cmake -DENABLE_BROWSER=ON -DCEF_ROOT_DIR="../../cef_binary_5060_linux64" -DENABLE_AJA=OFF -DENABLE_NEW_MPEGTS_OUTPUT=OFF ..
  make -j4
  sudo make install
  echo "/usr/local/lib" | sudo tee /etc/ld.so.conf.d/local.conf -a
  sudo ldconfig

One final note for virtualcam functionality if not found in obs-studio. install the following and reboot.

1
sudo dnf install v4l2loopback kmod-v4l2loopback

Sozi

Sozi is a presentation tool for SVG documents. For download go to the github page for updated rpm package. It is also available as appimage and deb

For the youtube video link