On 2023/08/10 10:11, Gurchetan Singh wrote:


On Tue, Aug 8, 2023 at 10:18 PM Akihiko Odaki <akihiko.od...@gmail.com <mailto:akihiko.od...@gmail.com>> wrote:

    On 2023/08/09 11:11, Gurchetan Singh wrote:
     > This adds basic documentation for virtio-gpu.
     >
     > Suggested-by: Akihiko Odaki <akihiko.od...@daynix.com
    <mailto:akihiko.od...@daynix.com>>
     > Signed-off-by: Gurchetan Singh <gurchetansi...@chromium.org
    <mailto:gurchetansi...@chromium.org>>
     > ---
     > v2: - Incorporated suggestions by Akihiko Odaki
     >      - Listed the currently supported capset_names (Bernard)
     >
     > v3: - Incorporated suggestions by Akihiko Odaki and Alyssa Ross
     >
     > v4: - Incorporated suggestions by Akihiko Odaki
     >
     >   docs/system/device-emulation.rst   |   1 +
     >   docs/system/devices/virtio-gpu.rst | 115
    +++++++++++++++++++++++++++++
     >   2 files changed, 116 insertions(+)
     >   create mode 100644 docs/system/devices/virtio-gpu.rst
     >
     > diff --git a/docs/system/device-emulation.rst
    b/docs/system/device-emulation.rst
     > index 4491c4cbf7..1167f3a9f2 100644
     > --- a/docs/system/device-emulation.rst
     > +++ b/docs/system/device-emulation.rst
     > @@ -91,6 +91,7 @@ Emulated Devices
     >      devices/nvme.rst
     >      devices/usb.rst
     >      devices/vhost-user.rst
     > +   devices/virtio-gpu.rst
     >      devices/virtio-pmem.rst
     >      devices/vhost-user-rng.rst
     >      devices/canokey.rst
     > diff --git a/docs/system/devices/virtio-gpu.rst
    b/docs/system/devices/virtio-gpu.rst
     > new file mode 100644
     > index 0000000000..d56524270d
     > --- /dev/null
     > +++ b/docs/system/devices/virtio-gpu.rst
     > @@ -0,0 +1,115 @@
     > +..
     > +   SPDX-License-Identifier: GPL-2.0
     > +
     > +virtio-gpu
     > +==========
     > +
     > +This document explains the setup and usage of the virtio-gpu device.
     > +The virtio-gpu device paravirtualizes the GPU and display
    controller.
     > +
     > +Linux kernel support
     > +--------------------
     > +
     > +virtio-gpu requires a guest Linux kernel built with the
     > +``CONFIG_DRM_VIRTIO_GPU`` option.
     > +
     > +QEMU virtio-gpu variants
     > +------------------------
     > +
     > +QEMU virtio-gpu device variants come in the following form:
     > +
     > + * ``virtio-vga[-BACKEND]``
     > + * ``virtio-gpu[-BACKEND][-INTERFACE]``
     > + * ``vhost-user-vga``
     > + * ``vhost-user-pci``
     > +
     > +**Backends:** QEMU provides a 2D virtio-gpu backend, and two
    accelerated
     > +backends: virglrenderer ('gl' device label) and rutabaga_gfx
    ('rutabaga'
     > +device label).  There is a vhost-user backend that runs the
    graphics stack
     > +in a separate process for improved isolation.
     > +
     > +**Interfaces:** QEMU further categorizes virtio-gpu device
    variants based
     > +on the interface exposed to the guest. The interfaces can be
    classified
     > +into VGA and non-VGA variants. The VGA ones are prefixed with
    virtio-vga
     > +or vhost-user-vga while the non-VGA ones are prefixed with
    virtio-gpu or
     > +vhost-user-gpu.
     > +
     > +The VGA ones always use the PCI interface, but for the non-VGA
    ones, the
     > +user can further pick between MMIO or PCI. For MMIO, the user
    can suffix
     > +the device name with -device, though vhost-user-gpu does not
    support MMIO.
     > +For PCI, the user can suffix it with -pci. Without these
    suffixes, the
     > +platform default will be chosen.
     > +
     > +This document uses the PCI interface in examples.

    I think it's better to omit -pci.


Are you suggesting to use "-device virtio-gpu-rutabaga" or "-device virtio-gpu-gl" in the examples?  Or "-device virtio-gpu-rutabaga-device" or "-device virtio-gpu-gl-device"?  The former I believe wouldn't launch, and the examples should ideally be directly applicable to a user.


    By the way you are not adding the aliases for Rutabaga so please do so.
    You can find the table in: softmmu/qdev-monitor.c


I don't follow this comment.  Isn't "-device virtio-gpu-rutabaga-pci" (along with "-device virtio-gpu-rutabaga-device") an alias for the rutabaga device?  Where would the alias be placed in the doc (we don't explicitly list aliases for other devices either), outside the "..parsed-literal::" launch command?

virtio-gpu-gl should work, and you need add an alias definition to get virtio-gpu-rutabaga work.

Your documentation already says:
> Without these suffixes, the platform default will be chosen.

You should confirm what you say in the documentation and fix the documentation or code if something is wrong.

Reply via email to