Files
Jungfraujoch/docs/REPOSITORIES.md
T
leonarski_fandClaude Opus 5 46930142dd docs: write down what a release ships
Nothing said what is in a release or what it needs of the machine it lands on: that the
Linux binaries are built -march=x86-64-v3 and the Windows ones /arch:AVX, so each has a
CPU floor; that the portable .tgz is built on RHEL 8 for its glibc; that the Windows
installer is MSVC (Visual Studio 2026), CUDA 13.3, Qt 6.11 and carries the Qt runtime;
and above all what the CUDA variants need. Only cuFFT is linked dynamically, and it has
no link-time dependency on the driver library, so a CUDA build starts on a machine with
no NVIDIA GPU at all and falls back to the CPU path - as long as cuFFT can be loaded,
which the .tgz and the installer arrange by shipping it and the distribution packages
arrange through the distribution's own CUDA packages. Collected into a new page rather
than scattered over the install instructions.

The repository page had the RHEL 9 rows pointing at el8 paths under the wrong slsdet
number, no rows at all for the two slsdet9 repositories the pipeline uploads, a driver
package named jfjoch-driver where it is jfjoch-driver-dkms, and a note that RPMs are
unsigned from before the pipeline started uploading them with sign=true.

The FPGA page had a paragraph that stopped mid-sentence, in the middle of a link, and a
section describing a firmware build triggered by commit message. The firmware is stable
and carried from version to version now.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-03 20:53:19 +02:00

3.1 KiB

Linux package repositories

For convenience, we are providing package repositories. With versions including and excluding CUDA linking. We recommend to install Jungfraujoch viewer from nocuda repository and remaining packages from cuda12/cuda13 repository.

The repository name encodes two choices: the slsDetectorPackage version the packages were built against (slsdet8 = 8.0.2, slsdet9 = 9.2.0 — it must match the detector firmware) and whether CUDA is linked in. What ends up inside each package, and what it needs on the target machine, is described in Release contents.

RHEL based systems

For RHEL systems we provide the following repositories:

RHEL version slsDetectorPackage CUDA Repository file
8.x 8.0.2 12.x https://gitea.psi.ch/api/packages/mx/rpm/centos/el8/slsdet8-cuda12.repo
8.x 9.2.0 12.x https://gitea.psi.ch/api/packages/mx/rpm/centos/el8/slsdet9-cuda12.repo
8.x 8.0.2 - https://gitea.psi.ch/api/packages/mx/rpm/centos/el8/slsdet8-nocuda.repo
9.x 8.0.2 13.x https://gitea.psi.ch/api/packages/mx/rpm/centos/el9/slsdet8-cuda13.repo
9.x 9.2.0 13.x https://gitea.psi.ch/api/packages/mx/rpm/centos/el9/slsdet9-cuda13.repo
9.x 8.0.2 - https://gitea.psi.ch/api/packages/mx/rpm/centos/el9/slsdet8-nocuda.repo

To install the repository, run:

dnf config-manager --add-repo https://gitea.psi.ch/api/packages/mx/rpm/centos/el8/slsdet8-cuda12.repo

RPMs are signed by the Gitea package registry as they are uploaded. If your system cannot verify the signature, set gpgcheck=0 in the repository file or install with --nogpgcheck.

We provide the following packages in the repository:

  • jfjoch — broker, web frontend, FPGA and detector command-line tools
  • jfjoch-driver-dkms — PCIe kernel-module source, built by DKMS
  • jfjoch-writer — HDF5 writer service
  • jfjoch-viewer — desktop viewer, the offline analysis tools and the XDS plugin

Ubuntu based systems

For Ubuntu systems, we also provide the following repositories:

sudo curl https://gitea.psi.ch/api/packages/mx/debian/repository.key -o /etc/apt/keyrings/gitea-mx.asc
echo "deb [signed-by=/etc/apt/keyrings/gitea-mx.asc] https://gitea.psi.ch/api/packages/mx/debian $distribution $component" | sudo tee -a /etc/apt/sources.list.d/gitea.list
sudo apt update

$distribution uses Ubuntu names jammy (22.04) and noble (24.04). $component can be set to cuda13 and nocuda. Only slsDetectorPackage 8.0.2 is built for Ubuntu.

The same four packages as above are provided: jfjoch, jfjoch-driver-dkms, jfjoch-writer and jfjoch-viewer. Up to 1.0.0-rc.160 the first of them was misnamed jfjoch-jfjoch; the current package replaces it, so apt upgrade handles the rename.

Ubuntu packages are currently only going through a very limited testing.