virt-manager and virgl / Spice / OpenGL

Marc-André Lureau marcandre.lureau at redhat.com
Tue May 19 16:25:29 UTC 2020


Hi

On Tue, May 19, 2020 at 6:13 PM Scott Talbert <swt at techie.net> wrote:
>
> On Tue, 19 May 2020, Marc-André Lureau wrote:
>
> >>>> Hi,
> >>>>
> >>>> Is virgl/OpenGL support through virt-manager supposed to work and perform
> >>>> well?
> >>>>
> >>>> I have the following:
> >>>> Host OS: Fedora 32
> >>>> Guest OS: Debian Unstable
> >>>>
> >>>> In virt-manager, I have the following:
> >>>> Display Spice
> >>>>    Type: Spice server
> >>>>    Listen type: None
> >>>>    Password: Blank
> >>>>    Keymap: Blank
> >>>>    OpenGL: Checked & /dev/dri/renderD128
> >>>>
> >>>> Video Virtio
> >>>>    Model: Virtio
> >>>>    Ram: -
> >>>>    Heads: 1
> >>>>    3D acceleration: Checked
> >>>>
> >>>> In the guest OS:
> >>>> talbert at debian-unstable:~$ sudo dmesg | grep '\[drm\]'
> >>>> [    1.947975] [drm] pci: virtio-vga detected at 0000:00:01.0
> >>>> [    2.019988] [drm] features: +virgl +edid
> >>>> [    2.022522] [drm] number of scanouts: 1
> >>>> [    2.022529] [drm] number of cap sets: 2
> >>>> [    2.048982] [drm] cap set 0: id 1, max-version 1, max-size 308
> >>>> [    2.049125] [drm] cap set 1: id 2, max-version 2, max-size 688
> >>>> [    2.049332] [drm] Initialized virtio_gpu 0.1.0 0 for virtio0 on minor 0
> >>>>
> >>>> So it *seems* like things are configured correctly?  However, performance
> >>>> is not great.  Performance is much better if I switch back to QXL video.
> >>>
> >>> It looks like your setup should be fine. What performance are you
> >>> running? Local or remote? If it's 2D based anyway, chances are you get
> >>> similar results with QXL or virtio, probably with better QXL results
> >>> with the QXL Xorg driver.
> >>
> >> It's local.  I don't have any quantitative data on performance, just my
> >> observations on performance.  In the guest, I'm just running the default
> >> Debian DE (Gnome Shell) on Xorg.  Wayland performs worse.  Gnome Shell is
> >> 3D, right?
> >
> > Yes. With virgl, make sure the virtio-gpu DRI driver is loaded (and
> > not the sw/llvmpipe). On Xorg, make sure glamor is running.
> >
> > What's your host gpu?
>
> It looks as if virtio-gpu and glamor are loaded/running:
>
> talbert at debian-unstable:~$ grep virtio ~/.local/share/xorg/Xorg.0.log
> [    28.590] (II) modeset(0): [DRI2]   DRI driver: virtio_gpu
> [    28.590] (II) modeset(0): [DRI2]   VDPAU driver: virtio_gpu
> [    28.603] (II) AIGLX: Loaded and initialized virtio_gpu
>
> talbert at debian-unstable:~$ grep glamor ~/.local/share/xorg/Xorg.0.log
> [    28.451] (II) Loading sub module "glamoregl"
> [    28.451] (II) LoadModule: "glamoregl"
> [    28.451] (II) Loading /usr/lib/xorg/modules/libglamoregl.so
> [    28.456] (II) Module glamoregl: vendor="X.Org Foundation"
> [    28.527] (II) modeset(0): glamor X acceleration enabled on virgl
> [    28.528] (II) modeset(0): glamor initialized
>
> Host GPU is:
> [talbert at deasil ~]$ lspci | grep VGA
> 01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI]
> Venus XTX [Radeon HD 8890M / R9 M275X/M375X] (rev 83)
>

Looks all good to me, you may check your guest performance vs host
performance with various GL benchmarks.

What is left after that is the display scanout refresh, going through
SPICE etc, which may add some visible slowness. You may try running
straight from QEMU -display gtk instead, to check if that makes a
difference.

At this point, you may have more hints about performance issues by
discussing on dri-devel or virgl ML.

> One other note: there is some intermittent display corruption while the
> guest OS is booting.

Yeah, such issues are hard to debug, and not exactly a priority.





More information about the virt-tools-list mailing list