Selenium & Playwright accélérés GPU : pas besoin d’un GPU à 500 €/mois
Faire tourner Selenium et Playwright en CI ne demande pas une carte graphique dédiée à plusieurs centaines d’euros. Mais faire tourner vos tests avec accélération GPU — pour que WebGL, Canvas et la vidéo se comportent comme chez vos utilisateurs — oui, ça change tout. Et un GPU intégré (iGPU / APU) suffit, dès 14,99 €/mois.
Le vrai problème : le rendu logiciel
Sans GPU, Chromium bascule en rendu logiciel (SwiftShader) : WebGL, Canvas et la vidéo deviennent lents, et parfois différents de la réalité. Vos tests passent… mais ne reflètent pas ce que voient vos utilisateurs. À l’inverse, louer un GPU dédié à 300-500 €/mois pour lancer des navigateurs headless, c’est gâcher.
| Approche | Rendu WebGL/Canvas | Coût |
|---|---|---|
| CPU seul (software) | ⚠️ lent, parfois faux | 💶 mais trompeur |
| GPU dédié (~300-500 €/mois) | ✅ | 💸💸💸 surdimensionné |
| iGPU Linux GPU (dès 14,99 €/mois) | ✅ rendu matériel réel | 💶 |
Pourquoi le GPU change vos tests navigateur
L’iGPU/APU est exposé au système (/dev/dri). Vos navigateurs l’utilisent pour :
- WebGL / WebGPU : vraies performances, vrais résultats visuels ;
- Canvas 2D et compositing accélérés ;
- lecture vidéo décodée matériellement.
Résultat : des suites E2E plus rapides et surtout plus fidèles au navigateur réel de l’utilisateur.
Chromium sur iGPU (ANGLE / Vulkan)
Activez l’accélération GPU de Chromium via ANGLE/Vulkan — en headless comme sous Xvfb. Exemple côté Playwright :
// playwright.config.ts
use: { launchOptions: { args: [
'--use-gl=angle', '--use-angle=vulkan',
'--enable-features=Vulkan', '--ignore-gpu-blocklist',
] } }
Et l’équivalent côté 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)
Vérifiez l’accélération sur chrome://gpu : les lignes WebGL / Vulkan doivent
être « Hardware accelerated ».
En CI et à l’échelle
- Conteneurisez vos workers Playwright / Selenium / Puppeteer ;
- Parallélisez vos suites E2E sur plusieurs nœuds en k3s / Kubernetes ;
- SSH root, IPv6 et LUKS inclus. Option cluster k3s +5 €/nœud.
FAQ
Dois-je utiliser Xvfb ?
En headless moderne (--headless=new), souvent non. Xvfb reste utile pour un
display complet (extensions, cas particuliers) — et l’iGPU accélère les deux.
Playwright et Selenium sont-ils tous les deux supportés ? Oui, ainsi que Puppeteer : ce sont les mêmes flags Chromium et le même GPU.
Et pour tester WebGL / WebGPU en CI ? C’est justement le cas idéal : l’iGPU fournit un vrai contexte GPU, bien plus représentatif que le rendu logiciel.
Conclusion
Pour des tests navigateur accélérés GPU, l’iGPU fait le travail — sans la facture d’un GPU dédié. Lancez votre serveur de CI dès 14,99 €/mois.