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 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 |
...
[2] https://github.com/Keenuts/virtio-gpu-documentation/blob/master/src/virtio-gpu.md
[3] https://wwwlwn.collabora.com/news-and-blog/blog/2018/05/09/gpu-virtualization-updatenet/Articles/767970/
[4] https://www.mesa3d.org/relnotes/18.2.0.html
...