DGX OS Software Stack#

This appendix describes the NVIDIA DGX OS and BaseOS software stack.

This software stack is a validated set of packages with compatible versions of the GPU driver, DOCA-OFED, and related DGX platform packages for each release. To see the current versions of the listed components, refer to Current Software Versions.

BaseOS uses metapackages to install and maintain groups of related packages as one supported unit. A metapackage does not usually provide software files itself but declares dependencies on packages that include those files.

Common and DGX-specific Packages#

The following sections describe common and DGX-specific metapackages in BaseOS 9 and list their direct dependencies where practical. For metapackages with large dependency sets, use the provided apt commands to view the dependencies for the installed release. Package dependencies can change between releases.

nvidia-system-core#

Packages

Description

baseos-cli

Provides BaseOS release management commands.

baseos-release

Provides BaseOS release metadata.

ipmitool

Provides IPMI management utilities.

nvidia-nvme-options

Automatically enables NVMe Interrupt Coalescing at boot on all Samsung, Kioxia, and Micron drives.

nvme-cli

Provides the NVMe management command-line interface.

nvidia-tuned-profiles

Supplies the platform performance and crash-dump profiles. It applies several settings that earlier releases configured through individual packages. For profile management information, see Managing and Customizing TuneD Profiles in the NVIDIA BaseOS User Guide.

nv-grubmenu

Makes the GRUB menu visible during boot.

tpm2-tools

Provides tools for managing TPM 2.0 devices.

nvidia-system-mlnx-drivers#

Package

Description

mlnx-pxe-setup

Configures Mellanox PXE boot support.

nvidia-mlnx-config

Configures applicable Mellanox adapters during system configuration. It discovers adapters and applies PCIe MRRS and MAX_ACC_OUT_READ settings when the platform configuration requires them. The implementation uses the adapter BDF and does not use a fixed setpci vendor-ID command. The package provides /usr/bin/nvidia-mlnx-config.sh and its systemd services.

mlnx-nvme-dkms

Builds the Mellanox NVMe peer-memory kernel module.

mlnx-nfsrdma-dkms

Builds the Mellanox NFS-over-RDMA kernel module.

mlnx-fw-updater

Updates Mellanox adapter firmware.

For applicable DGX platforms, the DGX OS 8.0.0 ISO installs the nvidia-system-mlnx-drivers metapackage with the release-qualified doca-ofed metapackage. nvidia-system-mlnx-drivers installs the DGX-specific MLNX driver support packages in the preceding table, while doca-ofed installs DOCA-OFED and its dependencies. Together, they provide the DOCA-OFED stack used by the release.

nvidia-system-utils#

Package

Description

chrpath

Provides build-path inspection.

cifs-utils

Provides CIFS file-system support.

fping

Provides network reachability testing.

iperf

Provides network performance testing.

lsscsi

Lists SCSI devices.

net-tools

Provides legacy network utilities.

nfs-common

Provides NFS client support.

nvidia-container-toolkit

Enables NVIDIA GPUs in container runtimes.

openssh-server

Provides the OpenSSH server.

perftest

Provides RDMA performance-testing utilities.

pm-utils

Provides power-management utilities.

powercap-utils

Provides power-cap management utilities.

quota

Provides file-system quota utilities.

rasdaemon

Provides RAS event monitoring.

samba-common

Provides common Samba files for file sharing.

scsitools

Provides SCSI utilities.

shim-signed

Provides the signed Secure Boot shim.

smartmontools

Provides storage-health monitoring utilities.

vlan

Provides VLAN configuration support.

nvidia-system-extra#

Package

Description

automake

Provides build-system generation tools.

bison

Provides a parser generator.

build-essential

Provides the essential compiler and build-tool set.

cmake

Provides a cross-platform build system.

flex

Provides a lexical-analyzer generator.

gdb

Provides a source-level debugger.

git

Provides source-control tools.

libelf-dev

Provides ELF development libraries.

libltdl-dev

Provides libtool dynamic-loader development files.

m4

Provides a macro processor.

python3-venv

Provides Python virtual-environment tools.

swig

Provides interface code-generation tools.

nvidia-system-extra-localization#

Packages

Description

witalian, wngerman, wogerman, wportuguese, wspanish, and wswiss

Provide Italian, German, Portuguese, Spanish, and Swiss spell-checking dictionaries.

nvidia-system-diag#

Package

Description

busybox

Provides compact system utilities.

fio

Provides storage I/O testing.

i2c-tools

Provides I2C diagnostic utilities.

libmuparser2v5

Provides an expression-parser library used by diagnostic tools.

libnbd0

Provides the Network Block Device client library.

minicom

Provides serial-console communication.

python3-pandas

Provides Python data-analysis libraries.

python3-tabulate

Provides Python table-formatting libraries.

sshpass

Provides scripted SSH password entry.

stressapptest

Provides memory stress testing.

systemd-container

Provides systemd container utilities.

systemd-coredump

Provides system crash-dump collection.

dgx-system-utils#

Package

Description

dgx-release

Updates DGX OS release information.

nv-common-apis

Installs commonly used NVIDIA system scripts.

nv-grubserial

Displays the GRUB menu over a serial console.

nv-limits

Increases file limits.

nv-update-disable

Disables OS update prompts.

nvgpu-services-list

Lists GPU-related services.

nvidia-dgx-setup

Performs DGX system setup.

nvidia-esm-hook-epilogue

Clarifies ESM policy.

nvidia-ipmisol

Enables IPMI Serial-over-LAN.

nvidia-logrotate

Provides NVIDIA log-rotation policy.

nvidia-motd

Provides the DGX message of the day.

nvidia-raid-config

Configures DGX RAID.

nvidia-redfish-config

Configures the Redfish host interface.

Platform-Specific Packages#

The following packages are installed according to the DGX platform:

Package Name

Platforms

Description

nvidia-mig-manager

DGX systems that support MIG

NVIDIA MIG Partition Editor and systemd service.

open-nvdebug

DGX servers

NVIDIA GPU debugging tools.

dgx-server-grub

DGX servers

Customizes GRUB for DGX servers.

nvidia-system-station-core

DGX workstations

Installs the DGX Station core desktop packages listed below.

nvidia-system-station#

The following DGX Station tables identify the package source when a metapackage combines packages from the DGX/BaseOS repository, NVIDIA driver repository, or Ubuntu archive.

Package

Description

nvidia-system-station-core

Provides the core DGX Station desktop environment.

nvidia-system-station-common

Provides common DGX Station desktop components.

nvidia-system-station-utils

Provides DGX Station desktop utilities.

APT installs the following recommended packages by default unless configured not to: nvidia-system-station-localization, nvidia-system-station-games, and nvidia-system-station-apps.

nvidia-system-station-core#

Package

Description

Package source

apport-gtk

Provides graphical crash reporting.

Ubuntu archive

apt-config-icons-hidpi and apturl

Provide high-resolution APT icons and a graphical package installer.

Ubuntu archive

avahi-autoipd and avahi-utils

Provide automatic local-network addressing and service discovery.

Ubuntu archive

bluez and bluez-cups

Provide Bluetooth and Bluetooth printing support.

Ubuntu archive

branding-ubuntu, yaru-theme-gtk, yaru-theme-icon, and yaru-theme-sound

Provide Ubuntu desktop branding and themes.

Ubuntu archive

nv-yaru-theme-all

Provides NVIDIA Yaru desktop themes.

DGX/BaseOS repository

cups-browsed, cups-bsd, and cups-pk-helper

Provide printer discovery, printing commands, and printer authorization.

Ubuntu archive

dgxstation-desktop and dgxstation-grub

Provide DGX Station desktop and bootloader configuration.

DGX/BaseOS repository

gnome-initial-setup

Provides the GNOME first-run setup application.

Ubuntu archive

gnome-keyring-pkcs11 and libpam-gnome-keyring

Provide GNOME Keyring PKCS#11 and PAM integration.

Ubuntu archive

gnome-power-manager

Provides GNOME power-management functionality.

Ubuntu archive

gnome-remote-desktop

Provides GNOME remote-desktop functionality.

Ubuntu archive

gnome-shell-extension-prefs

Provides GNOME Shell extension preferences.

Ubuntu archive

gnome-themes-extra-data

Provides additional GNOME theme data.

Ubuntu archive

gsettings-ubuntu-schemas

Provides Ubuntu desktop settings schemas.

Ubuntu archive

gtk-im-libthai

Provides Thai input-method support.

Ubuntu archive

grub-common, plymouth-label, and plymouth-themes

Provide bootloader and graphical boot-splash support.

Ubuntu archive

nvidia-plymouth

Provides DGX graphical boot-splash support.

DGX/BaseOS repository

gvfs-fuse

Provides a user-space virtual file system.

Ubuntu archive

ibus, ibus-gtk, ibus-gtk3, ibus-gtk4, and im-config

Provide input-method framework support.

Ubuntu archive

libpam-pwquality

Provides PAM password-quality checking.

Ubuntu archive

network-manager-gnome

Provides graphical network management.

Ubuntu archive

nvidia-update-manager

Provides NVIDIA package-update management.

DGX/BaseOS repository

policykit-desktop-privileges

Provides desktop authorization configuration.

Ubuntu archive

ubuntu-desktop

Provides the Ubuntu desktop metapackage.

Ubuntu archive

ubuntu-report

Provides Ubuntu system-reporting functionality.

Ubuntu archive

xdg-utils

Provides desktop-integration utilities.

Ubuntu archive

Through its Recommends dependencies, nvidia-system-station-core installs the following packages under APT’s default configuration. APT installs them unless the system is configured to disable installation of recommended packages.

Recommended packages#

Package

Description

Package source

nvidia-settings

Provides the NVIDIA X Server Settings application.

NVIDIA driver repository

nvidia-conf-xconfig

Provides NVIDIA X configuration support.

DGX/BaseOS repository

nv-docker-gpus

Limits Docker to use 3D-controller-class NVIDIA GPUs (compute GPUs).

DGX/BaseOS repository

libnvidia-compute or nvidia-compute-utils

Provides NVIDIA GPU compute libraries or utilities, as appropriate for the driver packaging.

NVIDIA driver repository

gnome-core

Provides the core GNOME desktop components.

Ubuntu archive

Both nvidia-system-station-common and nvidia-system-station-utils depend on nvidia-system-station-core. The core metapackage is provided by the DGX/BaseOS repository; their remaining direct dependencies are provided by the Ubuntu archive. To view the direct dependencies configured for your release, run:

apt-cache depends nvidia-system-station-common
apt-cache depends nvidia-system-station-utils

nvidia-system-station-common#

Installs nvidia-system-station-core if it is not already installed, plus common Ubuntu desktop components, English localization, accessibility, multimedia, and supporting libraries.

nvidia-system-station-utils#

Installs nvidia-system-station-core if it is not already installed, plus Ubuntu utilities for backup, storage, remote desktop, printing, scanning, networking, and USB devices.

nvidia-gpu-desktop-utils#

Package

Description

Package source

nvidia-settings

Provides the NVIDIA X Server Settings application.

NVIDIA driver repository

nvidia-conf-xconfig

Provides NVIDIA X configuration support.

DGX/BaseOS repository

libnvidia-compute or nvidia-compute-utils

Provides NVIDIA GPU compute libraries or utilities, as appropriate for the driver packaging.

NVIDIA driver repository

nvidia-system-station-localization#

Installs nvidia-system-station-core and the non-English language packs, fonts, dictionaries, input methods, and internationalization support for the DGX Station desktop environment.

nvidia-system-station-apps#

Installs nvidia-system-station-core, nvidia-desktop-default-snaps, and desktop applications, including LibreOffice, media applications, OpenVPN, and document and image utilities.

nvidia-system-station-games#

Package

Description

nvidia-system-station-core

Provides the core DGX Station desktop environment.

aisleriot, gnome-mahjongg, gnome-mines, and gnome-sudoku

Provide GNOME desktop games.

gamemode

Provides the GameMode performance-optimization service.

libgamemode0 and libgamemodeauto0

Provide GameMode runtime libraries.

Packages Replaced by TuneD Profiles#

In BaseOS 9, the following former configuration packages are empty transitional packages that depend on nvidia-tuned-profiles. They can be removed after an upgrade. The active TuneD profile, or a static systemd drop-in installed by nvidia-tuned-profiles, provides the applicable configuration for the platform.

Former package

Configuration now provided by nvidia-tuned-profiles

nv-cpu-governor

Sets the CPU governor to performance through the nvidia-base profile.

nvidia-acs-disable

Configures the disable-acs-redir kernel parameter through the nvidia-acs-disable profile when a platform profile includes it.

nvidia-arm-cspmu-loader

Loads the Arm CSPMU module through the applicable Arm64 performance profile.

nvidia-crashdump

Configures crash dumps through the platform crash-dump profiles.

nvidia-disable-init-on-alloc

Sets the init_on_alloc=0 kernel parameter through the nvidia-base profile.

nvidia-disable-numa-balancing and nvidia-earlycon

Configure the NUMA-balancing and early-console kernel parameters through the applicable Arm64 performance profile.

nvidia-enable-power-meter-cap

Configures the ACPI power-meter module parameter through the applicable Arm64 performance profile.

nvidia-fs-loader

Loads the nvidia_fs module, with the required module parameters, through applicable DGX performance profiles.

nvidia-ib-umad-loader

Loads the ib_umad module through the nvidia-base profile.

nvidia-pci-bridge-power

Configures PCIe bridge runtime power through the nvidia-pci-bridge-power profile on DGX A100 and A800 systems.

nvidia-pci-no-realloc and nvidia-pci-realloc

Configure PCI resource reallocation through applicable platform performance profiles.

nvidia-relaxed-ordering-gpu

Configures GPU PCIe relaxed ordering through applicable platform performance profiles.

nvidia-conf-cachefilesd

Configures cachefilesd by using a static systemd vendor drop-in, rather than a TuneD profile.

nvidia-cppc-cpufreq-options

Configures the CPPC CPU-frequency driver through the DGX Spark performance profile.

nvidia-relaxed-ordering-nvme is no longer provided. nvidia-nvme-options replaces it and provides the /usr/bin/nvidia-relaxed-ordering-nvme.sh script.

DGX Platform JSON Configuration#

The DGX Platform JSON configuration file is installed at /etc/nvidia-platform.d/nvidia-platform-configs.json by nv-common-apis. It identifies the platform and supplies metadata to DGX configuration utilities. Its contents are release-specific; consult the file on the installed system for the current platform entries and values.

DGX Platform JSON Configuration Definitions#

The following attributes continue to provide metadata to DGX utilities. An attribute can be absent for a platform when its default behavior applies.

Name

Definition

PlatformType, PlatformName, PlatformPrettyName, and PlatformString

Human-readable platform identifiers used by DGX utilities.

PlatformSerialSource

Specifies whether the platform serial number is obtained from the system or chassis.

GrepStr and UsesDmiSystemFamilyForDetection

Specify how the platform is identified from DMI information.

ConfigureDGXA100Raid and ConfigureDGXStationA100Raid

Select the RAID layout used by nvidia-raid-config.

NVMERelaxedOrdering

Indicates whether nvidia-nvme-options configures NVMe relaxed ordering.

BMCPasswordMinLength, BMCPasswordMaxLength, BMCPasswordSupportsZerofill, and BMCPasswordComplexityReq

Define BMC password requirements for the OEM installation screens.

NVSMAlertsSupported

Indicates whether NVSM alert reporting is supported for the platform.

NeedsMRRSConfig and NeedsAccBytesTuning

Select Mellanox adapter PCIe configuration performed by nvidia-mlnx-config.

IPMIDefaultSerialTTY

Selects the default IPMI Serial-over-LAN TTY.

NeedsOEMXconfigOverride, NeedsInitialNvidiaXconfig, and NeedsAdaptiveNvidiaXconfig

Control applicable NVIDIA X configuration behavior for DGX workstations.

NeedsContainerdOverride

Selects an applicable container-runtime override for supported workstation platforms.

NeedsOemConfigPostActNetplanApply

Indicates whether OEM installation must run netplan apply after post-install configuration.

UsesFabricManager

Indicates whether the platform uses NVIDIA Fabric Manager.

IsDgxServerType and IsDgxDesktopType

Identify whether a platform is a DGX server or workstation for release-upgrade processing.

BaseOSDefaultStack

Identifies the default BaseOS stack for the platform.

Note

In BaseOS 9, TuneD profiles set the following platform-specific settings rather than using the corresponding values in this file:

  • NeedsDisableInitOnAlloc (init_on_alloc)

  • UsePciDisableAcsRedir (PCIe ACS redirection)

  • CrashdumpMem (crash-kernel memory)

  • IommuPt (IOMMU passthrough)

  • NeedsDisableNumaBalance (NUMA balancing)

  • NeedsEarlycon (early console)

  • ConsoleSetting and SerialBaudRate (console settings)

  • PciRealloc (PCI resource reallocation)

  • GpuRelaxedOrdering (GPU relaxed ordering)

  • EnablePowerMeterCap (ACPI power-meter capping)