Setup Checklist
Tested on Fedora Workstation 44, RTX 5060 Ti eGPU, ThinkPad X1 Yoga
Minimal Fedora Workstation Install¶
Download: Fedora Workstation Live ISO
Install:
Select “Minimal Install” (or “Server with GUI” for even less bloat).
Partitioning: Use automatic (Btrfs) or manual (ext4 for
/, XFS for/home).User: Create your account with
sudoaccess.
First boot:
sudo dnf update -y sudo dnf install -y git curl wget flatpak flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
Install NVIDIA Proprietary Drivers¶
# Enable RPM Fusion (non-free for NVIDIA)
sudo dnf install -y https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
sudo dnf groupupdate -y "NVIDIA CUDA Toolkit" # Optional for AI/ML
# Install NVIDIA drivers + CUDA (for RTX 5060 Ti)
sudo dnf install -y akmod-nvidia xorg-x11-drv-nvidia-cuda
# Rebuild initramfs and load kernel module
sudo akmods --force
sudo dracut --force
sudo modprobe nvidiaVerify driver install:
nvidia-smi # Should show your RTX 5060 Ti
glxinfo | grep "OpenGL renderer" # Should show NVIDIAEnable Kernel Modesetting (Critical for Wayland)¶
sudo grubby --update-kernel=ALL --args="nvidia-drm.modeset=1"Reboot now to apply:
sudo systemctl rebootInstall Niri¶
sudo dnf install -y niri niri-settingsInstall Noctalia¶
# Add Terra repo (Fyra Labs)
sudo dnf install -y --nogpgcheck --repofrompath='terra,https://repos.fyralabs.com/terra$releasever' terra-release
# Install Noctalia + Quickshell (dependency)
sudo dnf install -y noctalia-shell quickshellConfigure Niri to Launch Noctalia¶
Create config directory:
mkdir -p ~/.config/niriEdit
~/.config/niri/config.kdl:cat > ~/.config/niri/config.kdl <<EOF # Niri base config ... # Launch Noctalia (Quickshell component) spawn-at-startup "qs" "-c" "noctalia-shell" # Required for portals (screenshots, file dialogs, etc.) spawn-at-startup "dbus-update-activation-environment" "--systemd" "WAYLAND_DISPLAY" "XDG_CURRENT_DESKTOP=niri" # Optional: Enable animations animation { enable true } EOFCreate environment file (
~/.config/niri/environment):cat > ~/.config/niri/environment <<EOF # Ensure Wayland works with NVIDIA export NVIDIA_DRM_MODESET=1 export XDG_SESSION_TYPE=wayland export XDG_CURRENT_DESKTOP=niri export QT_QPA_PLATFORM=wayland export SDL_VIDEODRIVER=wayland export CLUTTER_BACKEND=wayland EOF
Set Up Display Manager (GDM)¶
Create a custom session for Niri + Noctalia:
sudo tee /usr/share/xsessions/niri-noctalia.desktop <<EOF [Desktop Entry] Name=Niri + Noctalia Comment=Scrollable-tiling Wayland compositor with Noctalia shell Exec=/usr/bin/niri Type=Application DesktopNames=Niri EOFDisable GNOME’s Wayland session (to avoid confusion):
sudo mv /usr/share/xsessions/gnome-wayland.desktop /usr/share/xsessions/gnome-wayland.desktop.bakReboot and select “Niri + Noctalia” at the GDM login screen.
Thunderbolt eGPU Setup¶
Install Thunderbolt tools:
sudo dnf install -y boltAuthorize your eGPU enclosure (run after first plug-in):
sudo boltctl authorize <device-UUID> # List devices with `boltctl list`Enable persistent authorization (so it remembers your eGPU):
sudo boltctl enroll
Post-Install Checks¶
Verify Wayland Session¶
echo $XDG_SESSION_TYPE # Should output "wayland"
echo $XDG_CURRENT_DESKTOP # Should output "niri"Test NVIDIA eGPU Detection¶
lspci | grep -i nvidia # Should show your RTX 5060 Ti
nvidia-smi # Should show GPU info (may take ~10-30 sec after plugging in)Test Noctalia¶
Right-click on the desktop → Should show Noctalia’s context menu.
Press
Super(Windows key) → Should open the application launcher.
Troubleshooting¶
Black Screen on Login?¶
Check kernel modesetting:
cat /proc/cmdline | grep nvidia-drm.modeset=1If missing, reapply Step 3 and reboot.
Fallback to TTY:
Press
Ctrl+Alt+F2to switch to a TTY.Run
sudo journalctl -u gdm -bto check GDM logs.
Noctalia Doesn’t Launch?¶
Check Niri logs:
journalctl -u niri -fManually test Noctalia:
qs -c noctalia-shellIf this works, your Niri config is misconfigured.
eGPU Not Detected?¶
Check Thunderbolt:
boltctl listIf unauthorized, run
sudo boltctl authorize <UUID>.Check PCIe:
lspci | grep -i nvidiaIf missing, your eGPU may need to be plugged in before boot.
Final Notes¶
Hotplug Behavior¶
Plugging in: Works for compute-only (CUDA) after ~10-30 sec (no relogin).
Display output: Requires relogin (NVIDIA driver limitation).
Unplugging: Stop all CUDA processes first (
killall python), then unplug.
Performance Tips¶
Disable vsync in Noctalia settings for smoother animations.
Use
nvidia-smi -pl 100to unlock power limits for AI workloads.