How to Install Cinnamon Desktop on Fedora

Install Cinnamon on Fedora by enabling RPM Fusion and running the group install command.

You installed Fedora Workstation expecting a familiar start menu and system tray

You installed Fedora Workstation expecting a familiar start menu and system tray. Instead, you got GNOME's activity overview and a workflow that feels completely foreign. You want Cinnamon. You want the traditional desktop layout, the right-click context menus, and the panel that behaves like the Windows or Linux Mint setups you already know. The default Fedora repository does not ship Cinnamon by default. You need to pull it from RPM Fusion and install it as a desktop group.

What's actually happening

Fedora separates its core repositories into official packages and community-maintained extras. The official repos contain GNOME, KDE Plasma, and a few other environments that align with Fedora's packaging guidelines and testing cycles. Cinnamon lives in RPM Fusion because it pulls in dependencies that cross into proprietary firmware, codec packages, or community-maintained libraries that Fedora's upstream policy keeps separate. When you install a desktop environment on Fedora, you are not just copying a few binaries. You are pulling in a dnf package group. A group bundles the window manager, the shell, the panel, the settings daemon, the icon theme, and the sound mixer into a single transaction. The package manager resolves all the hidden dependencies and places configuration files in the correct system directories.

Fedora's display manager, GDM, reads session files from /usr/share/wayland-sessions/ and /usr/share/xsessions/. Each desktop environment drops a .desktop file in those directories. When you log in, GDM reads those files and presents the session selector. Selecting a session tells the system which compositor to start, which environment variables to export, and which settings daemon to launch. The system does not merge desktop environments. It switches the entire session stack.

Configuration drift happens when you edit files in the wrong directory. System-wide themes and panel layouts live in /usr/share/cinnamon/. User modifications belong in ~/.config/cinnamon/ or /etc/xdg/cinnamon/. Never edit files in /usr/lib/ or /usr/share/. Those directories are owned by the package manager. A future dnf upgrade will overwrite manual edits without warning. Keep your customizations in /etc/ or your home directory. Package manager files in /usr/ are read-only by design.

Read the session selector before you guess. GDM shows exactly what the system will load.

The fix

Open a terminal and run the repository setup first. RPM Fusion splits its packages into free and nonfree tiers. The free tier contains open-source software. The nonfree tier contains proprietary firmware and codec packages that many desktop environments expect to be present. Installing both prevents missing dependency errors later.

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 \
# WHY: The URL uses rpm -E %fedora to automatically match your current release number.
# WHY: Installing both free and nonfree release packages prevents codec and firmware conflicts.
# WHY: sudo elevates privileges so dnf can write to /etc/yum.repos.d/.

Refresh the package metadata so dnf knows what is available. This is the standard weekly maintenance step on Fedora.

sudo dnf upgrade --refresh
# WHY: --refresh forces dnf to download fresh repo metadata instead of using cached data.
# WHY: Running upgrade first ensures your base system is at the latest point release before adding new software.
# WHY: Keeping the base system current reduces the chance of dependency resolution failures.

Install the Cinnamon desktop group. The groupinstall command tells dnf to pull the entire desktop bundle rather than guessing which individual packages you need.

sudo dnf groupinstall "Cinnamon Desktop"
# WHY: groupinstall resolves the full dependency tree for the desktop environment.
# WHY: Quoting the group name handles the space in the package group identifier.
# WHY: This pulls in cinnamon, cinnamon-session, muffin, nemo, and all required themes.

Log out of your current session. The display manager will show a session selector. On Fedora, this is usually a gear icon or a dropdown menu in the bottom right corner. Select Cinnamon from the list. Enter your password and log back in. The system will load the Muffin window manager and the Cinnamon shell instead of GNOME.

Reboot before you debug. Half the time the symptom is gone.

Verify it worked

Check that the session is actually running and that the core components are present.

echo $XDG_CURRENT_DESKTOP
# WHY: This environment variable reports which desktop session is active.
# WHY: Cinnamon sets this to Cinnamon or X-Cinnamon depending on the backend.
# WHY: A blank output means the shell failed to initialize or you are in a TTY.

Verify the package group installed cleanly.

dnf group list --installed | grep -i cinnamon
# WHY: Confirms the group is registered as installed in the dnf database.
# WHY: A missing group entry usually means the transaction was interrupted or conflicted.
# WHY: Group tracking ensures future upgrades pull the correct dependency set.

If you see Cinnamon or X-Cinnamon in the output, the environment is active. Open the settings panel and check the display, sound, and network sections. Cinnamon uses its own settings daemon, so GNOME's settings app will not control your panels or themes. Check the system journal if the session feels sluggish or drops to a black screen.

journalctl -xeu cinnamon-session.service
# WHY: -x adds explanatory text to journal entries for faster triage.
# WHY: -e jumps to the end of the log so you see recent events first.
# WHY: -u filters output to the specific session unit instead of dumping the whole journal.

Run journalctl first. Read the actual error before guessing.

Common pitfalls and what the error looks like

The installation will refuse to proceed if another desktop group is already marked as installed and conflicts with Cinnamon's session files. You will see a transaction error that looks like this:

Error: Transaction test error:
  file /usr/share/wayland-sessions/cinnamon.desktop conflicts between attempted installs cinnamon-session-6.0.0-1.fc40.x86_64 and gnome-session-wayland-session-45.1-1.fc40.x86_64

The conflict is intentional. Fedora's package manager prevents two session daemons from claiming the same desktop entry files. Run sudo dnf groupremove "GNOME Desktop" before installing Cinnamon if you do not plan to keep both. Keep in mind that removing GNOME will also remove GNOME-specific utilities like the software center and the default terminal.

Another common issue is the display server backend. Cinnamon runs best on Xorg. Fedora defaults to Wayland for new installations. If you select Cinnamon on the login screen but the session falls back to a black screen or drops to a terminal, the Wayland compositor is likely failing to initialize. Switch to the Xorg session by selecting "Cinnamon (Xorg)" from the session menu. Xorg provides broader driver compatibility and fewer compositor crashes on older hardware.

Configuration drift happens when you edit files in the wrong directory. System-wide themes and panel layouts live in /usr/share/cinnamon/. User modifications belong in ~/.config/cinnamon/ or /etc/xdg/cinnamon/. Never edit files in /usr/lib/ or /usr/share/. Those directories are owned by the package manager. A future dnf upgrade will overwrite manual edits without warning.

SELinux denials show up in journalctl -t setroubleshoot with a one-line summary. Read those before disabling SELinux. Cinnamon ships with proper SELinux contexts. If you see an AVC denial, the package is likely missing a policy module or you installed a third-party applet that lacks proper labeling. Run restorecon -Rv /usr/share/cinnamon/ to reset contexts instead of switching to permissive mode.

Trust the package manager. Manual file edits drift, snapshots stay.

When to use this vs alternatives

Use Cinnamon when you want a traditional desktop layout with a start menu, system tray, and right-click context menus. Use GNOME when you prefer a workflow-driven interface with virtual workspaces and a minimal panel. Use KDE Plasma when you need granular control over every window behavior and desktop widget. Use XFCE when you are running older hardware and need the lowest possible memory footprint. Stay on the default Workstation setup if you only deviate from the defaults occasionally.

Pick the environment that matches your hardware and workflow. Do not chase features that add complexity you will not use.

Where to go next