Dmitry Osipenko <dmitry.osipe...@collabora.com> writes:

> Hello,
>
> This series enables Vulkan Venus context support on virtio-gpu.
>
> All virglrender and almost all Linux kernel prerequisite changes
> needed by Venus are already in upstream. For kernel there is a pending
> KVM patchset that fixes mapping of compound pages needed for DRM drivers
> using TTM [1], othewrwise hostmem blob mapping will fail with a KVM error
> from Qemu.
>
> [1] https://lore.kernel.org/kvm/20240229025759.1187910-1-steve...@google.com/
>
> You'll need to use recent Mesa version containing patch that removes
> dependency on cross-device feature from Venus that isn't supported by
> Qemu [2].
>
> [2] 
> https://gitlab.freedesktop.org/mesa/mesa/-/commit/087e9a96d13155e26987befae78b6ccbb7ae242b
>
> Example Qemu cmdline that enables Venus:
>
>   qemu-system-x86_64 -device virtio-vga-gl,hostmem=4G,blob=true,venus=true \
>       -machine q35,accel=kvm,memory-backend=mem1 \
>       -object memory-backend-memfd,id=mem1,size=8G -m 8G

For the following profiles:

Host Setup:

  x86 host
  Intel Corporation Raptor Lake-S GT1 [UHD Graphics 770]
  Debian Bookworm
  Kernel 6.11.0-rc1-ajb-00146-gf690c27fbc92 (basically 
https://lore.kernel.org/lkml/20240726235234.228822-1-sea...@google.com/ + 
UDMABUF enabled)
  Hand built Virglrenderer (main/4fc19d919f/v1.0.1)
  Hand built Mesa with Venus support (mesa-23.3.6)

x86 Guest Setup

  Current Trixie guest (as off 19/8/24)
  Kernel 6.11.0-rc1-ajb-00146-gf690c27fbc92
  Distro installed:
    weston
    vkcube-wayland
    vkmark

  QEMU: KVM guest with -device virtio-vga-gl,hostmem=4G,blob=on,venus=on

Aarch64 Guest Setup

  Current Trixie guest (as off 19/8/24)
  Kernel 6.11.0-rc1-ajb-00146-gf690c27fbc92
  Distro installed:
    weston
    vkcube-wayland
    vkmark

  + Hand built Mesa (012323a1d, enabled with meson devenv)

  QEMU: TCG Guest with -device virtio-gpu-gl-pci,hostmem=4G,venus=on,blob=on

Have a:

  Tested-by: Alex Bennée <alex.ben...@linaro.org>
  Acked-by: Alex Bennée <alex.ben...@linaro.org>

Next steps:

  - test on Arm AVA (x86 and Arm guests)
  - build some buildroot images with all the right deps for testing

-- 
Alex Bennée
Virtualisation Tech Lead @ Linaro

Reply via email to