This is an UNSTABLE release. It includes many experimental features, as well as many AI generated fixes. We recommend using rc.152 for production use. * jfjoch_broker: Add EXPERIMENTAL pixelrefine mode for image processing * jfjoch_broker: Allow to load user mask from 8-bit and 16-bit TIFF files * jfjoch_broker: Add ROI calculation in non-FPGA workflow * jfjoch_broker: Fixes to TCP image pusher * jfjoch_broker: Remove NUMA bindings * jfjoch_broker: Improvements to indexing * jfjoch_broker: For PSI EIGER, trimming energies are taken from the detector configuration (now compulsory) instead of hardcoded values * jfjoch_writer: Save ROI definitions and the per-pixel ROI bitmap in the master file; azimuthal ROIs support phi (angular) sectors * jfjoch_viewer: Major redesign with dockable panels and saved layouts, plus on-canvas creation/move/resize of box, circle and azimuthal ROIs * jfjoch_viewer: Run jfjoch_process reprocessing jobs from inside the GUI and overlay per-run results Reviewed-on: #63
2.6 KiB
Software requirements
Operating system
Recommended operating system is Red Hat Enterprise Linux (RHEL) / Rocky Linux versions 8 or 9. For this operating systems we provide RPMs with pre-built binaries to simplify deployment. On 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 with providing some packages from external repositories.
The desktop viewer jfjoch_viewer (only) can additionally be built on Windows 11 with Visual
Studio 2026 (MSVC), CUDA 13.3 and Qt 6.11 — see
jfjoch_viewer ▸ Building from source on Windows.
The Windows installer bundles the Qt runtime, and on the CUDA build the CUDA runtime (cuFFT) as
well, so end users need neither Qt nor a CUDA toolkit installed — only an NVIDIA GPU driver for the
GPU path. The rest of Jungfraujoch is Linux-only.
Software dependencies
Required:
- C++20 compiler and C++20 standard library; recommended GCC 11+ or clang 14+ (Intel OneAPI, AMD AOCC)
- CMake version 3.26 or newer + a build tool (GNU make or Ninja)
- zlib compression library
- Eigen (header-only linear algebra library), version 3.4.x (the build requests
Eigen3 3.4, which Eigen's same-major-version rule does not satisfy with 5.x)
HDF5, libtiff and libjpeg-turbo used to be required system packages; they are now downloaded and built automatically by CMake (see the note below), so they no longer need to be installed.
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 and Eigen are the exception — they must be preinstalled (found via find_package); on Windows,
where they are not present system-wide, install them into a prefix and point CMAKE_PREFIX_PATH at
it (see Building from source on Windows).
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_NOTICES.md and the licenses/ directory.