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.
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 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.
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.