Virtio-nvgpu: Near-native Nvidia GPU access inside a KVM guest
Le projet permet à une VM KVM d'exécuter les bibliothèques utilisateur NVIDIA non modifiées en faisant transiter les ioctl du pilote noyau via virtio, sans traduction au niveau API. La cible principale est le streaming headless : un compositeur dans la VM rend, compose et encode sur le GPU, puis n'envoie que le flux vidéo compressé. Des mesures sur RTX 3060 montrent des performances proches du natif (à ~2 % près pour des images ≥2 ms) et un coût CPU équivalent à l'hôte, avec très peu de traversées VM par image. L'architecture combine un pilote invité GPL qui sérialise ioctl/mmap, une crate device Rust côté VMM pour traduire et gérer les FDs et buffers, des tables ABI générées, et un isolate sandboxé prévu mais pas encore implémenté. Le périmètre couvre Vulkan/GL headless, allocation CUDA et interop zéro‑copie avec NVENC, prend en charge des plages explicites de versions du pilote NVIDIA, et exclut pour l'instant le scanout, MIG/SR‑IOV et cudaMallocManaged/mémoire unifiée complète.