FS#48228 - [qemu] Please enable virgl support

Attached to Project: Arch Linux
Opened by Lev Cohan (lev) - Wednesday, 17 February 2016, 23:48 GMT
Last edited by Doug Newgard (Scimmia) - Friday, 14 October 2016, 15:23 GMT
Task Type Feature Request
Category Packages: Extra
Status Closed
Assigned To Tobias Powalowski (tpowa)
Anatol Pomozov (anatolik)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 11
Private No

Details

Now that all components needed (kernel 4.4, mesa 11.1 and qemu 2.5) are out of testing,
please enable virgl in qemu so 3D acceleration can be used in qemu.

These steps are necessary:

* Add virglrenderer package
https://cgit.freedesktop.org/virglrenderer/

* Built qemu with virgl and gtk3 support
--enable-virglrenderer
--enable-gtk --with-gtkabi=3.0


Thanks
This task depends upon

Closed by  Doug Newgard (Scimmia)
Friday, 14 October 2016, 15:23 GMT
Reason for closing:  Implemented
Comment by Jelle van der Waa (jelly) - Sunday, 21 February 2016, 15:04 GMT
I've put virglrenderer-git in the AUR, upstream does not seem to tag stable releases yet as far as I can see. https://aur.archlinux.org/packages/virglrenderer-git
Comment by Lev Cohan (lev) - Monday, 18 April 2016, 04:54 GMT
virglrenderer has now release tarballs: see https://lists.freedesktop.org/archives/virglrenderer-devel/2016-April/000066.html
In the mail the links to the pgp signatures are wrong!

http://www.freedesktop.org/software/virgl/virglrenderer-0.5.0.tar.bz2
http://www.freedesktop.org/software/virgl/virglrenderer-0.5.0.tar.bz2.sig


For the imminent release of qemu 2.6:
Besides gtk3, SDL2 and SPICE now also support OpenGL and virgl.

Build qemu 2.6 with
--enable-virglrenderer
--enable-gtk
--with-gtkabi=3.0
--enable-sdl
--with-sdlabi=2.0
Comment by Anatol Pomozov (anatolik) - Tuesday, 19 April 2016, 19:40 GMT
virglrenderer 0.5.0 just added to the repo https://www.archlinux.org/packages/core/x86_64/virglrenderer/
Comment by Anatol Pomozov (anatolik) - Tuesday, 17 May 2016, 16:33 GMT
Enabled in qemu 2.6.0. Please check that it works as expected.
Comment by TingPing (TingPing) - Sunday, 19 June 2016, 22:09 GMT
I get this error when trying to launch from virt-manager:

Error starting domain: unsupported configuration: This QEMU doesn't support spice OpenGL
Comment by Sebastian Ziebarth (voeck) - Monday, 20 June 2016, 07:25 GMT
For spice + OpenGL to work QEMU has to be compiled with at least spice 0.13.1 which is still a development release and thus not in the Arch repos.
Comment by Niccolò Belli (darkbasic) - Tuesday, 16 August 2016, 13:44 GMT
I installed spice 0.13.2 and recompiled qemu, but virt-manager still doesn't work with virtio-gpu: i get "[drm] virgl 3d acceleration not available" in the guest (Fedora 24).
Comment by Giuseppe (G-G) - Thursday, 29 September 2016, 14:14 GMT
Opengl support is off by default, did you try to add the option gl=on?
-spice [your-options],gl=on
Comment by Dennis Schridde (devurandom) - Sunday, 09 October 2016, 11:37 GMT
@darkbasic: Is the result of your effort available in AUR? Or is there a quick way to rebuild QEMU in the way described above on Arch Linux?
@G-G: I just tried that (following http://blog.wikichoon.com/2016/05/spice-openglvirgl-acceleration-on.html) and it does not work - upon trying to start the VM, I receive this message from virt-manager: Error starting domain: unsupported configuration: This QEMU doesn't support spice OpenGL
Comment by Giuseppe (G-G) - Sunday, 09 October 2016, 12:16 GMT
You have to install the development release of spice and recompile qemu.
The quick way is to use ABS (https://wiki.archlinux.org/index.php/Arch_Build_System), basically the steps are:

- Get spice with ABS, in the PKGBUILD bump up the $pkgver to the last dev release (0.13.2), build with makepkg and install as you would do with an AUR package.
- Get qemu with ABS, simply rebuild with makepkg (maybe you could increase the pkgrel, but that's not really necessary) and install.
Comment by Dennis Schridde (devurandom) - Sunday, 09 October 2016, 21:14 GMT
After building spice and qemu as you described, and also installing libvirt-git with a custom patch as described in [1], the guest kernel (Debian Jessie + backports, Linux 4.7.5) detects VirGL: [drm] virgl 3d acceleration enabled
However, the guest's Mesa 12.0.3 does not: OpenGL renderer string: Gallium 0.4 on llvmpipe (LLVM 3.8, 256 bits)
Even though it should [2] contain virgl support and I see that /usr/lib/x86_64-linux-gnu/dri/virtio_gpu_dri.so is present.

[1]: https://bugzilla.redhat.com/show_bug.cgi?id=1337290
[2]: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=807774
Comment by Giuseppe (G-G) - Sunday, 09 October 2016, 22:29 GMT
Check Xorg logs. There is also a requirement for the guest's xorg version:
https://www.kraxel.org/blog/tag/virgl/
Comment by Dennis Schridde (devurandom) - Monday, 10 October 2016, 10:37 GMT
@G-G: Thanks for the reminder. Sadly there is no xserver-xorg-core >=1.18.99 available for Debian (any branch), yet. I'll have to wait until I can proceed testing.
Comment by Dennis Schridde (devurandom) - Wednesday, 12 October 2016, 12:25 GMT
xorg-server >=1.8.2 contains the patch that adds the VirGL PCI IDs. I updated the guest to Debian Stretch (9.0, testing), which contains xorg-server 1.8.4 and with that was able to use VirGL without any further modifications.

Loading...