# 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:

- Wayland clients no longer need to install the `xpra-x11` component
- `xpra-client` (default `python3.12` interpreter) and `python3.10-xpra-client` can coexist on Fedora
- installations that do not use network connections can omit all `xpra-codecs*` packages
- pure server installations no longer need to install the `xpra-client-gtk3` package and its dependencies

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|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 start`, `xpra desktop`, `xpra shadow`, etc| |`xpra-x11`|required for all X11 server session types (ie: `xpra start` 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-nvidia`|extra proprietary NVidia codecs: `nvenc`, `nvjpeg`, `nvdec`, `nvfbc`, etc|

Please avoid broken downstream distribution packages.