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.
| Method | Channel | Updates | Best For |
|---|---|---|---|
| RPM Repository | Community-maintained | Automatic via dnf upgrade | Most users who prefer hands-off updates alongside system packages |
| Flatpak | Flathub | Automatic via flatpak update | Users 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.netcertificate 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.netinstead ofrpm.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 runningcurl -I https://rpm.packages.shiftkey.dev/gpg.keyand 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

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.

Very impressive. Thanks