This page is frequently updated with the current status of the stable builds of elementary apps / Pantheon DE components on fedora, available via the official fedora repositories and the elementary-staging COPR repository.

Current status

All elementary projects with stable releases are available on fedora, with the exception of mail (the elementary fork of geary, formerly maintained by Yorba). However, some are not fully functional or crashing due to bugs - which is why they aren’t available via the official repositories (yet).

Installation instructions

Since there is no dedicated “Pantheon” spin of fedora available for download (yet), the way to get a Pantheon session running on fedora is by installing it alongside another desktop environment (fedora Workstation 28 is a good starting point).

Read the Current issues section below before installing.

Recommended setup

fedora 30 / rawhide

On fedora 30 / rawhide, there’s now a group available to install everything (including the Shell components and available applications) in one go:

sudo dnf group install "Pantheon Desktop"

fedora 28 and 29

On older releases of fedora (28 or 29), the simplest and safest way to get a Pantheon session up and running is by installing the pantheon-session-settings package, like this:

sudo dnf install pantheon-session-settings

This will pull in all components of the Pantheon desktop environment as dependencies and will make “Pantheon” one of the available session choices in GDM or LightDM.

The applications developed by the elementary project aren’t installed automatically, but can be installed manually, as needed.

Complete installation

The most complete installation of an “elementary” experience on fedora is only available if the elementary-staging COPR repository is enabled, since some of the packages are only available from there right now.

To enable this repository, enable my decathorpe/elementary-staging repository like below. However, be warned that this repository contains some buggy and / or untested packages, especially some Plugs for switchboard, the elementary System Settings applications. They don’t work at all, or don’t work as expected, which is why they aren’t shipped via the official fedora repositories yet.

sudo dnf copr enable decathorpe/elementary-staging

This repository contains two meta-packages for convenience - pantheon-session and pantheon-desktop. The first pulls in the full set of Pantheon DE packages, and the second one also pulls in all elementary desktop applications. Install them like this, as required:

sudo dnf install pantheon-session
sudo dnf install pantheon-desktop

Desktop Replacement Therapy (not recommended)

It is possible to override certain specific settings with elementary-provided default values. However, since those settings also affect the default GNOME sessions, these overrides are not installed and activated by default. If you want the complete elementary experience with matching default settings, follow one of the the installation methods above, and additionally install the pantheon-session-settings-overrides package:

sudo dnf install pantheon-session-settings-overrides

Current issues

Lock screen issues

Right now, locking the screen only works when using the Pantheon session on LightDM - no screensaver and lock screen are available when using GDM. This is a limitation of light-locker, which is used by the Pantheon session.

I am currently looking into ways to solve this issue for GDM users. However, it looks increasingly likely that the Pantheon session will only be officially supported when run from LightDM, at least for fedora 30.

Pantheon Mail FTBFS (f27+)

Because of its dependency on the deprecated and outdated webkitgtk-3.0 library, pantheon-mail can’t be built on fedora 27+ (which means it can’t be built on fedora at all anymore), where this package has been retired due to security concerns. A rewrite of the application - including a port to webkit2gtk-4.0 - is happening right now.

I reported the problematic dependency on the outdated WebKitGTK library here.

The good news is that the complete rewrite currently happening on the master branch on GitHub uses the new webkit2gtk-4.0 library. I’m waiting for a stable release until I’ll work on including it as an official fedora package. Until then, nightly builds are available from my elementary-nightly COPR repository.

Switchboard date/time plug

This plug isn’t working correctly on fedora, as the date and time settings seem to be handled differently on fedora and ubuntu. Help with debugging this issue is welcome.

Switchboard locale plug

This plug isn’t working correctly on fedora, as the locale / language settings seem to be handled differently than on ubuntu. Additionally, it uses apt for installing language packs, which obviously isn’t available on fedora. The upstream project is willing to include multiple package manager backends, but nobody is working on a dnf backend yet.

Switchboard parental controls plug

This plug is completely untested, and I up to now refrained from submitting it to the official fedora repositories due to its sensitive nature. Help with testing this plug is welcome.

Switchboard power plug

This plug depends on elementary-dpms-helper, a small helper utility for DPMS handling. This utility depends on one of ubuntu’s downstream patches to gnome-settings-daemon, which adds a GSettings key not available on fedora.

I added a patch to the build available via my COPR repository so it doesn’t crash, but functionality is limited by this.

Switchboard security/privacy plug

This plug assumes the system’s firewall daemon to be ufw, which is available on fedora, but not the default (firewalld). Until the plug is adapted to have a FirewallD backend too, the plug is pretty non-functional.

Switchboard user accounts plug

This plug is completely untested, and I up to now refrained from submitting it to the official fedora repositories due to its sensitive nature - I don’t want to ship software that can potentially lock users out of their systems.

Help with testing this plug is welcome - however, it would probably be wise to only do this in a throw-away fedora VM.