Availability | Acceptance in the VIRTIO standard | Proposal for the standard | De facto standard | Implementation status | In QEMU / Linux kernel | FOSSS in a GitHub Repo | Commercial / closed-source implementation | Other implementations | Complexity estimation | Performance | Code maturity | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
VirtioGPU (2D) | Yes | Likely (vote is done) | An update to virtio-v1.0-cs03 [1] | Yes | Upstream | linux 4.2 / qemu 2.4 | Yes | Medium | Highly implementation and hardware dependent | High | ||
VirtioGPU (3D) | Yes | No | Virgl3D commands [2] | No | Work in progress. Virtio related code is in upstream. Virglrenderer is mostly OpenGL ES 2.0 compliant. OpenGL ES 3.0 support is WIP, see [3]. | linux 4.4 / qemu 2.5 | Yes [4] | Medium | Highly implementation and hardware dependent | Medium |
[1] https://www.kraxel.org/virtio/virtio-v1.0-cs03-virtio-gpu.pdf
[2] https://github.com/Keenuts/virtio-gpu-documentation/blob/master/src/virtio-gpu.md
[3] https://www.collabora.com/news-and-blog/blog/2018/05/09/gpu-virtualization-update/
[4] https://gitlab.freedesktop.org/virgl/virglrenderer