All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gerd Hoffmann <kraxel@redhat.com>
To: "Kasireddy, Vivek" <vivek.kasireddy@intel.com>
Cc: "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>
Subject: Re: [PATCH v5 03/13] virtio-gpu: Add udmabuf helpers
Date: Thu, 20 May 2021 11:50:12 +0200	[thread overview]
Message-ID: <20210520095012.h3naydbrycpuv5xa@sirius.home.kraxel.org> (raw)
In-Reply-To: <957d144a53ed4549944cbb09fdffe2cb@intel.com>

On Thu, May 20, 2021 at 06:23:58AM +0000, Kasireddy, Vivek wrote:
> Hi Gerd,
>  
> > > +#ifdef CONFIG_LINUX
> > 
> > > +void virtio_gpu_init_udmabuf(struct virtio_gpu_simple_resource *res)
> > 
> > > +#else
> > 
> > > +void *virtio_gpu_init_udmabuf(struct virtio_gpu_simple_resource *res)
> > > +{
> > > +    /* nothing (stub) */
> > > +    return NULL
> > > +}
> > 
> > Fails to build for !linux ...
> > 
> > You can place the stubs in a file in the stubs/ directory instead.
> > They'll be used via weak symbol references instead of #ifdefs then.
> [Kasireddy, Vivek] Will do; should I send the whole series (v6) again with this and the
> other error in patch #10 fixed or just the fixed versions of these specific patches?

New series please.

> I see that in set_scanout:
> 
> g->parent_obj.enable = 1;

Yep.  When the guest configured a scanout for the first time enable is
set.  device reset clears it btw.  And set_scanout_blob should take care
to set enable too.

> VirtIOGPUBase *g = vvga->vgpu;
>
> if (g->enable) {
>     g->hw_ops->gfx_update(g);
> } else {
>     vvga->vga.hw_ops->gfx_update(&vvga->vga);
> }
> 
> Since the parent_obj is different the above code is always going into the else part. 

No.  VirtIOGPU->parent_obj actually *is* VirtIOGPUBase.

> Is the goal here to show the content from virtio-gpu if there is a set_scanout?

Yes.  The idea is to switch into virtio-gpu mode when the guest driver
did load and successfully initialized the scanout.  Go back into vga
mode when the device get reset due to reboot (or other reasons).

> The only way we are able to get everything to work as expected is to enable our virtio-gpu
> guest driver for the VGA device instead of the virtio-gpu PCI device. But we are not sure
> if this would be OK or not. We don't run into these issues for Linux guests as we only 
> enable virtio-gpu-pci as we have -vga none.

I'd suggest to run qemu with "-vga none" or "-nodefaults" so qemu will
not automatically add a display device.  Then explicitly add the device
you want.

  "-device virtio-gpu-pci" is the pure virtio-gpu.
  "-device virtio-vga" is the virtio-gpu device with vga compatibility.

Both should work just fine with both linux and windows.  The only
difference is that you'll get boot messages with virtio-vga (thanks to
vga compat mode) whereas virtio-gpu-pci doesn't display anything until
the guest display driver is loaded.

OVMF can handle both virtio-gpu-pci and virtio-vga so you should see
the grub boot menu with both devices.  A GOP (used by efifb) is only
available with virtio-vga though.  Not sure how windows behaves here,
probably it wants a GOP too for the early boot screen.

The standard vga is "-device VGA", cirrus is "-device cirrus-vga".

HTH,
  Gerd



  reply	other threads:[~2021-05-20  9:51 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-19  0:14 [PATCH v5 00/13] virtio-gpu: Add support for Blob resources feature (v5) Vivek Kasireddy
2021-05-19  0:14 ` [PATCH v5 01/13] ui: Get the fd associated with udmabuf driver Vivek Kasireddy
2021-05-19  0:14 ` [PATCH v5 02/13] headers: Add udmabuf.h Vivek Kasireddy
2021-05-19  0:14 ` [PATCH v5 03/13] virtio-gpu: Add udmabuf helpers Vivek Kasireddy
2021-05-19  6:13   ` Gerd Hoffmann
2021-05-20  6:23     ` Kasireddy, Vivek
2021-05-20  9:50       ` Gerd Hoffmann [this message]
2021-05-24 20:37     ` Kasireddy, Vivek
2021-05-25  9:24       ` Gerd Hoffmann
2021-05-19  0:14 ` [PATCH v5 04/13] virtio-gpu: Add virtio_gpu_find_check_resource Vivek Kasireddy
2021-05-19  0:14 ` [PATCH v5 05/13] virtio-gpu: Refactor virtio_gpu_set_scanout Vivek Kasireddy
2021-05-19  0:14 ` [PATCH v5 06/13] virtio-gpu: Refactor virtio_gpu_create_mapping_iov Vivek Kasireddy
2021-05-19  0:14 ` [PATCH v5 07/13] virtio-gpu: Add initial definitions for blob resources Vivek Kasireddy
2021-05-19  0:14 ` [PATCH v5 08/13] virtio-gpu: Add virtio_gpu_resource_create_blob Vivek Kasireddy
2021-05-19  0:14 ` [PATCH v5 09/13] ui/pixman: Add qemu_pixman_to_drm_format() Vivek Kasireddy
2021-05-19  0:14 ` [PATCH v5 10/13] virtio-gpu: Add helpers to create and destroy dmabuf objects Vivek Kasireddy
2021-05-19  6:17   ` Gerd Hoffmann
2021-05-19  0:14 ` [PATCH v5 11/13] virtio-gpu: Factor out update scanout Vivek Kasireddy
2021-05-19  0:14 ` [PATCH v5 12/13] virtio-gpu: Add virtio_gpu_set_scanout_blob Vivek Kasireddy
2021-05-19  0:14 ` [PATCH v5 13/13] virtio-gpu: Update cursor data using blob Vivek Kasireddy
2021-05-19  0:48 ` [PATCH v5 00/13] virtio-gpu: Add support for Blob resources feature (v5) no-reply

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=20210520095012.h3naydbrycpuv5xa@sirius.home.kraxel.org \
    --to=kraxel@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=vivek.kasireddy@intel.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.