You could be experiencing firmware updates. It can sometimes seem like the Spark has died or is malfunctioning. Depending on how many updates you may be receiving, I would recommend that you plug a monitor directly into the HDMI port and keyboard. Let the system work its way through the updates. Let the Spark sit with power plugged in and be patient and don’t freak out.
Once the Spark is fully updated. It’s rock solid. Yes, it does run hot when it’s processing large loads so if you are concerned place a flat bottom pyrex casserole dish on top and put an ice pack in the dish. I run my Sparks at full throttle all thrusters redlined and maxed out for 6 to 8 hours sometimes 10 hours and this is how I keep them from melting (don’t judge it works). Have ChatGPT walk you through these as you execute them and get output. ChatGPT will let you know what’s going on.
Here are some bash commands that may help you monitor systems updates and status:
Baseline Current State:
Run Baseline Status Bash:
( set -x
echo "=== Time / identity ==="; date; hostname; whoami; uptime; echo
echo "=== DGX release ==="; cat /etc/dgx-release; echo
echo "=== OS + kernel ==="; lsb_release -a 2>/dev/null || cat /etc/os-release | head -n 12; uname -a; echo
echo "=== Secure Boot ==="; mokutil --sb-state 2>/dev/null || echo "mokutil not installed"; echo
echo "=== NVIDIA driver + GPU ==="; nvidia-smi; cat /proc/driver/nvidia/version; echo
echo "=== Firmware (fwupd) summary ==="; sudo fwupdmgr get-updates; echo; sudo fwupdmgr get-devices | sed -n '1,220p'
) |& tee "$HOME/dgx-baseline-$(date +%Y%m%d-%H%M%S).log"
What to expect: you’ll get a single terminal transcript with DGX OS version, Ubuntu/kernel, Secure Boot state, NVIDIA driver/GPU, and fwupd device status. At the very end you’ll see a line like “dgx-baseline-YYYYMMDD-HHMMSS.log” created in your home directory.
Step 1: on the DGX Spark, and confirm if you are getting any firmware updates. Firmware updates can take a bit of time to process and then to stabilize. Confirm output with ChatGPT.
sudo fwupdmgr get-updates
This only checks what firmware updates are available; it does not install anything or reboot.
Step 2: Let’s see exactly what the dashboard is seeing as pending upgrades. Note, the new dashboard that just came out shows more details related to updates. But you may not have it yet.
Run this on the DGX Spark
sudo apt-get update -y >/dev/null
apt list --upgradable | sed -n '1,200p'
Step 3 (safe preview before installing)
Run this to see exactly what would change and whether anything “core DGX” is involved:
sudo apt-get -s upgrade | sed -n '1,200p'
(That -s is a simulation — it does not install anything.)
Confirm contents in this list to understand what they are and what they will impact.
Step 4, run this to see every NVIDIA/DGX repo you’re currently subscribed to, and whether they’re reachable and offering updates:
grep -R --line-number -E 'repo\.download\.nvidia\.com|developer\.download\.nvidia\.com|nvidia\.github\.io|dgx' \
/etc/apt/sources.list /etc/apt/sources.list.d/*.list 2>/dev/null
sudo apt-get update
apt-cache policy dgx-release | sed -n '1,80p'
apt list --upgradable 2>/dev/null | egrep -i 'dgx|nvidia|cuda|nv|libnvidia|container-toolkit' || echo "No NVIDIA/DGX apt updates listed"
That will tell us if NVIDIA is pushing anything via their BaseOS DGX repo (the repo.download.nvidia.com/... dgx one), CUDA repo, or the container-toolkit repo.
Step 5 - Run this to get a full pending-changes preview (covers Ubuntu, NVIDIA CUDA repo, NVIDIA DGX baseos repo, and container-toolkit repo, since they’re all in apt):
sudo apt-get update && sudo apt-get -s dist-upgrade
Step 6: Update safely and audit what changed
First, preview what will change. This does not install anything. It refreshes package indexes from all configured apt repos, including NVIDIA and DGX repos, then simulates a full upgrade so you can see exactly which packages would be updated, installed, or removed.
sudo apt-get update && sudo apt-get -s dist-upgrade
Next, apply the updates. This actually installs the updates. The “-y” answers yes to prompts, and “dist-upgrade” is the safe way to handle dependency changes if they are required by an update.
sudo apt-get update && sudo apt-get -y dist-upgrade
Finally, audit what actually changed. This shows the recent dpkg install/upgrade history (high signal for what happened), plus the apt history log (often includes extra details about why), and then verifies whether a reboot is recommended.
echo "=== dpkg recent changes ==="
zgrep -h " upgrade \| install \| remove " /var/log/dpkg.log* | tail -n 200
echo
echo "=== apt history ==="
sudo tail -n 200 /var/log/apt/history.log
echo
echo "=== reboot needed? ==="
if [ -f /var/run/reboot-required ]; then
echo "REBOOT REQUIRED:"
cat /var/run/reboot-required
echo
cat /var/run/reboot-required.pkgs 2>/dev/null || true
else
echo "No reboot-required flag."
fi
Check Status of Updates
After you do either, run:
sudo apt-get -s upgrade | tail -n 5
You should see 0 upgraded, 0 newly installed... indicating you’re fully current.
Use this to remove old files and distros
sudo apt autoremove
Reboot Check
Use this bash to check if a reboot is required
Run this:
if [ -f /var/run/reboot-required ]; then
echo "REBOOT REQUIRED"
cat /var/run/reboot-required
echo
cat /var/run/reboot-required.pkgs 2>/dev/null || true
else
echo "No reboot-required flag."
fi