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

What is the correct device for non-x86 guests? We have virtio-gpu-gl-pci
but when doing that I get:

  -device virtio-gpu-gl-pci,hostmem=4G,blob=true,venus=true
  qemu-system-aarch64: -device 
virtio-gpu-gl-pci,hostmem=4G,blob=true,venus=true: opengl is not available

According to 37f86af087 (virtio-gpu: move virgl realize + properties):

  Drop the virgl property, the virtio-gpu-gl-device has virgl enabled no
  matter what.  Just use virtio-gpu-device instead if you don't want
  enable virgl and opengl.  This simplifies the logic and reduces the test
  matrix.

but that's not a good solution because that needs virtio-mmio and there
are reasons to have a PCI device (for one thing no ambiguity about
discovery).


-- 
Alex Bennée
Virtualisation Tech Lead @ Linaro

Reply via email to