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 WIP [3]. Vulkan-virglrenderer is heavily work in progress [4]. | linux 4.4 / qemu 2.5 | Yes [45] | Medium | Highly implementation and hardware dependent | Medium |
...
[3] https://www.collabora.com/news-and-blog/blog/2018/05/09/gpu-virtualization-update/
[4] https://github.com/Keenuts/vulkan-virgl
[5] https://gitlab.freedesktop.org/virgl/virglrenderer
...