TestBot and graphics tests

Francois Gouget fgouget at codeweavers.com
Tue Apr 23 06:55:59 CDT 2019


Virgl is an alternative to PCI passthrough. To summarize it's a 
virtualized graphics card that passes the OpenGL commands to one of the 
host's graphics card to render into the VM's framebuffer.


Advantages:
* It does not require the same level of hardware support as 
  PCI-passthrough. As long as QEmu works you can have Virgl support.
* You can also have multiple VMs all using the host's graphics card at 
  the same time while still getting hardware accelerated OpenGL support 
  in the VMs.


Drawbacks:
* There's more overhead than for PCI-passthrough but that would not be a 
  significant issue for WineTest.
* It introduces a middle layer and thus the potential for new and 
  interesting bugs.
* Vulkan is not supported (there's work on basing it on Vulkan but that 
  looks like many months away).


Anyway, here's what I learned when I investigated whether Virgl could  
be useful for WineTest.

* First Virgl currently does not support remote access: the client (e.g. 
  virt-manager) must run on the same machine as the VM. That's in the 
  process of being fixed. But in the meantime this issue can be worked 
  around by using the KVM.

* Currently Virgl does not really support Windows guests. It looks like 
  there is work on this but I think it's going to be some time before it 
  is usable.
  https://lwn.net/Articles/767970/

* It's also impossible to take snapshots of live VMs. It's not entirely 
  clear whether this is a bug or made impossible because of the 
  host-side state. In any case it means that for now Virgl is no better 
  than PCI-passthrough in this respect and will require the same TestBot 
  changes.

* Debian 9 (stable) does not have the needed libvirglrenderer0 package 
  so Virgl support is missing from QEmu. Installing Debian Testing's 
  QEmu packages has wide-ranging cascading impacts so for now Virgl 
  cannot be tested on the TestBot machines :-(
  Between this and Mesa maybe the TestBot machines should be upgraded to 
  Debian Testing.

* I did test Virgl on my box. WineTest ran to completion but then failed 
  to upload the report dues to some Wine-level thread deadlock! That's a 
  bit suspicious. I manually completed the upload and the results can be 
  seen in the '-virgl' results. They're not terrible but it's not clear 
  that Virgl on Intel gives better results that plain QXL.

  https://test.winehq.org/data/f9301c2b66450a1cdd986e9052fcaa76535ba8b7/linux_fgtb-debian9-virgl-win32/version.html


-- 
Francois Gouget <fgouget at codeweavers.com>



More information about the wine-devel mailing list