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. Virgl supports OpenGL 4.3 and OpenGL ES 3.2 in the VM using both OpenGL and OpenGL ES backends on the host [3]. OpenGL ES 3.2 support has been added in mesa 18.2.0 [4]. Vulkan-virglrenderer is heavily work in progress [5]. | linux 4.4 / qemu 2.5 | Yes [6] | 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://lwn.net/Articles/767970/
[4] https://www.mesa3d.org/relnotes/18.2.0.html
[5] https://github.com/Keenuts/vulkan-virgl
[6] https://gitlab.freedesktop.org/virgl/virglrenderer