Virgl Lands A Number Of Performance Optimizations In Mesa 19.1
For those using the Virgl3D driver stack for having OpenGL acceleration within KVM guest VMs with VirtIO-GPU that is then accelerated by hosts, there are performance optimizations that have just landed in the Mesa 19.1 development code.
Virgl has introduced a transfer queue along with being able to de-duplicate intersecting 1D transfers, which results in a texture upload micro-benchmark going from 64.23 mtexel/sec all the way to 367.44 mtexel/sec.
In using the queue, the Unigine Valley benchmark goes from 3 to 10 FPS and Team Fortress 2 from 6 to 13 FPS while the host was at 20 FPS.
With a change to virgl_transfer_inline_write for using it less, the performance in a GLBench micro-benchmark goes from 131 mb/s to 6828 mb/s for buffer uploads.
There were also a number of other Virgl changes that are now within Mesa 19.1 Git. These latest changes come via Google's Chrome OS team where Virgl is being used.
The performance still leaves a lot to be desired for complex workloads, but progress is being made on this fully open-source GPU acceleration stack for Linux desktop virtualization.
Virgl has introduced a transfer queue along with being able to de-duplicate intersecting 1D transfers, which results in a texture upload micro-benchmark going from 64.23 mtexel/sec all the way to 367.44 mtexel/sec.
In using the queue, the Unigine Valley benchmark goes from 3 to 10 FPS and Team Fortress 2 from 6 to 13 FPS while the host was at 20 FPS.
With a change to virgl_transfer_inline_write for using it less, the performance in a GLBench micro-benchmark goes from 131 mb/s to 6828 mb/s for buffer uploads.
There were also a number of other Virgl changes that are now within Mesa 19.1 Git. These latest changes come via Google's Chrome OS team where Virgl is being used.
The performance still leaves a lot to be desired for complex workloads, but progress is being made on this fully open-source GPU acceleration stack for Linux desktop virtualization.
1 Comment