[Mesa-dev] Merging virtio-gpu vulkan driver
olvaffe at gmail.com
Mon Apr 5 19:14:33 UTC 2021
On Mon, Apr 5, 2021 at 11:12 AM Dave Airlie <airlied at gmail.com> wrote:
> On Tue, 6 Apr 2021 at 03:22, Chia-I Wu <olvaffe at gmail.com> wrote:
> > Hi list,
> > We are looking to merge virtio-gpu vulkan driver
> > https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5800
> > On the good side, the driver is conformant with Vulkan 1.2 (vtest) and
> > Vulkan 1.1 (virtio-gpu). I only tried it on a handful of games (e.g.,
> > Dota 2, Hades on Proton with D3D and Vulkan backends, and some
> > others), but it appeared to work with reasonable framerates. I was
> > told that it works with other games as well.
> > I tried Basemark GPU a month ago on a Core i7-7820HQ. The fps numbers were
> > quality highend: native 17.07, vtest 16.83, virtio-gpu 16.65
> > quality medium: native 98.19, vtest 91.15, virtio-gpu 92.29
> > quality simple: native 327.52, vtest 317.17, virtio-gpu 283.02
> > On the bad side, the driver requires
> > VIRTIO_GPU_F_RESOURCE_BLOB (kernel 5.11 but not supported by qemu)
> > VIRTIO_GPU_F_CONTEXT_INIT (to be upstreamed)
> > As a result, it can only be tested with crosvm or vtest.
> I've no major objections to merging this in an experimental state, not
> having qemu support is of course an annoyance but at some point I
> suppose that bridge will have to be crossed.
> My main worry with no qemu support is locking in crosvm specific
> behaviours that we later can't get back out of.
Agreed. I also want the driver to be available to the much wider
community that qemu has. I myself use crosvm with archlinux
host+guest for developments, in addition to on chromebooks. While it
works, it is not as versatile/mature as qemu is.
We have qemu support as a part of VIRTIO_GPU_F_RESOURCE_BLOB upstream
task, but there was no activity recently. I can check the status and
get that going again.
> > We develop using anv as the host driver mostly. Simple samples work
> > when the host driver is radv, but games hit a host KVM bug quickly.
> > The issue has been reported and we expect it to be fixed by upstream.
> > The protocol for Vulkan command serialization is not finalized either.
> > The driver is still marked experimental and must be enabled with
> > -Dvulkan-drivers=virtio-experimental. The plan is to mark the driver
> > stable after the kernel ABI and the protocol ABI are finalized.
> Sounds good.
> Is the virglrenderer side merged? or is it a case of both sides
> landing close to each other.
I want to land both sides close to each other.
Both sides have been reviewed. virglrenderer side is ready to land
I plan to merge both sides in a day or two if the feedback on this
thread is positive :)
> >  https://gitlab.freedesktop.org/virgl/drm-misc-next/-/commits/context-init/
> >  KVM-based VMM written in Rust
> > https://chromium.googlesource.com/chromiumos/platform/crosvm/
> >  vtest is a part of virglrenderer and is what I use for most of the
> > developments
> > _______________________________________________
> > mesa-dev mailing list
> > mesa-dev at lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/mesa-dev
More information about the mesa-dev