Kennisbank

GPU-passthrough: een grafische kaart delen tussen virtuele computers

Bijgewerkt: 11 augustus 2026 · 7 min leestijd

Wie weleens video's bewerkt, games speelt of experimenteert met kunstmatige intelligentie, weet dat de grafische kaart (GPU, voor graphics processing unit) vaak het zwaarste onderdeel van een computer is. Normaal gesproken hoort zo'n kaart bij één fysieke machine. Maar wat als je een virtuele computer — een computer die volledig in software draait binnen een andere computer — net zo snel wilt laten rekenen als de fysieke machine eronder? Daar komt GPU-passthrough om de hoek kijken: een techniek waarmee een fysieke grafische kaart rechtstreeks, en vrijwel zonder omwegen, wordt 'doorgegeven' aan zo'n virtuele machine, alsof die kaart er speciaal voor is ingebouwd.

Een vergelijking maakt het concreet. Stel je een kantoorpand voor met één grote vergaderzaal vol dure apparatuur: een beamer, een geluidsinstallatie, noem maar op. Normaal deelt de receptie die zaal tussen meerdere teams, die om beurten een stukje tijd en ruimte krijgen toegewezen. GPU-passthrough is als het uitdelen van de sleutel van die hele zaal aan één team: dat team krijgt exclusieve, rechtstreekse toegang tot alle apparatuur, zonder dat een tussenpersoon meekijkt of vertraagt. Voor de rest van het gebouw lijkt de zaal daarmee tijdelijk niet te bestaan.

Wat is het precies?

Om GPU-passthrough te begrijpen, helpt het eerst te weten wat virtualisatie is. Daarbij draait op één fysieke computer (de 'host') software die doet alsof ze zelf een complete, aparte computer is: een virtuele machine, kortweg VM. Het programma dat dit mogelijk maakt heet een hypervisor; bekende voorbeelden zijn KVM (Kernel-based Virtual Machine, een onderdeel van de Linux-kernel, de kern van dat besturingssysteem) en VMware. Normaal verdeelt de hypervisor alle hardware, inclusief de GPU, virtueel over meerdere VM's — net als de receptie in de analogie hierboven.

GPU-passthrough slaat die tussenlaag grotendeels over. In plaats van de GPU virtueel na te bootsen, koppelt de hypervisor een fysieke GPU rechtstreeks aan één specifieke VM. Die VM haalt daardoor vrijwel dezelfde prestaties als wanneer het besturingssysteem zonder virtualisatie op de fysieke machine zelf zou draaien.

Dit is technisch alleen mogelijk dankzij een functie in moderne processors die IOMMU heet (Input-Output Memory Management Unit). Dit is een onderdeel van de chipset dat ervoor zorgt dat een randapparaat zoals een GPU op een veilige, geïsoleerde manier rechtstreeks met het geheugen van precies één VM mag communiceren, zonder dat andere VM's of de host kunnen meekijken. Intel noemt zijn versie hiervan VT-d, AMD noemt het AMD-Vi. Deze functie moet in het BIOS of UEFI van het moederbord aanstaan; zonder haar is veilige passthrough niet mogelijk.

Op Linux-systemen wordt dit meestal geregeld via een kernelonderdeel genaamd VFIO (Virtual Function I/O). VFIO ontkoppelt de GPU van de normale grafische driver van de host en maakt hem beschikbaar als een apart, veilig toegankelijk apparaat, dat de hypervisor — meestal QEMU in combinatie met KVM — vervolgens aan een VM toewijst. In die VM installeert de gebruiker daarna gewoon de normale grafische driver, bijvoorbeeld van NVIDIA of AMD, alsof de kaart er rechtstreeks in zit.

Een variant hierop is SR-IOV (Single Root I/O Virtualization). Bij volledige passthrough kan een GPU maar aan één VM tegelijk gekoppeld worden. SR-IOV maakt het mogelijk dat één fysieke GPU zichzelf opsplitst in meerdere kleinere, virtuele 'functies' die elk apart aan een andere VM toegewezen kunnen worden. Dit vereist wel dat zowel de GPU als de driver deze functie ondersteunen — wat vooral het geval is bij datacenter-GPU's en, sinds kort, bij een beperkt aantal losse kaarten voor consumenten, zoals sommige modellen van Intel Arc.

Wat wil men ermee bereiken?

Het belangrijkste doel van GPU-passthrough is simpel: zoveel mogelijk van de rekenkracht van een dure GPU benutten binnen een virtuele omgeving, zonder daarbij prestaties in te leveren. Dat is om verschillende redenen aantrekkelijk.

Voor bedrijven en datacenters draait het vooral om efficiëntie. Eén fysieke server met meerdere krachtige GPU's kan zo tegelijk meerdere klanten of afdelingen bedienen, elk met een eigen geïsoleerde virtuele omgeving, zonder dat ze elkaars gegevens kunnen zien of elkaars prestaties beïnvloeden. Dat is vooral aantrekkelijk voor cloudaanbieders die GPU-rekenkracht per uur verhuren, bijvoorbeeld voor het trainen van AI-modellen.

Voor thuisgebruikers en hobbyisten gaat het vaak om een ander doel: één fysieke pc gebruiken voor meerdere besturingssystemen tegelijk, zonder in te leveren op grafische prestaties. Denk aan iemand die Linux gebruikt voor programmeerwerk, maar in een aparte virtuele Windows-omgeving wil gamen met bijna de volledige snelheid van de ingebouwde grafische kaart, zonder telkens naar een ander besturingssysteem te hoeven herstarten (het zogeheten dual-booten).

Daarnaast speelt beveiliging en isolatie een rol. Doordat een VM met passthrough strikt gescheiden blijft van de host en van andere VM's, kan een besmet of onveilig programma binnen die virtuele omgeving in principe niet zomaar bij de rest van het systeem komen. Dat maakt de techniek ook interessant voor het veilig testen van software of het draaien van kwetsbare toepassingen in een afgeschermde omgeving.

Voorbeelden uit de praktijk

QEMU/KVM in combinatie met VFIO is de meest gebruikte combinatie op Linux en vormt al sinds het begin van de jaren 2010 de basis van vrijwel alle open source GPU-passthrough-projecten. De software is gratis en open source, en wordt onder meer onderhouden door ontwikkelaars van Red Hat.

Proxmox VE, een populair open source platform voor serverbeheer en virtualisatie van het Oostenrijkse bedrijf Proxmox Server Solutions, biedt sinds enkele jaren ingebouwde ondersteuning voor GPU-passthrough via een grafische beheerinterface. Dat heeft de techniek — die vroeger vooral via de opdrachtregel en handmatige configuratiebestanden moest worden ingesteld — een stuk toegankelijker gemaakt voor thuisgebruikers en kleine bedrijven.

Looking Glass is een open source project dat een specifiek probleem van GPU-passthrough oplost: als de fysieke GPU volledig aan een VM wordt doorgegeven, heeft de host zelf geen beeldschermuitgang meer voor die kaart. Looking Glass stuurt de beelden van de virtuele machine met minimale vertraging terug naar de host, zodat gebruikers op hun gewone scherm kunnen blijven kijken zonder fysiek van monitorkabel te wisselen. Het project wordt actief onderhouden door een gemeenschap van vrijwilligers en is populair bij de zogeheten single-GPU-passthrough-gemeenschap rond het forum en de subreddit r/VFIO.

NVIDIA vGPU, voorheen bekend als GRID, is NVIDIA's commerciële oplossing voor datacenters, gebaseerd op een aan SR-IOV verwante techniek. Hiermee kan één fysieke datacenter-GPU worden opgedeeld tussen meerdere virtuele werkplekken of servers, elk met een gegarandeerd deel van de rekenkracht en het geheugen. Grote bedrijven gebruiken dit bijvoorbeeld voor virtuele werkplekken (VDI, virtual desktop infrastructure) waarop meerdere medewerkers op afstand grafisch zwaar werk kunnen doen.

Publieke cloudaanbieders zoals Amazon Web Services, Google Cloud en Microsoft Azure bieden al jaren GPU-instances aan waarbij klanten in feite een virtuele machine huren met een fysieke of virtueel opgedeelde GPU eraan gekoppeld, vaak via een vorm van passthrough of vGPU-technologie. Dit vormt mede de infrastructuur waarop een groot deel van de huidige AI-trainingsindustrie draait.

Hoe ver is de techniek?

De basistechniek — IOMMU-ondersteuning, VFIO en volledige GPU-passthrough via QEMU/KVM — is inmiddels volwassen en wordt al meer dan tien jaar gebruikt in productieomgevingen. Voor bedrijven die volledige, exclusieve toegang tot een GPU per VM nodig hebben, is dit een stabiele, bewezen oplossing.

Toch blijven er praktische obstakels bestaan, vooral voor thuisgebruikers. Consumenten-GPU's van NVIDIA hadden lange tijd een softwarematige blokkade die bekendstond als 'Code 43': de driver in de VM weigerde te werken zodra hij detecteerde dat hij in een gevirtualiseerde omgeving draaide, vermoedelijk om gebruikers richting de duurdere, voor virtualisatie gelicentieerde datacenter-kaarten te sturen. De hobbyistengemeenschap ontwikkelde workarounds, onder meer door bepaalde kenmerken van de virtuele hardware voor de driver te verbergen. Deze spanning tussen wat technisch mogelijk is en wat fabrikanten commercieel toestaan, is illustratief voor de sector: de techniek zelf is vaak verder ontwikkeld dan wat gebruikers in de praktijk zonder gedoe kunnen benutten.

Een ander obstakel is toegankelijkheid. Passthrough instellen vereist nog altijd behoorlijk wat technische kennis: het BIOS moet correct geconfigureerd zijn, de juiste kernelmodules moeten geladen worden, en niet elke combinatie van moederbord, processor en GPU werkt even soepel. Platforms als Proxmox hebben dit een stuk makkelijker gemaakt, maar van 'plug and play' is nog geen sprake.

SR-IOV en vGPU-achtige technieken, waarbij één GPU netjes wordt opgesplitst tussen meerdere gebruikers, winnen wel terrein, mede gedreven door de groeiende vraag naar AI-rekenkracht. Dat vereist echter ondersteuning op driverniveau van de fabrikant zelf, en die ondersteuning is nog altijd het meest volledig — en het duurst — bij datacenter-hardware. Bij consumentenkaarten is vergelijkbare functionaliteit pas recent en nog beperkt beschikbaar.

Wie werken eraan?

De basisinfrastructuur wordt grotendeels onderhouden door de open source-gemeenschap rond de Linux-kernel, QEMU en KVM, met belangrijke bijdragen van Red Hat, dat KVM ook commercieel gebruikt in zijn eigen virtualisatieproducten.

NVIDIA, AMD en Intel bouwen elk hardware- en driverondersteuning voor passthrough en, voor bedrijven, vGPU-achtige techniek in hun grafische kaarten en chipsets. Intel en AMD leveren bovendien de onderliggende VT-d- en AMD-Vi-functionaliteit in hun processors, zonder welke passthrough technisch onmogelijk is.

Proxmox Server Solutions uit Oostenrijk en VMware, sinds 2023 onderdeel van Broadcom, leveren commerciële en semi-commerciële virtualisatieplatforms waarop veel van deze techniek in de praktijk wordt toegepast. Daarnaast zijn de grote cloudaanbieders — Amazon, Google en Microsoft — belangrijke partijen: zij bouwen de techniek op enorme schaal in hun datacenters in en zijn daarmee indirect mede-financiers van verdere ontwikkeling, al publiceren zij niet altijd in detail hoe hun eigen implementaties precies werken.

Aan de hobbyistenkant houdt een informele, wereldwijde gemeenschap van ontwikkelaars en gebruikers, actief op platforms als GitHub en de subreddit r/VFIO, de kennis over consumenten-passthrough levend en toegankelijk — vaak los van, en soms in spanning met, het beleid van de fabrikanten zelf.

Verder lezen