How to Install GitHub Desktop on Fedora Linux

GitHub Desktop provides a graphical interface for Git version control, making it easier to commit changes, create branches, manage pull requests, and collaborate on projects without memorizing command-line syntax. Whether you are new to version control or prefer a visual workflow, GitHub Desktop streamlines repository management on your Fedora system. However, while GitHub does not officially support Linux, the community-maintained shiftkey/desktop fork packages GitHub Desktop for Linux distributions with regular updates and full feature parity.

This guide covers two installation methods: RPM repository configuration for automatic updates and Flatpak installation for sandboxed deployment. Specifically, by the end, you will have a working GitHub Desktop installation ready to clone repositories, create branches, commit changes, and manage pull requests through a visual interface.

Choose Your GitHub Desktop Installation Method

GitHub Desktop offers two installation channels on Fedora; furthermore, each has distinct characteristics suited to different user preferences and system configurations.

MethodChannelUpdatesBest For
RPM RepositoryCommunity-maintainedAutomatic via dnf upgradeMost users who prefer hands-off updates alongside system packages
FlatpakFlathubAutomatic via flatpak updateUsers who prefer sandboxed applications with isolated dependencies

For most users, the RPM repository method is recommended because it integrates with your existing system update workflow and requires no additional package management tools. Conversely, Flatpak is ideal if you prefer application sandboxing or want to avoid adding third-party repositories to your system. Additionally, Fedora systems with SSH-based Git workflows benefit from configuring SSH authentication alongside GitHub Desktop for seamless credential management.

Update Fedora Before GitHub Desktop Installation

Before proceeding, first verify your system architecture to ensure compatibility:

uname -m
x86_64

Most Fedora systems report x86_64 for 64-bit Intel/AMD processors. However, GitHub Desktop packages are only available for x86_64 architecture—ARM systems (aarch64) are not currently supported by the shiftkey/desktop project. Therefore, once confirmed, update your system to prevent package conflicts during installation:

sudo dnf upgrade --refresh

Method 1: Install GitHub Desktop via RPM Repository

The RPM repository method integrates GitHub Desktop into your standard system update workflow, updating automatically through dnf upgrade commands. Currently, two community-maintained RPM mirrors host the shiftkey/desktop project packages.

The Mwt mirror is currently recommended as the primary installation source. In contrast, the official Shiftkey repository (rpm.packages.shiftkey.dev) is experiencing SSL certificate issues where it presents a mismatched *.azureedge.net certificate instead of a valid certificate for its domain. Unfortunately, this Azure CDN configuration error prevents secure HTTPS connections until resolved. Both mirrors ship identical packages and use the same GPG signing key.

Import Mwt GitHub Desktop Mirror (Recommended)

The Mwt mirror is fully operational with valid SSL certificates and uses the same package signing key as the upstream Shiftkey repository. To begin, import the GPG key to verify package authenticity:

sudo rpm --import https://mirror.mwt.me/shiftkey-desktop/gpgkey

Next, add the repository configuration. Specifically, the repo_gpgcheck=0 setting is required because the repository metadata is not signed, though individual packages are still verified with the GPG key:

sudo sh -c 'echo -e "[mwt-packages]\nname=GitHub Desktop\nbaseurl=https://mirror.mwt.me/shiftkey-desktop/rpm\nenabled=1\ngpgcheck=1\nrepo_gpgcheck=0\ngpgkey=https://mirror.mwt.me/shiftkey-desktop/gpgkey" > /etc/yum.repos.d/mwt-packages.repo'

Verify the repository was added successfully:

sudo dnf repolist | grep -i mwt
mwt-packages                        GitHub Desktop

Import Shiftkey GitHub Desktop Mirror (Alternative – Currently Experiencing SSL Issues)

The official Shiftkey repository is currently presenting an SSL certificate for *.azureedge.net instead of rpm.packages.shiftkey.dev, causing certificate validation failures. This is an Azure CDN configuration issue that prevents secure HTTPS connections. Use the Mwt mirror above until this issue is resolved. Only attempt these commands if you have confirmed the SSL certificate has been fixed by running curl -I https://rpm.packages.shiftkey.dev/gpg.key and receiving an HTTP 200 response without certificate errors.

Alternatively, if the SSL certificate issue has been resolved, import the GPG key:

sudo rpm --import https://rpm.packages.shiftkey.dev/gpg.key

Subsequently, add the repository:

sudo sh -c 'echo -e "[shiftkey-packages]\nname=GitHub Desktop\nbaseurl=https://rpm.packages.shiftkey.dev/rpm/\nenabled=1\ngpgcheck=1\nrepo_gpgcheck=0\ngpgkey=https://rpm.packages.shiftkey.dev/gpg.key" > /etc/yum.repos.d/shiftkey-packages.repo'

Install GitHub Desktop

Now, with the repository configured, install GitHub Desktop:

sudo dnf install github-desktop

Confirm the installation when prompted. Consequently, DNF will resolve dependencies and install the package automatically.

Verify GitHub Desktop Installation

Confirm the installation succeeded by checking the version:

github-desktop --version
3.x.x-linuxX

Method 2: Install GitHub Desktop via Flatpak

Flatpak delivers GitHub Desktop in a sandboxed container with isolated dependencies. Moreover, this approach provides consistent behavior across Fedora versions while maintaining application security through restricted system access.

Fedora Workstation includes Flatpak by default, but minimal or server installations may require installing it first with sudo dnf install flatpak. After installing Flatpak on a fresh system, log out and back in to ensure the Flatpak paths are properly configured.

Enable Flathub Repository

To start, add the Flathub repository system-wide to access the GitHub Desktop package:

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

Notably, the --system flag installs the repository for all users on the machine, which is the recommended approach for most desktop applications.

Install GitHub Desktop from Flathub

Then, install GitHub Desktop from Flathub:

sudo flatpak install --system -y flathub io.github.shiftey.Desktop

The -y flag automatically confirms the installation prompt, which is useful for scripted deployments.

Verify Flatpak Installation

Confirm GitHub Desktop installed successfully:

flatpak list | grep -i github
GitHub Desktop    io.github.shiftey.Desktop    3.x.x    stable    system

Troubleshoot Flathub Activation

If Flathub appears inactive despite being added, enable it with:

sudo flatpak remote-modify --system --enable flathub

Launch GitHub Desktop

Launch from Terminal

For RPM installations, simply launch GitHub Desktop directly:

github-desktop

Conversely, for Flatpak installations, the runtime requires the full application ID:

flatpak run io.github.shiftey.Desktop

Launch from Applications Menu

You can also access GitHub Desktop through the standard application menu. Search for “GitHub Desktop” in Activities or navigate to:

Activities > Show Applications > GitHub Desktop

GitHub Desktop welcome screen on Fedora showing Sign in to GitHub.com and Sign in to GitHub Enterprise buttons.
GitHub Desktop welcome screen ready for GitHub account authentication

Manage GitHub Desktop

Update GitHub Desktop

Update procedures vary by installation method. For instance, RPM repository installations receive updates automatically through DNF, while Flatpak installations update through the Flatpak runtime.

For RPM installations, update all system packages including GitHub Desktop:

sudo dnf upgrade --refresh

Alternatively, update only GitHub Desktop:

sudo dnf upgrade github-desktop

For Flatpak installations, update all Flatpak applications system-wide:

sudo flatpak update --system

Remove GitHub Desktop

Removal commands match the installation method used. Therefore, choose the appropriate commands below based on how you originally installed GitHub Desktop.

Remove RPM Installation

To begin, remove the GitHub Desktop package:

sudo dnf remove github-desktop

Next, remove the repository file you created earlier. If you used the Mwt mirror:

sudo rm /etc/yum.repos.d/mwt-packages.repo

Alternatively, if you used the Shiftkey mirror instead:

sudo rm /etc/yum.repos.d/shiftkey-packages.repo

Remove Flatpak Installation

Remove GitHub Desktop and its associated data from Flatpak:

sudo flatpak remove --system -y --delete-data io.github.shiftey.Desktop

Remove User Data and Configuration

Removing user data permanently deletes your GitHub Desktop settings, repository clones list, and stored credentials. Export or back up any important configurations before proceeding.

For RPM installations, remove user configuration data:

rm -rf ~/.config/GitHub\ Desktop ~/.cache/GitHub\ Desktop ~/.local/share/GitHub\ Desktop

For Flatpak installations, the --delete-data flag in the removal command handles this automatically. However, if you need to manually remove any remaining data:

rm -rf ~/.var/app/io.github.shiftey.Desktop

Troubleshooting Common Issues

SSL Certificate Errors with Shiftkey Repository

Typically, if you encounter SSL certificate errors when adding or updating from the Shiftkey repository:

curl: (60) SSL: no alternative certificate subject name matches target hostname 'rpm.packages.shiftkey.dev'

This indicates the repository’s Azure CDN is misconfigured and presenting an invalid certificate. Switch to the Mwt mirror by removing the Shiftkey repository and adding the Mwt repository instead:

sudo rm /etc/yum.repos.d/shiftkey-packages.repo
sudo rpm --import https://mirror.mwt.me/shiftkey-desktop/gpgkey
sudo sh -c 'echo -e "[mwt-packages]\nname=GitHub Desktop\nbaseurl=https://mirror.mwt.me/shiftkey-desktop/rpm\nenabled=1\ngpgcheck=1\nrepo_gpgcheck=0\ngpgkey=https://mirror.mwt.me/shiftkey-desktop/gpgkey" > /etc/yum.repos.d/mwt-packages.repo'

Verify the repository switch succeeded:

sudo dnf repolist | grep -i mwt
mwt-packages                        GitHub Desktop

Repository Metadata Download Fails

If you see errors like the following during installation:

Error: Failed to download metadata for repo 'mwt-packages'

First, verify the repository configuration:

sudo dnf repolist
repo id               repo name
fedora                Fedora 43 - x86_64
mwt-packages          GitHub Desktop
updates               Fedora 43 - x86_64 - Updates

However, if the repository appears but fails to sync, check your network connectivity. For general DNF performance improvements, refer to the guide on increasing DNF speed on Fedora.

GitHub Desktop Fails to Launch

If GitHub Desktop doesn’t launch after installation, verify the installation completed successfully:

which github-desktop
/usr/sbin/github-desktop

If nothing appears, reinstall the package. For Flatpak installations, run the verification command shown in the installation section to confirm the application is present.

Flatpak Sandbox Restrictions

The Flatpak version runs in a sandbox with limited filesystem access. Therefore, if you need to access repositories outside your home directory, grant additional permissions:

sudo flatpak override --system io.github.shiftey.Desktop --filesystem=/path/to/repositories

Replace /path/to/repositories with the actual directory path you need to access.

Display or Rendering Issues

If GitHub Desktop shows a blank window or has display glitches, the application may have GPU acceleration conflicts. Launch with software rendering:

github-desktop --disable-gpu

For Flatpak installations:

flatpak run io.github.shiftey.Desktop --disable-gpu

If this resolves the issue, you can make it permanent by editing the desktop file or creating an alias in your shell configuration.

Conclusion

GitHub Desktop now provides graphical Git workflow management on your Fedora system. Regardless of whether you installed via RPM for system integration or Flatpak for sandboxed isolation, you can now clone repositories, manage branches, review diffs, and commit changes through an intuitive interface. Furthermore, if you need to configure Git itself before using GitHub Desktop, see the guide on installing and configuring Git on Fedora. For enhanced package management workflows, explore DNF5 installation examples or learn about automating system updates with DNF Automatic.

1 thought on “How to Install GitHub Desktop on Fedora Linux”

Leave a Comment