You are here Home » Featured » How to Set up GPU Passthrough for Virtual Machines on a GPU Server

How to Set up GPU Passthrough for Virtual Machines on a GPU Server


Dedicated servers with GPUs are a powerhouse for tasks that demand immense computational power, such as deep learning, scientific simulations, and data analytics. However, the capabilities of these servers can be further amplified by enabling GPU passthrough for virtual machines (VMs). GPU passthrough allows you to dedicate a GPU exclusively to a virtual machine, providing a substantial boost in performance. In this guide, we’ll walk you through the steps to set up GPU passthrough on a GPU server, making your virtual machines even more powerful.

Understanding GPU Passthrough

Let’s get a grasp on the idea of GPU passthrough before we jump into the process of setting everything up. GPU passthrough, also known as VGA passthrough or GPU virtualization, is a technology that enables a virtual machine to have direct access to a dedicated physical GPU, as if it were the sole user of the GPU. Other names for this technology include GPU passthrough and GPU virtualization. This indicates that the VM is able to utilize the full capacity of the GPU without having to share resources with the host or any other VMs.


To get started with GPU passthrough on your dedicated server, you need to ensure you have the following prerequisites in place:

  • Dedicated Server with GPU

    • You must have a dedicated server equipped with one or more GPUs. These GPUs should be compatible with GPU passthrough.

  • Virtualization Software

    • Virtualization software that supports GPU passthrough is essential. Popular choices include Xen, KVM/QEMU, and VMware vSphere/ESXi.

  • Guest Operating System

    • The virtual machine you intend to set up with GPU passthrough should be running an operating system compatible with GPU drivers and applications. Common choices are Windows and various Linux distributions.

  • Backup

    • Before proceeding, ensure you have backups of your critical data and VM configurations. Setting up GPU passthrough may involve changes that can impact your server.

Configuring BIOS/UEFI

The first step is configuring the server’s BIOS/UEFI settings to enable GPU passthrough. The exact steps may vary depending on your server’s motherboard and BIOS/UEFI interface, but the key settings are usually:

  • VT-d or AMD-Vi

    • Enable Intel VT-d (Virtualization Technology for Directed I/O) or AMD-Vi (I/O Virtualization Technology) in your BIOS/UEFI settings. This technology allows for the direct assignment of I/O devices like GPUs to virtual machines.

  • ACS Override

    • Some motherboards require an “ACS Override” patch to enable GPU passthrough. Check your motherboard’s compatibility and follow the appropriate instructions if necessary.

IV. Installing Virtualization Software

The next step is to install your chosen virtualization software that supports GPU passthrough. Here, we’ll focus on setting up GPU passthrough using KVM/QEMU on a Linux server:

  • Install KVM/QEMU

    • If you haven’t already, install KVM/QEMU on your server. On a Linux server, you can use package managers like apt or yum to install KVM/QEMU.

  • Verify Support

    • Check if your CPU supports hardware virtualization extensions like VT-x (Intel) or AMD-V (AMD). You can use the ‘lscpu’ or ‘lscpu | grep Virtualization’ command to check.

Preparing the Host System

Before configuring GPU passthrough for a virtual machine, prepare the host system by performing the following steps:

  • Identify the GPU

    • List the available GPUs on your server using ‘lspci | grep VGA’ or ‘lspci | grep 3D controller’ to find the GPU you want to passthrough.

  • Blacklist GPU Drivers

    • Prevent the host system from using the GPU by blacklisting its drivers. This ensures that the GPU is exclusively available for the VM.

    • Create a file like ‘gpu-blacklist.conf’ in ‘/etc/modprobe.d/’ and add the GPU driver name to it.

  • Assign GPU to VFIO

    • Configure your server to use VFIO (Virtual Function I/O) for the GPU. This can be done by modifying the ‘vfio-pci’ kernel module configuration.

Configuring the Virtual Machine

Now, let’s configure the virtual machine for GPU passthrough:

  • VM Configuration

    • Create or edit the virtual machine’s configuration file using your virtualization software (e.g., QEMU XML configuration for KVM).

    • Specify the GPU to be passed through to the VM in the configuration file.

  • GPU Driver Installation

    • Inside the VM, install the appropriate GPU drivers for the guest operating system. Make sure these drivers are specific to the GPU you’re passing through.

  • Disable Integrated Graphics

    • If your server has integrated graphics, disable them in the VM’s BIOS or UEFI settings. This ensures that the VM exclusively uses the dedicated GPU.

  • Testing

    • Start the virtual machine and check if it recognizes the GPU. You should be able to install GPU-specific software and observe improved performance.


Setting up GPU passthrough can be complex, and issues may arise. Here are some common troubleshooting steps:

  • Driver Conflicts

    • Ensure that the GPU drivers in the host system are correctly blacklisted and not interfering with the VM.

  • IOMMU Groups

    • Check the IOMMU group of your GPU using ‘find /sys/kernel/iommu_groups/ -type l’ to confirm that the GPU is isolated.

  • Error Messages

    • Examine error messages in your server logs and VM console to identify the source of problems.

  • Hardware Compatibility

    • Verify that your server’s motherboard, CPU, and GPU are compatible with GPU passthrough. Incompatible hardware can lead to issues.

When it comes to applications that demand a large amount of graphics processing power, enabling GPU passthrough for virtual machines hosted on a dedicated server that contains GPUs can be a real game-changer. If you follow the instructions in this article, you will be able to equip your virtual machines with dedicated graphics processing units (GPUs), which will unlock their full potential and provide greater performance.

It is important to keep in mind, as you commence on your path to harness the potential of GPU passthrough, that doing so may require specialized technical knowledge as well as an in-depth grasp of the various hardware and software components of your server. Before making any changes, it is essential to proceed with extreme caution and create a backup of any crucial data.

In conclusion, GPU passthrough is a powerful technology that can take your virtual machines to new heights. As you explore GPU passthrough options, consider providers like VSYS Host, who offer excellent GPU dedicated servers. They can provide the infrastructure and support you need to make the most of this advanced technology.

You may also like