Skip to content

Instantly share code, notes, and snippets.

@solatticus
Created January 4, 2026 13:50
Show Gist options
  • Select an option

  • Save solatticus/14313d9629c4896abfdf57aaf421a07a to your computer and use it in GitHub Desktop.

Select an option

Save solatticus/14313d9629c4896abfdf57aaf421a07a to your computer and use it in GitHub Desktop.
Update: Fixing Vulkan on NVIDIA DGX Spark

Fixing Vulkan on NVIDIA DGX Spark (GB10/Blackwell)

A guide for DGX Spark developers experiencing Vulkan vkCreateDevice failures with the GB10 (Blackwell) GPU.

The Problem

You have a new spark, but Vulkan applications fail with errors like:

vkCreateDevice failed with VK_ERROR_INITIALIZATION_FAILED

or vulkaninfo shows only the software llvmpipe renderer instead of your GB10 GPU.

Root Cause

The default NVIDIA driver (580.95.05) shipped with Ubuntu 24.04 has a Vulkan bug affecting GB10/Blackwell GPUs. The fix requires:

  1. Upgrading to driver 580.105.08 or newer
  2. Installing the libnvidia-gl-580 package (contains the Vulkan ICD)

System Info

  • Hardware: NVIDIA DGX Spark with GB10 (Blackwell) GPU
  • OS: Ubuntu 24.04, ARM64 (aarch64)
  • Kernel: 6.14.0-1015-nvidia
  • Secure Boot: Enabled (requires MOK key enrollment)

Step 1: Check Your Current Driver

nvidia-smi --query-gpu=driver_version,name --format=csv,noheader

If it shows 580.95.05 or earlier, you need to upgrade.

Step 2: Add the NVIDIA PPA

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update

Step 3: Install the Updated Driver and Vulkan Support

# Check available versions
apt-cache policy nvidia-driver-580

# Install the driver AND the Vulkan/OpenGL library
sudo apt install nvidia-driver-580 libnvidia-gl-580

This will:

  • Install driver 580.105.08 (or newer)
  • Install the Vulkan ICD and OpenGL libraries
  • Trigger DKMS to build kernel modules for your running kernel

Important: The libnvidia-gl-580 package is often not installed automatically but is required for Vulkan support. Without it, vulkaninfo will only show llvmpipe.

Step 4: Handle Secure Boot (MOK Enrollment)

Since Secure Boot is enabled, DKMS-built kernel modules must be signed. During installation, you'll see a prompt:

Configuring Secure Boot

A new Machine-Owner Key (MOK) has been generated.
You will need to enroll this key in your system's firmware.

Enter a password to secure the key:

Important: Choose a simple password you'll remember (you'll need it once at the BIOS screen).

What Happens Next

  1. After installation completes, reboot your system
  2. At boot, you'll see a blue "MOK Management" screen
  3. Select "Enroll MOK"
  4. Select "Continue"
  5. Select "Yes" to enroll the key
  6. Enter the password you created
  7. Select "Reboot"

Step 5: Verify the Fix

After rebooting and enrolling the MOK key:

# Check driver version
nvidia-smi

# Verify Vulkan sees your GPU
vulkaninfo --summary

Expected Output

GPU0:
    apiVersion         = 1.4.312
    driverVersion      = 580.105.8.0
    deviceType         = PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU
    deviceName         = NVIDIA GB10
    driverID           = DRIVER_ID_NVIDIA_PROPRIETARY

Quick Copy-Paste Version

# Full upgrade sequence (run each line)
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
sudo apt install nvidia-driver-580 libnvidia-gl-580

# When prompted for MOK password, enter something simple
# Then reboot and enroll the key in BIOS

sudo reboot

After MOK enrollment and reboot:

# Verify everything works
nvidia-smi
vulkaninfo --summary | grep -A10 "GPU0"

Troubleshooting

Vulkan Still Shows Only llvmpipe

The Vulkan ICD library may not be installed:

# Check if the GL/Vulkan package is installed
dpkg -l | grep libnvidia-gl-580

# If not installed:
sudo apt install libnvidia-gl-580

MOK Enrollment Screen Didn't Appear

If you missed the MOK screen or it didn't appear:

# Check if key is pending enrollment
mokutil --list-new

# Re-trigger MOK enrollment if needed
sudo update-secureboot-policy --enroll-key
sudo reboot

Driver Module Not Loading

# Check DKMS status
dkms status

# Manually rebuild if needed
sudo dkms autoinstall
sudo reboot

Check Secure Boot State

mokutil --sb-state
# Should show: SecureBoot enabled

List Enrolled Keys

mokutil --list-enrolled | grep -i nvidia

Why This Matters

The GB10 (Blackwell architecture, compute capability 12.1) is fairly new as of the date of posting. Driver 580.105.08 includes critical fixes for:

  • Vulkan device creation on Blackwell
  • Proper integration with the Tegra display engine
  • ARM64-specific optimizations

Without this fix, you can't run:

  • Unreal Engine 5
  • Any Vulkan-based game or application
  • GPU-accelerated compositors

Verified Working Configuration

Component Version
Driver 580.105.08
Vulkan 1.4.312
CUDA Compute 12.1
Kernel 6.14.0-1015-nvidia
Ubuntu 24.04 (Noble)

Tested on NVIDIA DGX Spark, January 4, 2026

@solatticus

Copy link
Copy Markdown
Author

I did, but I had to comment and exclude a lot of dependencies, I didn't understand some core things at the time.

I took it back to Micro Center and essentially swapped it for a 5090.

@am2222

am2222 commented Jun 28, 2026

Copy link
Copy Markdown

I am kind of hoping that nvidia does support UE in future. It is kinda annoying their driver support has never been super good

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment