From: Huang Rui <ray.huang@amd.com>
To: "Gerd Hoffmann" <kraxel@redhat.com>,
"Michael S . Tsirkin" <mst@redhat.com>,
"Stefano Stabellini" <sstabellini@kernel.org>,
"Anthony PERARD" <anthony.perard@citrix.com>,
"Roger Pau Monné" <roger.pau@citrix.com>,
"Jan Beulich" <jbeulich@suse.com>,
"Antonio Caggiano" <antonio.caggiano@collabora.com>,
"Dr . David Alan Gilbert" <dgilbert@redhat.com>,
"Robert Beckett" <bob.beckett@collabora.com>,
qemu-devel@nongnu.org, xen-devel@lists.xenproject.org
Cc: "Alex Deucher" <alexander.deucher@amd.com>,
"Christian König" <christian.koenig@amd.com>,
"Stewart Hildebrand" <Stewart.Hildebrand@amd.com>,
"Xenia Ragiadakou" <burzalodowa@gmail.com>,
"Honglei Huang" <honglei1.huang@amd.com>,
"Julia Zhang" <julia.zhang@amd.com>,
"Chen Jiqian" <Jiqian.Chen@amd.com>,
"Huang Rui" <ray.huang@amd.com>
Subject: [RFC QEMU PATCH 00/18] Add VirtIO GPU and Passthrough GPU support on Xen
Date: Sun, 12 Mar 2023 17:22:26 +0800 [thread overview]
Message-ID: <20230312092244.451465-1-ray.huang@amd.com> (raw)
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
next reply other threads:[~2023-03-12 9:28 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-03-12 9:22 Huang Rui [this message]
2023-03-12 9:22 ` [RFC QEMU PATCH 01/18] virtio: Add shared memory capability Huang Rui
2023-03-13 9:01 ` Philippe Mathieu-Daudé
2023-03-12 9:22 ` [RFC QEMU PATCH 02/18] virtio-gpu: hostmem Huang Rui
2023-03-12 9:22 ` [RFC QEMU PATCH 03/18] virtio-gpu: Handle resource blob commands Huang Rui
2023-03-12 9:22 ` [RFC QEMU PATCH 04/18] virtio-gpu: CONTEXT_INIT feature Huang Rui
2023-03-13 9:06 ` Philippe Mathieu-Daudé
2023-03-12 9:22 ` [RFC QEMU PATCH 05/18] virtio-gpu: Unrealize Huang Rui
2023-03-12 9:22 ` [RFC QEMU PATCH 06/18] virtio-gpu: Resource UUID Huang Rui
2023-03-12 9:22 ` [RFC QEMU PATCH 07/18] virtio-gpu: Support Venus capset Huang Rui
2023-03-12 9:22 ` [RFC QEMU PATCH 08/18] virtio-gpu: Initialize Venus Huang Rui
2023-03-12 17:51 ` Dmitry Osipenko
2023-03-13 2:22 ` Dmitry Osipenko
2023-03-13 15:57 ` Huang Rui
2023-03-13 15:55 ` Huang Rui
2023-03-15 23:14 ` Dmitry Osipenko
2023-03-24 13:22 ` Huang Rui
2023-04-03 21:03 ` Dmitry Osipenko
2023-03-12 9:22 ` [RFC QEMU PATCH 09/18] meson: Enable virglrenderer unstable APIs Huang Rui
2023-03-12 9:22 ` [RFC QEMU PATCH 10/18] virtio-gpu: Handle set scanout blob command Huang Rui
2023-03-12 9:22 ` [RFC QEMU PATCH 11/18] virtio-gpu: make blob scanout use dmabuf fd Huang Rui
2023-03-12 9:22 ` [RFC QEMU PATCH 12/18] softmmu: Fix the size to map cache with xen for host virtual address Huang Rui
2023-03-18 0:31 ` Stefano Stabellini
2023-03-12 9:22 ` [RFC QEMU PATCH 13/18] hw/i386/xen/xen-hvm: Introduce xen_ram_block_check function Huang Rui
2023-03-18 0:38 ` Stefano Stabellini
2023-03-12 9:22 ` [RFC QEMU PATCH 14/18] softmmu: Add ram block check to map the xen ram memory Huang Rui
2023-03-12 9:22 ` [RFC QEMU PATCH 15/18] softmmu: Enable qemu ram allocation with fd for Xen Huang Rui
2023-03-12 9:22 ` [RFC QEMU PATCH 16/18] virtio-gpu: fix hw-display-virtio-gpu.so undefined symbol virtio_gpu_virgl_resource_unmap Huang Rui
2023-03-12 9:22 ` [RFC QEMU PATCH 17/18] virtio-gpu: Add video hardware accelerate support for virgl Huang Rui
2023-03-12 9:22 ` [RFC QEMU PATCH 18/18] xen: translate irq of host pci device to gsi Huang Rui
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230312092244.451465-1-ray.huang@amd.com \
--to=ray.huang@amd.com \
--cc=Jiqian.Chen@amd.com \
--cc=Stewart.Hildebrand@amd.com \
--cc=alexander.deucher@amd.com \
--cc=anthony.perard@citrix.com \
--cc=antonio.caggiano@collabora.com \
--cc=bob.beckett@collabora.com \
--cc=burzalodowa@gmail.com \
--cc=christian.koenig@amd.com \
--cc=dgilbert@redhat.com \
--cc=honglei1.huang@amd.com \
--cc=jbeulich@suse.com \
--cc=julia.zhang@amd.com \
--cc=kraxel@redhat.com \
--cc=mst@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=roger.pau@citrix.com \
--cc=sstabellini@kernel.org \
--cc=xen-devel@lists.xenproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).