[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [RFC QEMU PATCH 00/18] Add VirtIO GPU and Passthrough GPU support on Xen
Hi all, We are working to introduce VirtIO GPU and Passthrough GPU support on Xen. https://lists.xenproject.org/archives/html/xen-devel/2023-03/msg00714.html Currently, only virgl for VirtIO GPU and Passthrough GPU on PV dom0 can works on Xen. These series introduce more graphic support for Xen on QEMU part. 1) Add Venus with QEMU for VirtIO GPU on Xen Antonio Caggiano made the venus with QEMU on KVM platform below, patch 1 to 11 are inherited from his original work to support the features of context init, hostmem, resource uuid, and blob resources for Venus. We have rebase the support to the latest version. https://www.collabora.com/news-and-blog/blog/2021/11/26/venus-on-qemu-enabling-new-virtual-vulkan-driver/ But on Xen, it still needs to add "-mem-path" function in the QEMU. Because it requires the memory-backend-memfd support. Please check patch 12 to 16. With the Venus supported on Xen, we can enable Zink + Venus for OpenGL rendering on guest domU as well. 2) Add Video hardware accelerate support for virgl Please check patch 17, that adds get_drm_fd callback to let guest know hardware accel codec is used. 3) Enable Passthrough GPU on Xen PVH dom0 in QEMU Please check patch 18, that translate host irq to gsi for PCIe Passthrough on PVH dom0. Below are the screenshot of these functions, please take a look. Venus: https://drive.google.com/file/d/1_lPq6DMwHu1JQv7LUUVRx31dBj0HJYcL/view?usp=share_link Zink: https://drive.google.com/file/d/1FxLmKu6X7uJOxx1ZzwOm1yA6IL5WMGzd/view?usp=share_link Passthrough GPU: https://drive.google.com/file/d/17onr5gvDK8KM_LniHTSQEI2hGJZlI09L/view?usp=share_link Repositories Kernel: https://git.kernel.org/pub/scm/linux/kernel/git/rui/linux.git/log/?h=upstream-fox-xen Xen: https://gitlab.com/huangrui123/xen/-/commits/upstream-for-xen QEMU: https://gitlab.com/huangrui123/qemu/-/commits/upstream-for-xen Mesa: https://gitlab.freedesktop.org/rui/mesa/-/commits/upstream-for-xen Virglrenderer: https://gitlab.freedesktop.org/rui/virglrenderer/-/commits/upstream-for-xen Thanks, Ray Antonio Caggiano (8): virtio-gpu: Handle resource blob commands virtio-gpu: CONTEXT_INIT feature virtio-gpu: Unrealize virtio-gpu: Resource UUID virtio-gpu: Support Venus capset virtio-gpu: Initialize Venus meson: Enable virglrenderer unstable APIs virtio-gpu: Handle set scanout blob command Chen Jiqian (1): xen: translate irq of host pci device to gsi Dr. David Alan Gilbert (1): virtio: Add shared memory capability Gerd Hoffmann (1): virtio-gpu: hostmem Honglei Huang (2): virtio-gpu: fix hw-display-virtio-gpu.so undefined symbol virtio_gpu_virgl_resource_unmap virtio-gpu: Add video hardware accelerate support for virgl Huang Rui (4): softmmu: Fix the size to map cache with xen for host virtual address hw/i386/xen/xen-hvm: Introduce xen_ram_block_check function softmmu: Add ram block check to map the xen ram memory softmmu: Enable qemu ram allocation with fd for Xen Robert Beckett (1): virtio-gpu: make blob scanout use dmabuf fd hw/display/meson.build | 2 +- hw/display/trace-events | 1 + hw/display/virtio-gpu-base.c | 7 +- hw/display/virtio-gpu-pci.c | 14 + hw/display/virtio-gpu-virgl.c | 326 +++++++++++++++++++- hw/display/virtio-gpu.c | 101 +++++- hw/display/virtio-vga.c | 33 +- hw/i386/xen/xen-hvm.c | 15 + hw/virtio/virtio-pci.c | 18 ++ hw/xen/xen-host-pci-device.c | 3 +- include/hw/virtio/virtio-gpu-bswap.h | 18 ++ include/hw/virtio/virtio-gpu.h | 28 ++ include/hw/virtio/virtio-pci.h | 4 + include/hw/xen/xen.h | 1 + include/standard-headers/linux/virtio_gpu.h | 2 + meson.build | 11 + softmmu/physmem.c | 12 +- 17 files changed, 559 insertions(+), 37 deletions(-) -- 2.25.1
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |