Downloading and Installation of XDS

The XDS package comprises two compressed tar-files containing the documentation and the executable programs, respectively.


To obtain a local copy of the XDS documentation (and the .INP file templates), download the compressed tar-file named XDS_html_doc.tar.gz to your Desktop. Uncompress and untar the downloaded file. This will create a directory named XDS_html_doc that you can locally access for consultation by your browser. The downloaded tar-file is no longer needed and can be deleted.


For downloading select the tar-file appropriate for your computer and operating system.

name of tar-file for downloading processor operating system
XDS-INTEL64_Linux_x86_64.tar.gz Intel, AMD Linux x86_64, 64 bit
XDS-OSX_64.tar.gz Intel (emulated on Apple Silicon) mac OS Yosemite or newer
XDS-Apple_M1.tar.gz Apple Silicon Chip M1 macOS Big Sur or newer

The downloaded file contains the executables as mentioned in the table below.

Executable Programs that can be called by the user are in bold face.
xds Program for processing 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 Converts reflection intensities determined by XDS to amplitudes in a format suitable for various structure solution program packages.
2cbf Program to convert various detector image formats to CBF.
merge2cbf Program to convert (and merge) a series of detector images from their native format to CBF.
cellparm Computes mean cell constants from a number of XDS-runs.
pix2lab Helps to find the correct mapping of image pixels to the laboratory frame.
  The following programs are called only by XDS
forkxds Shell script invoked by XDS for distributing computations to the nodes of a cluster.
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 or administrator privileges are not required for a private installation. The XDS package is just a folder containing the executables listed above and all you have to do for installation is to include this folder in the search path for executables.

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

Alternatively, you could edit your standard personal initialization file ( ~/.bashrc or ~/.bash_login or ~/.zshrc , e.g. ) to include the line
export PATH="/full_path_name_of_downloaded_XDS_directory:$PATH"

In addition you could add the command
to your personal initialization file. This command defines the stack size limit of the Linux POSIX threads libraries used by OpenMP for xds_par. The limit 8m may need to be increased if xds_par collapses with a segmentation fault in the COLSPOT or INTEGRATE step for some of your data sets.

This completes installation of the XDS package. As a check you can open a new terminal window and issue the command which xds or which 2cbf or which forkxds.

NOTE that installation of XDS under macOS Catalina first requires the command
xattr -dr full_path_name_to/XDS-OSX_64/*
in order to avoid the message "quarantine because untrusted software".

Installation on a computer cluster

Additional work is only needed for installation of XDS on a cluster system of computer nodes in a networked (NFS) environment where each node may in turn consist of several CPU cores sharing a common address space. To prevent being asked for a password each time by each of the nodes, use of authentication keys for ssh is recommended. For each user such a key can be generated by the following procedure.

Assuming that your home folder ~ is mounted on all nodes of the computer cluster, you should then be able to ssh to any of them without being asked for your password. Also, there is no need to specify the names of the nodes of the cluster during program installation. The names of the nodes you want XDS to use for your data processing run are specified in XDS.INP by the parameter CLUSTER_NODES=. Optimal use of the hardware is made automatically by XDS - depending on the size of your data set.

© 2005-2023, MPI for Medical Research, Heidelberg Imprint Datenschutzhinweis.
page last updated: Jan 10, 2022