README

September 4, 2025 · View on GitHub

Building the software

Software can be built either as RPM or DEB package. Two building scripts are provided: ./do-update-makerpm.sh and ./do-update-makedeb.sh which build RPM and DEB packages respectively

Please refer README-DEB for DEB build instructions

To build CPU-only package 1. rm -rf <BUILD_DIR> 2. ./do-update-makerpm.sh -S <SRC_DIR> -w <BUILD_DIR> Example: rm -rf PWD/tmp;./doupdatemakerpm.shS{PWD}/tmp; ./do-update-makerpm.sh -S {PWD} -w ${PWD}/tmp

To build the GPU enabled version 1. Export either of NVIDIA_GPU_DIRECT or INTEL_GPU_DIRECT, not both. Please read explanations below. (If both NVIDIA_GPU_DIRECT and INTEL_GPU_DIRECT are present in env, INTEL_GPU_DIRECT has priority.) 2. rm -rf <BUILD_DIR> 3. ./do-update-makerpm.sh -G -S <SRC_DIR> -w <BUILD_DIR> Example: export NVIDIA_GPU_DIRECT=/usr/src/nvidia-387.26; rm -rf PWD/tmp;./doupdatemakerpm.shGS{PWD}/tmp; ./do-update-makerpm.sh -G -S {PWD} -w ${PWD}/tmp

Before building the driver with CUDA support:

export NVIDIA_GPU_DIRECT= Here is a list of common paths for NVIDIA_GPU_DIRECT: SLES15: export NVIDIA_GPU_DIRECT=/usr/src/kernel-modules/nvidia--default RHEL7.9-8.X: export NVIDIA_GPU_DIRECT=/usr/src/nvidia- RHEL9*: export NVIDIA_GPU_DIRECT=/usr/src/nvidia-open- NOTE: nvidia-open dkms driver is required for RHEL9+, refer to IEFS Documentation for more info.

Make sure "${NVIDIA_GPU_DIRECT}/Module.symvers" exists. If the file does not exist, you must manually build it by running "make" in the directory.

Before building the driver with INTEL GPU support:

There are 2 possible cases for building with Intel GPU support: using an out-of-tree dmabuf driver or using an in-tree (kernel) driver.

If you use the out-of-tree driver: export INTEL_GPU_DIRECT= Most commonly supported distros use the following path: export INTEL_GPU_DIRECT=/usr/src/intel-dmabuf-dkms- NOTE: Newer OS distros have sufficient kernel support already and do not require an out-of-tree dma buf driver. See IEFS and Intel GPU release notes for support information.

If you use the out-of-tree driver, make sure "INTELGPUDIRECT/Module.symvers"and"{INTEL_GPU_DIRECT}/Module.symvers" and "{INTEL_GPU_DIRECT}/backport-include/backport/autoconf.h" exist. If they do not exist in the correct locations, then you will need to build them using the following commands: export LEX=flex export YACC=bison cp defconfigs/dmabuf .config make -j KLIB=/lib/modules/(unamer)olddefconfigmakejKLIB=/lib/modules/(uname -r) olddefconfig make -j KLIB=/lib/modules/(uname -r)

If you use the in-tree (kernel) dma buf driver export a special value: export INTEL_GPU_DIRECT="CURRENT_KERNEL"

To support MLNX_OFED, download and install the latest MLNX_OFED for the distro on your machine. Make sure to add the option "--add-kernel-support" to rebuild the package to the given kernel revison: ./mlnxofedinstall --add-kernel-support Export the path to MLNX_OFED source directory: export MOFED_PATH=${MOFED_PATH:-/usr/src/ofa_kernel/x86_64/} Please refer to both IEFS and MOFED documentation for specific version and OS support combinations.

Once the SRC RPM is created, build the binary RPM from ./tmp/rpmbuild directory execute the following command

rpmbuild --rebuild --define "_topdir $(pwd)" --nodeps SRPMS/*.src.rpm