File: //snap/docker/current/bin/nvidia-container-toolkit
#!/bin/bash
set -eu
. "${SNAP}/usr/share/nvidia-container-toolkit/lib"
# Connection hooks are run early - copy the config file from $SNAP into $SNAP_DATA if it doesn't exist
if [ ! -f "$SNAP_DATA/config/daemon.json" ]; then
mkdir -p "$SNAP_DATA/config"
cp "$SNAP/config/daemon.json" "$SNAP_DATA/config/daemon.json"
fi
# Ensure hardware present #
nvidia_hw_ensure
# As service order is not guaranteed outside of snap - wait a bit for nvidia assemble to complete #
device_wait /dev/nvidiactl || exit 0
echo "NVIDIA ready"
# Ensure the data dirs exist #
ensure_nvidia_data_dirs
# Setup nvidia support, but do not exit on failure #
cdi_generate && nvidia_runtime_config && docker_runtime_configure && setup_info || setup_fail