* Rugnux: Processes a collection live while jfjoch_broker writes it (`rugnux <master.h5> <broker URL>`). * Rugnux: Processing starts on the first images and confirms its choices once all are in, so analysis can begin during collection. * Rugnux: Faster processing, especially on servers with several GPUs and CPU sockets and on computers without a GPU (`--no-gpu`, macOS). * Rugnux: Uses much less GPU memory, so large data sets stay on the GPU of smaller cards, and a data set too large for the card is processed on the CPU instead. * Rugnux: On macOS, Bragg integration runs on the Apple GPU. * Rugnux: Better handling of twinning and pseudo-symmetry, with the twin hypothesis written as `<prefix>_twin_<SG>.mtz`, and a wrong `--model` no longer confirms the data or decides the hand. * Rugnux: `--model` accepts predicted (AlphaFold) models and falls back to molecular replacement when the model is not placed as a rigid body (experimental `--mr` forces it), settling space group, hand and twinning and writing a different answer as `<prefix>_mr.mtz`. * Rugnux: Molecular replacement is faster and settles the space group in more cases with several copies in the asymmetric unit. * Rugnux: Deposition-ready mmCIF, a richer report, and numbered steps on the terminal with the full log in `<prefix>_log.txt`; `_P1.mtz`, `--estimate-beam-center` and `--beam-center-search` are removed. * Rugnux: The beam-stop shadow is found correctly on tilted detectors. * Rugnux: Stills files that record a stationary goniometer axis get the default stills geometry refinement. * jfjoch_viewer: "Analyze dataset" uses the same defaults as a bare `rugnux <file>`, and shows the results of processed CBF, marCCD and SMV sweeps. * jfjoch_viewer: The Files panel refreshes on F5 and every few seconds, and the plot type and other selections stay put during live collection. * jfjoch_writer: Memory stays bounded and old data files are closed efficiently on long runs, any failure ends the run in an error state the broker is told about, and the master file appears only after its data files; the ZeroMQ pusher logs when a stalled writer makes it drop images. * Fixes: The TCP image pusher no longer blocks the broker's receiver, GPU out-of-memory failures stop with a clear message, and the XDS plugin masks module and chip edges. --------- Co-authored-by: Filip Leonarski <jungfrau@filips-mac-mini.home> Reviewed-on: #85 Co-authored-by: Filip Leonarski <filip.leonarski@psi.ch>
2.9 KiB
Software requirements
Operating system
Recommended operating system is Red Hat Enterprise Linux (RHEL) / Rocky Linux versions 8 or 9. For these operating systems we provide RPMs with pre-built binaries to simplify deployment. On an experimental basis we also build repositories for Ubuntu 22.04 and 24.04.
Running Jungfraujoch on Red Hat Enterprise Linux 7 is currently not tested and not recommended, but likely possible by providing some packages from external repositories.
Two programs additionally run on Windows 11: the desktop viewer jfjoch_viewer, shipped as a
pre-built installer, and rugnux, the offline analysis CLI, shipped as a .zip. Both
can be built from source with Visual Studio 2026 (MSVC) and CUDA 13.3 — the viewer additionally
needs Qt 6.11; see
jfjoch_viewer ▸ Building from source on Windows.
The Windows artefacts bundle the Qt runtime (viewer only) and, on the CUDA builds, the cuFFT DLL, so
end users need neither Qt nor a CUDA toolkit installed — only an NVIDIA GPU driver for the GPU path.
On Linux the portable archives link CUDA entirely statically and so need nothing but the driver.
rugnux is also built for 64-bit Arm Linux (GH200, DGX Spark). The rest of Jungfraujoch is
Linux-only and x86-64-only. See Release contents for the CPU baseline and
CUDA requirements of each released package.
Software dependencies
Required:
- C++20 compiler and C++20 standard library; recommended GCC 11+ or clang 14+ (Intel OneAPI and AMD AOCC also work)
- CMake version 3.26 or newer + a build tool (GNU make or Ninja)
HDF5, libtiff, libjpeg-turbo, zlib and Eigen used to be required system packages; they are now downloaded and built automatically by CMake (see the note below), so none of them needs to be installed. Beyond the optional dependencies listed below, no third-party library has to be provided by the host any more.
Optional:
- CUDA compiler version 12.8 or newer - required for the MX fast feedback indexer and GPU analysis
- FFTW library - for indexing if GPU/CUDA is absent (also auto-downloaded by CMake)
- Node.js - to build the frontend
- Qt version 6 (for jfjoch_viewer)
Many further dependencies (spdlog, Zstandard, HDF5, slsDetectorPackage, libzmq, libtiff,
libjpeg-turbo, Ceres, the fast feedback indexer, Catch2, ...) are downloaded automatically
by CMake and statically linked; building therefore requires network access on the first configure.
zlib (as zlib-ng in its zlib-compatible mode) and Eigen are among them: a copy already on the
machine is used instead if the configure is given -DZLIB_ROOT=<prefix> or -DEigen3_DIR=<dir>.
Others are vendored directly in the source tree. The complete list of third-party components, with
copyright holders, licenses and verbatim license texts, is in
Third-party software notices and the licenses/ directory.