GPU-versnelde Selenium & Playwright: geen GPU van € 500/maand nodig
Selenium en Playwright in CI draaien vraagt geen dedicated grafische kaart van honderden euro’s. Maar je tests draaien met GPU-versnelling — zodat WebGL, Canvas en video zich precies zo gedragen als bij je gebruikers — ja, dat verandert alles. En een geïntegreerde GPU (iGPU / APU) volstaat, vanaf € 14,99/maand.
Het echte probleem: software-rendering
Zonder GPU valt Chromium terug op software-rendering (SwiftShader): WebGL, Canvas en video worden traag en soms anders dan de werkelijkheid. Je tests slagen… maar weerspiegelen niet wat je gebruikers zien. En omgekeerd is een dedicated GPU huren voor 300-500 €/maand om headless browsers te draaien pure verspilling.
| Aanpak | WebGL/Canvas-rendering | Kosten |
|---|---|---|
| Alleen CPU (software) | ⚠️ traag, soms fout | 💶 maar misleidend |
| Dedicated GPU (~300-500 €/maand) | ✅ | 💸💸💸 overgedimensioneerd |
| iGPU Linux GPU (vanaf 14,99 €/maand) | ✅ echte hardwarematige rendering | 💶 |
Waarom de GPU je browser-tests verandert
De iGPU/APU is beschikbaar voor het systeem (/dev/dri). Je browsers gebruiken
die voor:
- WebGL / WebGPU: echte prestaties, echte visuele resultaten;
- versnelde Canvas 2D en compositing;
- hardwarematig gedecodeerde videoweergave.
Resultaat: E2E-suites die sneller zijn en vooral trouwer aan de echte browser van de gebruiker.
Chromium op iGPU (ANGLE / Vulkan)
Schakel de GPU-versnelling van Chromium in via ANGLE/Vulkan — zowel headless als onder Xvfb. Voorbeeld aan de kant van Playwright:
// playwright.config.ts
use: { launchOptions: { args: [
'--use-gl=angle', '--use-angle=vulkan',
'--enable-features=Vulkan', '--ignore-gpu-blocklist',
] } }
En het equivalent aan de kant van Selenium (Python):
from selenium import webdriver
opts = webdriver.ChromeOptions()
for a in ('--use-gl=angle', '--use-angle=vulkan',
'--enable-features=Vulkan', '--ignore-gpu-blocklist'):
opts.add_argument(a)
driver = webdriver.Chrome(options=opts)
Controleer de versnelling op chrome://gpu: de regels WebGL / Vulkan moeten
“Hardware accelerated” aangeven.
In CI en op schaal
- Containeriseer je Playwright- / Selenium- / Puppeteer-workers;
- Parallelliseer je E2E-suites over meerdere nodes in k3s / Kubernetes;
- SSH root, IPv6 en LUKS inbegrepen. Optie k3s-cluster +5 €/node.
FAQ
Moet ik Xvfb gebruiken?
Bij moderne headless (--headless=new) vaak niet. Xvfb blijft nuttig voor een
volledige display (extensies, bijzondere gevallen) — en de iGPU versnelt beide.
Worden Playwright en Selenium allebei ondersteund? Ja, net als Puppeteer: het zijn dezelfde Chromium-flags en dezelfde GPU.
En om WebGL / WebGPU in CI te testen? Dat is nu juist het ideale geval: de iGPU levert een echte GPU-context, veel representatiever dan software-rendering.
Conclusie
Voor GPU-versnelde browser-tests doet de iGPU het werk — zonder de factuur van een dedicated GPU. Start je CI-server vanaf € 14,99/maand.