Skip to main content

VMware with GPU

This article refers to Platform v2.9.0. The current Platform version is v3.2.0.

Overview

This guide walks you through installing Barbara OS on a VMware ESXi virtual machine with GPU passthrough. With a GPU attached to the VM, you can run AI workloads (training, inference, vision) at the edge with hardware acceleration.

The procedure is similar to the regular VMware install, with two differences:

  1. The image used is VMWare VM (amd64/gpu) from Barbara Panel.
  2. The VM gets extra PCI devices (the GPU and its companion audio device) and a handful of advanced configuration parameters that enable 64-bit MMIO for the passthrough.

Pre-requisites

Download the OS image

In Barbara Panel, open the OS Images view and search for VMWare VM (amd64/gpu). Click Download to retrieve the .zip archive, then unzip it; the .vmdk inside is the disk you will attach to the VM.

Download the GPU-enabled VMware OS image

Download the GPU-enabled VMware OS image

Hardware requirements

Minimum

  • RAM: 2 GB
  • Disk: 32 GB
  • CPU: 1 socket / 2 cores
  • Network: 1 × Ethernet interface
  • RAM: 4 GB
  • Disk: 64 GB
  • CPU: 2 sockets / 2 cores
  • Network: 2 × Ethernet interfaces

Convert the virtual disk

The .vmdk shipped in the Panel archive must be converted to a vSphere-native format before you can attach it to a VM.

With the vSphere Web Client

  1. Locate the datastore path. Copy the path of the datastore that will host the VM files.
Datastore path

Datastore path

  1. Upload the original disk. Create a folder in the datastore for the original disk and upload the .vmdk from the Panel archive.
Upload the original disk

Upload the original disk

  1. Create the conversion folder. Create a second, empty folder for the converted disk.
Conversion folder

Conversion folder

Convert from the ESXi shell

  1. SSH into the ESXi host with administrative credentials.
  2. Navigate to the datastore with cd, then ls to confirm both folders are there.
Check the datastore folders

Check the datastore folders

  1. Run the conversion. Replace originalDiskPath and convertedDiskPath with the actual paths inside the datastore:

    vmkfstools -i originalDiskPath convertedDiskPath
Run vmkfstools to convert the disk

Run vmkfstools to convert the disk

Create the virtual machine

  1. Start the New Virtual Machine wizard. In the ESXi Host Client, open Virtual Machines and click Create / Register VM → Create a new virtual machine.
Create a new VM in vSphere

Create a new VM in vSphere

  1. Set name and compatibility.
    • Compatibility: ESXi 8.0 U2 virtual machine
    • Guest OS family: Linux
    • Guest OS version: Linux 6.x or later (64-bit)
VM name and compatibility

VM name and compatibility

  1. Select the storage and click Next.
Select storage

Select storage

  1. Reserve memory. Under Memory, set the Reservation to 8 GB and tick Reserve all guest memory (All locked). Memory reservation is required for stable GPU passthrough.
Reserve VM memory

Reserve VM memory

  1. Enable EFI. Under Boot Options → Firmware, choose EFI and uncheck Secure UEFI Boot.
Enable EFI firmware

Enable EFI firmware

  1. Confirm and finish.
Confirm VM settings

Confirm VM settings

  1. Re-open Edit settings. The remaining hardware tweaks must happen before the VM is powered on.
Edit VM config

Edit VM config

Attach the Barbara OS disk

  1. Remove the default hard disk and CD/DVD drive.
Remove default disk and CD

Remove default disk and CD

  1. Save (click OK), then re-open Edit settings. The removal sometimes is not applied if you immediately continue editing.
  2. Add the converted disk. Choose Add Hard Disk → Existing virtual disk and select the converted .vmdk.
warning

If you skipped the disk conversion step, the disk will not attach correctly. Convert the .vmdk first — see Convert the virtual disk.

Add converted disk

Add converted disk

  1. Add an NVMe controller under Add device.
Add NVMe controller

Add NVMe controller

  1. Attach the disk to the NVMe controller.
Attach disk to NVMe

Attach disk to NVMe

  1. Set the network adapter to VMXNET3.
Select VMXNET3 network adapter

Select VMXNET3 network adapter

Configure GPU passthrough

  1. Add two PCI devices via Add device → PCI Device:
    • A VGA Compatible Controller (the GPU itself).
    • The Audio Device that is paired with the GPU on the PCI bus.
GPU and audio device added as PCI devices

GPU and audio device added as PCI devices

  1. Open VM Options → Advanced → Edit Configuration Parameters.
Edit configuration parameters

Edit configuration parameters

  1. Add the following advanced parameters (required for stable GPU passthrough):
ParameterValueWhy
pciPassthru.use64bitMMIOTRUEEnables 64-bit MMIO for the passthrough device — needed by GPUs that use more than 32 GB of MMIO.
pciPassthru.64bitMMIOSizeGB128Reserves 128 GB of 64-bit MMIO space for the device.
pciPassthru.msiEnabledFALSEDisables Message-Signaled Interrupts for the device (improves stability with some GPUs).
hypervisor.cpuid.v0TRUETweaks the CPUID information the VM sees, improving driver compatibility for many NVIDIA GPUs.
Configuration parameters added

Configuration parameters added

  1. Save the changes. The VM is ready for first boot.

Start the virtual machine

  1. Power on the VM and wait until Barbara OS prints the Barbara ID and a QR code on the console.
Barbara ID QR code on first boot

Barbara ID QR code on first boot

  1. Scan the QR or read the Barbara ID directly from the console.
Barbara ID page

Barbara ID page

  1. In Barbara Panel, open the Nodes List and click + Add Node to register the VM.
Add Node in Panel

Add Node in Panel

  1. Paste the Barbara ID, give the node a name, and complete the form. After the activation reboot and the disk encryption complete, the VM appears as online.
VM online in Panel

VM online in Panel

Summary

You have deployed Barbara OS on a vSphere VM with a GPU passed through, applied the advanced configuration parameters required for stable passthrough, and registered the VM in Barbara Panel. From here, you can deploy GPU-accelerated workloads — see the Compute Vision solution for an end-to-end example, or jump straight to deploying applications from the App Library.