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.
Only the current release is distributed through the channel above. Earlier releases can be downloaded directly from the release notes, where each version lists its own archives next to the changes it contained.
Every release stays available indefinitely. If you need to reproduce an earlier analysis, or if the current release does not run on your system, an older version remains a legitimate option — the release notes state the minimum operating system for each one.
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. |
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 11.0 (Big Sur) or newer | macOS 14 Sonoma |
| macOS — Intel x86_64 | XDS-OSX_64.zip |
macOS 10.14 (Mojave) or newer | macOS 15 Sequoia |
The Minimum OS column is the version the binaries are built to run on. The Verified on column is the version each build is compiled and launch-tested on for every release. Systems between the two are supported and are not tested on every release.
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
cannot load 'xds_par' (load command 0x80000034 is unknown))
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.
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.
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:
ssh-keygen -t rsa -f ~/.ssh/id_rsa.xds. If a passphrase is
requested, leave it empty.
cat ~/.ssh/id_rsa.xds.pub >> ~/.ssh/authorized_keys
chmod 400 ~/.ssh/authorized_keys
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.