Here’s an outline of what is covered in the video. Since YouTube cuts off the text in the description, it’s better to use this post as a guide vs. the description on youtube.

THIS IS THE OLD 9.3 WAY. TRY THE NEW 9.4 EASY INSTALL HERE: https://github.com/TheLinuxITGuy/Rocky-Scripts

I am leaving the 9.3 procedure expanded below because people still land on this video and this URL. Rocky 9.3 + “install Server with no GUI, then layer KDE + NVIDIA by hand” is a teaching path: you see every repo, every GRUB flag, every systemctl set-default. The scripts repo is the one I want you to use on a new Rocky 9.4+ box. Read both if you need to understand why the script enables CRB, EPEL, and RPM Fusion.

Video: https://youtu.be/7AUWzWlssjs

If your goal is a friendly desktop instead of an el9 workstation, compare Linux Mint 22.3 vs Fedora 44. If you need Arch/NVIDIA instead, see Arch Linux with NVIDIA Drivers.

What we are building

Rocky Linux 9.3, Server without GUI at Anaconda time, then:

  • EPEL + RPM Fusion + CRB
  • KDE Plasma + SDDM
  • NVIDIA (CUDA repo, DKMS module, nouveau blacklisted)
  • DaVinci Resolve, VMware Player, Brave, OBS, wallpaper, a neofetch fix

Why Server with no GUI? On el9, starting from a Minimal/Server root and adding Plasma is more predictable than fighting Anaconda’s Workstation live set plus NVIDIA. You will boot to a TTY until step 10 on purpose. That is not a failed install.

Outline and commands used

  1. Download the Rocky Linux ISO from: https://rockylinux.org/download/
  2. IMPORTANT During install, select “Server” with NO GUI
  3. Configuration (EPEL, RPM Fusion, CRB)
  4. Dependencies and tools (Xorg, Plasma, SDDM)
  5. Prep for NVIDIA (Development Tools, kernel-devel, DKMS)
  6. Install NVIDIA
  7. Disable nouveau in GRUB
  8. Reboot (still TTY)
  9. Login and test NVIDIA (nvidia-smi)
  10. Set graphical target + enable SDDM
  11. Flatpak / Flathub
  12. Reboot into KDE
  13. Post-install: Resolve, VMware, neofetch, Brave, OBS, wallpaper

Installer notes (Anaconda)

Download a Rocky 9 ISO that matches this era if you are reproducing the video; for new machines grab current 9.x from the official page and prefer the Rocky-Scripts path.

Write the ISO, boot UEFI, pick Server (or Minimal), custom disk if you care about LVM, create a user with sudo/wheel, set a hostname. Do not tick GNOME here if you are following this document. Network should work at first TTY login (ip addr). If DNS is dead, nmcli before you chase DNF mirrors.

Expected first boot: text login, no SDDM. Log in, sudo -i or use sudo on each command.

3. Configuration (repos)

EPEL:

sudo dnf install --nogpgcheck https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm

RPM Fusion free + nonfree (needed for a lot of multimedia later):

sudo dnf install --nogpgcheck https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-9.noarch.rpm https://mirrors.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-9.noarch.rpm

CRB (CodeReady Builder — extra -devel style packages el9 hides by default):

sudo dnf config-manager --enable crb

Why CRB? NVIDIA and several build dependencies pull headers that live there. If you skip CRB, later dnf errors look like “package not found” for something that should exist on Rocky.

Then:

sudo dnf update -y

Reboot if the kernel updated before you compile NVIDIA modules, or you will build against a kernel you are not running.

--nogpgcheck on those three RPM URLs is how the video pulled the release RPMs; once the repo files exist, normal DNF GPG applies to the packages they serve. Prefer copying repo RPM commands from Rocky/EPEL docs if your security policy forbids nogpgcheck even once.

4. Xorg + KDE (still not the default target)

sudo dnf install xorg-x11-server-Xorg xorg-x11-xauth -y
sudo dnf install plasma-desktop kscreen sddm kde-gtk-config dolphin konsole kate plasma-discover firefox rocky-backgrounds sddm-breeze mpv -y

Why this set? Plasma desktop, display setup (kscreen), SDDM, a file manager, terminal, editor, Discover, Firefox, Rocky wallpapers, SDDM theme, mpv. You can add more KDE apps later. We still have not enabled graphical.target — NVIDIA first, so the first GUI login already has the proprietary driver.

Expected output: a large transaction. If DNF cannot find plasma-desktop, EPEL/Fusion/CRB did not enable. dnf repolist should list epel, fusion, crb.

5. Prep for NVIDIA

sudo dnf groupinstall "Development Tools"
sudo dnf install kernel-devel epel-release
sudo dnf install dkms

kernel-devel must match uname -r. After a dnf update reboot, install kernel-devel-$(uname -r) explicitly if DNF grabbed the wrong one.

uname -r
rpm -q kernel-devel

Mismatch = DKMS builds a module for a kernel that is not running, and nvidia-smi will lie or fail.

6. Install NVIDIA

Add the CUDA/RHEL9 repo (architecture via uname -i):

sudo dnf config-manager --add-repo http://developer.download.nvidia.com/compute/cuda/repos/rhel9/$(uname -i)/cuda-rhel9.repo

Dependencies:

sudo dnf install kernel-headers-$(uname -r) kernel-devel-$(uname -r) tar bzip2 make automake gcc gcc-c++ pciutils elfutils-libelf-devel libglvnd-opengl libglvnd-glx libglvnd-devel acpid pkgconfig dkms

Install the DKMS NVIDIA driver module:

sudo dnf module install nvidia-driver:latest-dkms

Expected output: module stream enabled, driver packages installed, DKMS compiling. Watch for compile errors — they are almost always kernel-devel mismatch or missing Development Tools.

Module stream names change over Rocky 9’s lifetime. If latest-dkms is gone, dnf module list nvidia-driver and pick the current DKMS stream. Do not mix RPM Fusion akmod-nvidia and the CUDA repo driver on the same box unless you know how to unwind it. This video path is the CUDA repo stream.

7. Disable nouveau in GRUB

sudo nano /etc/default/grub

Append nouveau.modeset=0 to your GRUB_CMDLINE_LINUX.
Note: your GRUB_CMDLINE_LINUX shouldn’t match mine. Mine is shown for demonstration purposes only.

GRUB_CMDLINE_LINUX="resume=/dev/mapper/rl_localhost--live-swap rd.lvm.lv=rl_localhost-live/root rd.lvm.lv=rl_localhost-live/swap crashkernel=auto rhgb quiet nouveau.modeset=0 rd.driver.blacklist=nouveau"

I also add rd.driver.blacklist=nouveau so the initramfs does not load nouveau before NVIDIA. Copy your existing GRUB_CMDLINE_LINUX and only append those two tokens.

Write the changes out. If you are using BIOS, ONLY use the BIOS command. If you are using EFI, only use the EFI command. VERY IMPORTANT.

BIOS:

sudo grub2-mkconfig -o /boot/grub2/grub.cfg

EFI:

sudo grub2-mkconfig -o /boot/efi/EFI/rocky/grub.cfg

On newer Rocky 9, grub2-mkconfig -o /boot/grub2/grub.cfg is often the right path even on UEFI (grub.cfg may be a stub). If you are unsure:

ls /boot/grub2/grub.cfg /boot/efi/EFI/rocky/grub.cfg
[ -d /sys/firmware/efi ] && echo UEFI || echo BIOS

Wrong output path = you edited a file the firmware never reads, and nouveau still loads. After mkconfig, grep nouveau /boot/grub2/grub.cfg (or the EFI path you used) should show the tokens.

8–9. Reboot and test NVIDIA (still TTY)

sudo reboot

You’ll still boot to a login prompt (no GUI yet). Log in and test:

nvidia-smi

Expected output: a table with GPU name and driver version. command not found means the NVIDIA userspace is not on PATH / not installed. A kernel ioctl error means the module did not load (dmesg | grep -i nvidia). Do not enable SDDM until nvidia-smi is clean — otherwise you debug a black graphical login and a driver problem at the same time.

10. Set to boot to KDE

sudo systemctl set-default graphical.target
sudo systemctl enable sddm

systemctl get-default should print graphical.target. Then reboot (step 12) after Flatpak if you want one bounce instead of two.

11. Flatpak and Flathub

sudo dnf install flatpak
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo

Discover can install Flatpaks once this remote exists. Use Flatpak for apps that move faster than EPEL (OBS can go either way).

12. Reboot into Rocky Linux KDE with NVIDIA

sudo reboot

SDDM, Plasma, nvidia-smi still good in Konsole. If SDDM is a black screen but TTY (Ctrl+Alt+F3) works, you enabled GUI before the driver was OK — fix nvidia-smi first.

Post-install: DaVinci Resolve

Download: https://www.blackmagicdesign.com/products/davinciresolve

Dependencies:

sudo dnf install apr apr-util mesa-libGLU

Run the vendor installer (version from the video era):

chmod +x DaVinci_Resolve_18.6.4_Linux.run
./DaVinci_Resolve_18.6.4_Linux.run

Use the .run you actually downloaded. Linux Resolve still wants DNxHR for typical H.264:

One liner:

ffmpeg -i "/home/chris/Documents/YT Videos/2023-12-13 09-01-33.mov" -c:v dnxhd -profile:v dnxhr_hq -pix_fmt yuv422p -c:a pcm_s16le OUTPUT_FILE.mov

Batch:

for f in *.mov; do
    ffmpeg -i "$f" -y -c:v dnxhd -profile:v dnxhr_hq -pix_fmt yuv422p -c:a pcm_s16le "${f%.mov}_conv.mov"
done

Install ffmpeg from RPM Fusion if the base OS package is too thin. Same transcode story as Mint and Arch.

VMware Player

Download (URL as in the video era): https://www.vmware.com/products/workstation-player/workstation-player-evaluation.html

sudo dnf install kernel-headers kernel-devel
sudo ./VMware-Player-Full-17.5.0-22583795.x86_64.bundle

After kernel updates, Player rebuilds vmmon. Secure Boot will fight unsigned modules — same as Arch. I disable Secure Boot on this workstation.

Neofetch icon in the terminal

The video-era workaround pulled upstream neofetch:

curl -s https://raw.githubusercontent.com/dylanaraps/neofetch/master/neofetch | grep -o Rocky
sudo curl -s https://raw.githubusercontent.com/dylanaraps/neofetch/master/neofetch -o /usr/bin/neofetch

Caveat: piping a script to /usr/bin is a snapshot of that GitHub file. Prefer dnf install neofetch or fastfetch when the distro provides it. I am documenting what the video ran, not recommending random curl | sudo tee as a lifestyle. Check the file before you overwrite.

Brave

sudo dnf install dnf-plugins-core
sudo dnf config-manager --add-repo 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 dnf install brave-browser

If Brave’s repo URL has moved, use their current Fedora/el instructions. Import the key before install so DNF can verify packages.

OBS Studio

Install via DNF/Fusion or Flatpak. OBS config file location from the video machine:

/home/thelinuxitguy/.config/obs-studio/basic/profiles/Untitled/

Use your home directory. NVIDIA: pick NVENC once nvidia-smi works. Wayland vs X11 session in Plasma can change capture types — if a source is missing, try an X11 Plasma session for recording.

Rocky wallpaper

Wallpaper link from the video:

https://global.discourse-cdn.com/business7/uploads/rockylinux/original/1X/b49931e04226c4413bbe3c2d5d5cb01a3c6669c6.png

Set it in Plasma’s wallpaper settings. CDN URLs rot; Rocky’s official background packages (rocky-backgrounds) are the durable path.

Troubleshooting

  • GDM/GNOME appeared anyway: you did not pick Server without GUI, or another tutorial enabled GNOME. This doc assumes SDDM + Plasma.
  • nvidia-smi after a kernel update: DKMS should rebuild. If it does not, dkms status and dnf reinstall the nvidia DKMS package, reboot.
  • GRUB still loads nouveau: wrong grub.cfg output, or you did not regenerate initramfs (dracut -f) after blacklist. lsmod | grep nouveau should be empty after a successful NVIDIA boot.
  • Resolve won’t start: missing apr / mesa-libGLU, or NVIDIA OpenCL bits. Install nvidia-smi first, then vendor .run logs.

Wrap-up

Rocky 9.3 the long way: Server TTY, repos, Plasma packages, CUDA DKMS NVIDIA, blacklist nouveau, then graphical.target. For 9.4 and newer, run the scripts so you are not retyping CUDA repo URLs. Either way, nvidia-smi before SDDM is the habit that saves black-screen nights.

Thanks for following along and I hope this was helpful and informative.

Best regards,

The Linux IT Guy