-
-
Notifications
You must be signed in to change notification settings - Fork 234
Download
Official installers and package repositories for every supported platform and release channel.
| Platform | Downloads and installation |
|---|---|
| Microsoft Windows | EXE, MSI, and portable ZIP bundles |
| macOS | PKG and DMG bundles for Intel and Apple silicon |
| Linux | Automated setup, RPM repositories, and Debian repositories |
Downloads are available for all supported platforms. For most use cases, client and server can run any supported Xpra version.
Three repositories track different release streams:
-
LTScontains the v5.1.x long-term support releases. -
stabletracks the latest branch from the v6.x series. -
betacontains the newest builds.
See Build Status for availability by distribution, architecture, and channel.
Source code is available from the GitHub repository and as release snapshots:
- PyPI releases — preferred
- xpra.org source archives — identical to PyPI
- GitHub releases — backup source
All binary downloads are signed with the Xpra PGP key,
key ID F18AD6BB. Its fingerprint is
B499 3B57 3231 48E3 7977 E5D8 7325 4CAD 1797 8FAF.
For rather tedious reasons, you may need to import two almost identical versions of this key to use the repositories on Debian systems.
Windows and macOS bundles include dozens of libraries and come in two variants:
| Build type | Contents |
|---|---|
| Light | Lower disk usage with more limited codec support |
| Full | All codecs and server support; considerably larger |
Formats, architectures, signatures, and unattended installation
The Microsoft Windows download directories (LTS, stable and beta) contain for each architecture:
| Format | Purpose |
|---|---|
EXE |
General purpose installer |
MSI |
alternative installer for unattended installations |
ZIP |
local installation without administrative rights, missing file association |
Both x86_64 (aka AMD64 or x64) and arm64 are fully supported, but arm64 builds has more limited hardware support.
-
the signatures can be verified using GPG, see details above -
the sbom files uses the cyclonedx JSON file format, these files may be slightly incomplete for non-Light builds
- use the
MSIinstaller - use the
EXEinstaller with the/verysilentInnoSetup command line argument
Windows download links
| Architecture | Channel | EXE Download | MSI Download | ZIP Download | SBOM |
|---|---|---|---|---|---|
x86_64 |
LTS |
Xpra-Light_Setup.exe |
Xpra-Light.MSI |
Xpra-Light.zip |
|
arm64 |
LTS |
Xpra-Light_Setup.exe |
Xpra-Light.MSI |
Xpra-Light.zip |
|
x86_64 |
stable |
Xpra-Light_Setup.exe |
Xpra-Light.MSI |
Xpra-Light.zip |
|
arm64 |
stable |
Xpra-Light_Setup.exe |
Xpra-Light.MSI |
Xpra-Light.zip |
|
x86_64 |
beta |
Xpra-Light_Setup.exe |
Xpra-Light.MSI |
Xpra-Light.zip |
|
arm64 |
beta |
Xpra-Light_Setup.exe |
Xpra-Light.MSI |
Xpra-Light.zip |
| Channel | EXE Download | MSI Download | ZIP Download | SBOM |
|---|---|---|---|---|
| LTS |
Xpra_Setup.exe |
Xpra.MSI |
Xpra.zip |
|
| stable |
Xpra_Setup.exe |
Xpra.MSI |
Xpra.zip |
|
| beta |
Xpra_Setup.exe |
Xpra.MSI |
Xpra.zip |
- you can also install xpra using MSYS2 by running
pacman -S mingw-w64-x86_64-python3-xpra. There are downsides to this installation method: no nvidia codecs or file association. You can control some of the components and dependencies manually, though this is not easy - build from source
- html5 client
Download formats
The macOS download directories (LTS, stable and beta) contain:
| Format | Purpose |
|---|---|
PKG |
Structured package format: preferred, will install file association |
DMG |
Disk Image: general purpose installer |
macOS download links
The latest builds for each MacOS download channel (LTS, stable and beta) are:
(only available with the arm64 beta channel for now)
| Architecture | Format | LTS Download | Stable Download | Beta Download |
|---|---|---|---|---|
| arm64 | DMG |
n/a | n/a |
Xpra-Light.dmg |
| arm64 | PKG |
n/a | n/a |
Xpra-Light.pkg |
| Architecture | Format | LTS Download | Stable Download | Beta Download |
|---|---|---|---|---|
| x86_64 | DMG |
Xpra.dmg |
Xpra.dmg |
Xpra.dmg |
| x86_64 | PKG |
Xpra.pkg |
Xpra.pkg |
Xpra.pkg |
| arm64 | DMG |
Xpra.dmg |
Xpra.dmg |
Xpra.dmg |
| arm64 | PKG |
Xpra.pkg |
Xpra.pkg |
Xpra.pkg |
These macOS packages are not notarized. See Can't you just right click? for installation guidance.
🔴 If MacOS complains that the application is damaged, run:
sudo xattr -rd com.apple.quarantine /Applications/Xpra.app
For Fedora, RHEL and its derivatives, Debian, and Ubuntu, install the repository automatically with:
curl https://xpra.org/get-xpra.sh | bashAlternatively, run the setup from a source checkout:
git clone https://github.com/Xpra-org/xpra
cd xpra
./setup.py install-repoThen you can just install xpra using your package manager.
To install the beta or lts channels, use the install-beta-repo or install-lts-repo subcommands instead.
Starting with version 6, xpra packages make extensive use of sub-packages.
As long as you avoid buggy downstream packages, installing xpra using your package manager should install the client and server components as well as most picture codecs and audio support.
The repositories contain more than just the xpra packages themselves.
Many distributions do not ship all of the libraries that xpra needs, or only ship versions which are too old,
or built without the features required.
Those dependencies are rebuilt and shipped from the same repositories, so that installing xpra pulls in
everything it needs without having to install anything by hand.
Which dependencies have to be provided varies from one distribution to another - and even between different releases of the same distribution:
-
Fedoraalready provides almost everything, so only a handful of packages are added - the
RHELclones (AlmaLinux,RockyLinux,OracleLinux,CentOS Stream) need many more, and the version 9 builds also target a newer interpreter (python3.12) than the systempython3.9, which means that every Python module has to be rebuilt for it -
AlmaLinux 10also needs codec libraries thatFedoracan get from rpmfusion -
DebianandUbuntuneed very few extra packages
Examples of packages provided
Python modules built for at least some of the supported distributions:
| Package(s) | Used for |
|---|---|
python3-aioquic, python3-pylsqpack
|
QUIC transport |
python3-pycuda, python3-pynvml
|
NVIDIA hardware accelerated encoders |
python3-pyopengl |
client OpenGL rendering |
python3-fido2, python3-pyu2f
|
authentication modules |
python3-pillow, python3-numpy
|
picture encodings |
python3-cairo, pygobject3, python3-pyxdg, python3-dbus
|
GTK client and server |
python3-uinput |
virtual input devices |
python3-cython, python3-setuptools, python3-wheel
|
build time only |
Other components:
| Package(s) | Used for |
|---|---|
openh264, libyuv
|
video encoding and colourspace conversion |
xorg-x11-drv-dummy / xserver-xorg-video-dummy
|
the patched dummy driver used by seamless and desktop servers |
gstreamer1-plugin-timestamp |
GStreamer plugin used for extracting monotonic timestamps from audio buffers |
The exact list of packages built for each RPM target, and the order in which they are built, can be found in
packaging/rpm/distros.
Because these packages are built specifically for xpra, they may be more recent than the ones from your distribution and your package manager will usually prefer them.
The same repositories also provide other projects from Xpra-org:
| Package | Project | Description |
|---|---|---|
xpra-html5 |
xpra-html5 | the HTML5 client served by the server's web server - usually installed with xpra as a recommended package |
go-xpra |
go-xpra | minimal client written in Go |
rust-xpra |
rust-xpra | client written in Rust |
These clients are lightweight alternatives to the regular Python client - see the client feature comparison for details.
RPM repository setup and download links
- Download the chosen repository file (
stable,lts, orbeta) into/etc/yum.repos.das root. For example, on Fedora:
# also available:
# REPO="xpra-lts"
# REPO="xpra-beta"
REPO="xpra"
wget -O /etc/yum.repos.d/xpra.repo https://raw.githubusercontent.com/Xpra-org/xpra/master/packaging/repos/Fedora/${REPO}.repo- Install Xpra with
dnf install xpra.
| Distribution | LTS Repository file | Stable Repository file | Beta Repository File | Extra Notes |
|---|---|---|---|---|
| Fedora | xpra-lts.repo | xpra.repo | xpra-beta.repo | |
| AlmaLinux | xpra-lts.repo | xpra.repo | xpra-beta.repo | enable crb and EPEL
|
| RockyLinux | xpra-lts.repo | xpra.repo | xpra-beta.repo | enable crb and EPEL
|
| OracleLinux | xpra-lts.repo | xpra.repo | xpra-beta.repo | enable codeready_builder and EPEL
|
| Red Hat Enterprise Linux | use AlmaLinux repository | use AlmaLinux repository | use AlmaLinux repository | |
| CentOS | use AlmaLinux repository | use AlmaLinux repository | use AlmaLinux repository | |
| CentOS Stream | xpra-lts.repo | xpra.repo | xpra-beta.repo |
Starting with version 5, the RPM packages depend on rpmfusion packages for some codecs, RHEL and clones also depend on EPEL packages.
To enable crb: dnf config-manager --set-enabled crb
You can also build your own RPM packages.
Unreleased distributions (ie: Fedora Rawhide) should use the beta repositories, your mileage may vary.
Debian repository setup and download links
- Ensure the SSL certificates are up to date:
sudo apt install ca-certificates - Import the package-signing key:
sudo wget -O "/usr/share/keyrings/xpra.asc" https://xpra.org/xpra.asc(if the file already exists, you may hit some problems )
3. Download the appropriate repository file from the table below into
/etc/apt/sources.list.d as root:
cd /etc/apt/sources.list.d ; wget $REPOFILE
4. Run apt update ; apt install xpra.
| Distribution | LTS Repository File | Stable Repository File | Beta Repository File |
|---|---|---|---|
| Debian Bullseye | xpra-lts.sources | not available | xpra-beta.sources |
| Debian Bookworm | xpra-lts.sources | xpra.sources | xpra-beta.sources |
| Debian Trixie | xpra-lts.sources | xpra.sources | xpra-beta.sources |
| Debian Forky | (*) use beta only | (*) use beta only | xpra-beta.sources |
| Debian Sid | (*) use beta only | (*) use beta only | xpra-beta.sources |
| Ubuntu Jammy Jellyfish | xpra-lts.sources | xpra.sources | xpra-beta.sources |
| Ubuntu Noble Nombat | xpra-lts.sources | xpra.sources | xpra-beta.sources |
| Ubuntu Resolute Raccoon | xpra-lts.sources | xpra.sources | xpra-beta.sources |
The DEB repositories may require the "universe" repository source to be activated to get all the features.
(*) Distributions that do not provide a stable ABI should enable the beta repository.
(*) Older distributions can only run xpra 5.x and not later versions.
Example: install the stable repository on Ubuntu Noble Numbat
Execute these commands as root (ie: using `sudo):
DISTRO="noble"
# other options:
# REPO="xpra-lts"
# REPO="xpra-beta"
REPO="xpra"
# install https support for apt (which may be installed already):
apt update
apt install apt-transport-https software-properties-common
apt install ca-certificates
# add xpra GPG key:
wget -O "/usr/share/keyrings/xpra.asc" https://xpra.org/xpra.asc
# add the xpra repository:
wget -O "/etc/apt/sources.list.d/$REPO.sources" https://raw.githubusercontent.com/Xpra-org/xpra/master/packaging/repos/$DISTRO/$REPO.sources
# install the xpra package:
apt update
apt install xpraFor other distributions or variants, simply change DISTRO to match your distribution name.
← Wiki home · Supported platforms · Supported versions · Build status