Xpra Documentation

Packaging

Starting with version 6, xpra packages make extensive use of sub-packages. This allows users to install only the components they need, drastically reducing the number of packages installed, saving disk-space and reducing the attack surface. It also allows multiple versions of xpra to be installed in parallel on the same system, as long as each one uses a different python interpreter.

For example:


Assuming that the https://xpra.org/ repositories are installed correctly, installing xpra using your package manager should install the client and server components as well as most picture codecs and audio support. For slimmer installations, you may also want to use apt’s --no-install-recommends or dnf’s --setopt=install_weak_deps=False and select individual xpra sub-packages:

Package selection

Package Details
xpra-filesystem this package contains configuration files and is independent of the python version
See multiple python targets (version 6 onwards)
xpra-common this package is required by all the other sub-packages
xpra-client console clients: xpra stop, xpra info, etc
xpra-client-gtk3 the main client GUI for connecting to sessions: xpra attach, xpra launcher, etc
xpra-server for starting sessions locally: xpra seamless, xpra desktop, xpra shadow, etc
xpra-server-wayland experimental Wayland seamless server: xpra seamless --backend=wayland
xpra-x11 required for all X11 server session types (ie: xpra seamless and xpra desktop) and for X11 clients
xpra-audio audio forwarding support for both client and server
xpra-codecs core picture compression codecs
xpra-codecs-extras more video compression codecs with heavier footprint and / or licensing requirements
xpra-codecs-amd extra proprietary AMD codecs: amf encoder
xpra-codecs-nvidia extra proprietary NVidia codecs: nvenc, nvjpeg, nvdec, nvfbc, etc

Here is a visual representation of the dependencies between the sub-packages:

subpackages.png


Please avoid broken downstream distribution packages.