Vulkan-Virgl Continues Progressing For Getting Vulkan Within VMs
One of the most exciting Google Summer of Code 2018 projects is Vulkan-Virgl for supporting this modern graphics/compute API within virtual machines.
Vulkan-Virgl is based off the existing Virgl initiative that has been providing OpenGL hardware acceleration to guest VMs using VirtIO-GPU and paired with some Mesa code and the Virgl rendering library. The GSoC 2018 project is making Virgl work with both OpenGL and Vulkan APIs.
It was back in May that we were looking at the project and fortunately it has improved since that point. There is now a TODO list citing what needs to be done to at least get a sample application running. Many Vulkan features from descriptor sets/pools, enumeration, and vkGetPhysicalDevice* features are working, but a lot remains. The memory allocation code is still in process along with buffer creation, command dispatch, pipeline cache, etc remain unimplemented or in some cases not started yet.
Student developer Nathan Gauër's code repositories for the different components comprising the Vulkan-Virgl effort can be found via Keenuts on GitHub. It will certainly be interesting to see how far he can take the project by the end of the summer and if he'll continue working on it post-GSoC, given not all of the functionality is likely to be ready in such a short time-frame.
Vulkan-Virgl is based off the existing Virgl initiative that has been providing OpenGL hardware acceleration to guest VMs using VirtIO-GPU and paired with some Mesa code and the Virgl rendering library. The GSoC 2018 project is making Virgl work with both OpenGL and Vulkan APIs.
It was back in May that we were looking at the project and fortunately it has improved since that point. There is now a TODO list citing what needs to be done to at least get a sample application running. Many Vulkan features from descriptor sets/pools, enumeration, and vkGetPhysicalDevice* features are working, but a lot remains. The memory allocation code is still in process along with buffer creation, command dispatch, pipeline cache, etc remain unimplemented or in some cases not started yet.
Student developer Nathan Gauër's code repositories for the different components comprising the Vulkan-Virgl effort can be found via Keenuts on GitHub. It will certainly be interesting to see how far he can take the project by the end of the summer and if he'll continue working on it post-GSoC, given not all of the functionality is likely to be ready in such a short time-frame.
7 Comments