Ubuntu NVIDIA GPU workstation evaluation
This guide prepares an Ubuntu 24.04 workstation recipe for NVIDIA tooling. The normal KVM test guest may have no NVIDIA device, so package and configuration checks are not physical GPU qualification.
Prompt
Create an Ubuntu 24.04 GNOME workstation for NVIDIA compute evaluation.
Include the gpu-nvidia, cuda, docker, Python, Git, SSH, and Jupyter features.
Do not choose “latest”; show the exact driver, CUDA toolkit, container runtime,
repositories, signing keys, and supported GPU architecture in the plan. Create
a locked-password user named mldev. Add package and service tests for the VM,
then list nvidia-smi, CUDA sample, container-GPU, suspend/resume, and workload
tests that must run on the target workstation.Recipe shape
{
"name": "ubuntu24-nvidia-workstation-evaluation",
"base_image": "ubuntu-24.04",
"hardware": {
"platform": "pc",
"architecture": "x86_64",
"gpu": "nvidia",
"min_cpu_cores": 8,
"min_memory_gb": 32,
"min_storage_gb": 128,
"nic_count": 1
},
"os": {
"features": [
"desktop",
"gpu-nvidia",
"cuda",
"docker",
"python",
"git",
"ssh",
"jupyter"
],
"users": [
{
"username": "mldev",
"groups": ["sudo", "docker"],
"shell": "/bin/bash"
}
],
"desktop_settings": {
"color_scheme": "prefer-dark",
"power": {
"idle_delay": 600,
"sleep_inactive_ac_timeout": 0,
"sleep_inactive_ac_type": "nothing"
}
}
}
}The hardware block is declared intent. It does not make an NVIDIA device visible to the test VM. Review Docker-group privilege and do not expose Jupyter without authentication and network policy.
Compatibility review
Before building, record:
- exact GPU model and compute capability;
- kernel, NVIDIA driver, CUDA toolkit, and user-space library compatibility;
- source repository and signing-key provenance;
- Secure Boot/module-signing behavior if used;
- display-GPU versus compute-only expectations; and
- license and redistribution constraints for every proprietary component.
Evidence split
The virtual build can prove package inventory, executables, configuration files, desktop launch, and non-GPU services. Only the target hardware can prove:
nvidia-smisees the intended device without errors;- a compiled CUDA sample produces the expected result;
- a pinned container image runs with
--gpusand sees the device; - thermals, power limits, suspend/resume, and reboot are stable; and
- the real training or inference workload completes within its memory and performance requirements.
Retain both evidence sets and label them by environment. Do not report a working GPU stack from package presence alone.