# Building DEB packages

The debian packaging files can be found here: packaging/debian.

Debian and Ubuntu also ships xpra packages, though their stable versions are completely out of date, broken and unsupported, they should not be used.

For general information, see building.

## Build requirements

The easiest way to install the build dependencies is using the `dev-env` build subcommand which will honour setup arguments. ie:

    ./setup.py dev-env --minimal --with-openh264

(available in xpra v6.1 onwards)

Alternatively, you can install these sets yourself:

Common dependencies

To be able to run xpra, you are likely to need:

    apt-get install xvfb python3-cairo python3-gi-cairo \
        python3-opengl python3-pil

X11

    apt-get install libx11-dev libxtst-dev libxcomposite-dev libxdamage-dev libxres-dev \
                    libxkbfile-dev \
                    python3-dev \
                    pandoc \
                    libsystemd-dev \
                    liblz4-dev

These X11 utilities are usually required at runtime:

    apt-get install xauth x11-xkb-utils

GTK3

GTK3 toolkit for the server and GUI client:

    apt-get install libgtk-3-dev python3-dev python3-cairo-dev python-gi-dev cython3

### Optional:

Extra codecs

See picture codecs Basic picture codecs

    apt-get install libturbojpeg-dev libwebp-dev python3-pil

for video support (x264 and vpx)

    apt-get install libx264-dev libvpx-dev yasm

for using NVENC

    apt-get install libnvidia-encode1 python3-numpy

HTML5 client

for more details, see html5 client

    apt-get install uglifyjs brotli libjs-jquery libjs-jquery-ui gnome-backgrounds

Client OpenGL acceleration

OpenGL

    apt-get install python3-opengl

Network layer

For more details, see network.

    apt-get install python3-dbus python3-cryptography \
                    python3-netifaces python3-yaml

SSH:

    apt-get install openssh-client sshpass python3-paramiko

misc extras

python libraries:

    apt-get install python3-setproctitle python3-xdg

X11:

    apt-get install libpam-dev quilt xserver-xorg-dev xutils-dev xserver-xorg-video-dummy xvfb keyboard-configuration

authentication modules

For more details, see authentication.

    apt-get install python3-kerberos python3-gssapi

audio forwarding

See audio support and codecs

    apt-get install gstreamer1.0-pulseaudio gstreamer1.0-alsa \
                    gstreamer1.0-plugins-base gstreamer1.0-plugins-good \
                    gstreamer1.0-plugins-ugly

printer forwarding

See printing

    apt-get install cups-filters cups-common cups-pdf python3-cups

## Local Installation

Please make sure to remove any packages before installing from source.

    ./setup.py install --prefix=/usr --install-layout=deb
    # the executable scripts may have been mangled, so overwrite them:
    cp fs/bin/* /bin/

You may also need to `export SETUPTOOLS_USE_DISTUTILS=stdlib`

## DEB Packaging

Install the packaging tools

    apt-get install devscripts build-essential lintian debhelper pandoc

Build DEBs

    git clone https://github.com/Xpra-org/xpra
    cd xpra
    debuild -us -uc -b

This builds fresh packages from git master. You can also use other branches, tags or download a source snapshot instead.