Investigation results for graphics virtualization, as preparation for the corresponding AVPS chapters and general knowledge sharing.
Investigation of hardware features for GPU virtualization
- PowerVR .... presentation ← TODO Stephen Lawrence
- Mali 78AE presentation ← TODO Gunnar Andersson
- Nvidia - is there some corresponding public information available?
VirtioGPU status
(last update mid-2020?)
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 |
More details: VIRTIO GPU Operation Highlights
[1] https://www.kraxel.org/virtio/virtio-v1.0-cs03-virtio-gpu.pdf
...