Downloading and Installation of XDS

Requesting executables

Private distribution channel.
XDS executable archives are distributed through a private channel under the dual-license model. To request a license and download access, visit dectris.com/en/detectors/XDS/ or contact xds@dectris.com with:

You will receive download instructions for the appropriate archive. The current release is v2026.06.

What the archive contains

The downloaded archive contains the executables listed below.

Executable Description (programs called directly by the user are in bold)
xds Process rotation images using a single CPU at each cluster node.
xds_par Multi-processor version of xds for up to 99 CPUs at each cluster node.
xscale Scaling program for XDS-produced data sets (single-processor version).
xscale_par Multi-processor version of xscale for up to 99 CPUs.
xdsconv Convert reflection intensities determined by XDS to amplitudes in a format suitable for various structure-solution program packages.
2cbf Convert various detector image formats to CBF.
merge2cbf Convert (and merge) a series of detector images from their native format to CBF.
cellparm Compute mean cell constants from a number of XDS runs.
pix2lab Help find the correct mapping of image pixels to the laboratory frame.
geocorr Independent utility for computing correction tables used in the analysis of electron-diffraction patterns by XDS or nXDS.
rezel Utility to analyze lattice symmetry and test for a relation with another crystal description.
The following programs are invoked only by XDS itself.
forkxds Shell script invoked by XDS to distribute computations across cluster nodes.
mcolspot Invoked by forkxds as a main program in single-processor mode for spot finding.
mcolspot_par Invoked by forkxds as a main program running under OpenMP for spot finding.
mintegrate Invoked by forkxds as a main program in single-processor mode for integration.
mintegrate_par Invoked by forkxds as a main program running under OpenMP for integration.

System requirements

XDS v2026.06 executables are built as fully self-contained binaries: the GCC runtime libraries (libgcc, libgfortran, libquadmath, libgomp) are statically linked, so the binaries do not require a Homebrew or system GCC installation to run. The only runtime dependencies are the operating-system-provided C library (libSystem on macOS, glibc on Linux) and POSIX threads.

Platform Archive Minimum OS / runtime Verified on
Linux x86_64 XDS-gfortran_Linux_x86_64.zip glibc 2.28 or newer RHEL 8, AlmaLinux 8, Rocky Linux 8/9, Ubuntu 20.04 LTS and newer, Debian 11 and newer
macOS — Apple Silicon XDS-Apple_M1.zip macOS 13.0 (Ventura) or newer macOS 13 Ventura, 14 Sonoma, 15 Sequoia
macOS — Intel x86_64 XDS-OSX_64.zip macOS 13.0 (Ventura) or newer macOS 13 Ventura, 14 Sonoma, 15 Sequoia

To verify the binary is compatible with your system before adding it to your PATH, unpack the archive and run ./xds_par -v from the resulting directory. The binary should print a version banner and exit 0. A dyld error on macOS (e.g., Library not loaded) or a ld-linux error on Linux (e.g., version 'GLIBC_2.XX' not found) indicates the operating system version is below the minimum supported.

Installation

System or administrator privileges are not required for a private installation. The XDS package is a folder containing the executables listed above; installation just means adding this folder to your search path for executables.

Uncompress and untar the downloaded archive. This will create a directory containing the executables. All executables must be moved to a location included in the search path — for example $HOME/bin/ for a private installation, or /usr/local/bin/ for a system-wide installation (which requires administrator privileges).

Alternatively, edit your shell initialization file (~/.bashrc, ~/.bash_login, or ~/.zshrc) to include:

export PATH="/full_path_name_of_downloaded_XDS_directory:$PATH"

Also consider adding:

export KMP_STACKSIZE=8m

to the same file. This sets the stack-size limit of the POSIX threads library used by OpenMP for xds_par. The limit 8m may need to be increased if xds_par crashes with a segmentation fault during COLSPOT or INTEGRATE for some data sets.

Installation is complete. As a check, open a new terminal and run which xds, which 2cbf, or which forkxds.

Installation on a computer cluster

Additional work is needed only when installing XDS on a cluster of compute nodes in a networked (NFS) environment, where each node may itself consist of several CPU cores sharing a common address space.

To avoid being prompted for a password by each node, ssh authentication keys are recommended:

Assuming your home folder is mounted on all nodes of the cluster, you should then be able to ssh to any of them without being asked for a password. The node names that XDS should use for a data-processing run are specified in XDS.INP via the CLUSTER_NODES= parameter. Optimal hardware use is handled automatically by XDS based on the size of your data set.