mbox series

[0/3] virtio-gpu-gl: Improve OpenGL and related display error messages

Message ID 20240731154136.3494621-1-peter.maydell@linaro.org
Headers show
Series virtio-gpu-gl: Improve OpenGL and related display error messages | expand

Message

Peter Maydell July 31, 2024, 3:41 p.m. UTC
If you try to use the virtio-gpu-gl device, the error messages
we produce are not very specific, which can leave users confused
about what they need to do (see the issue
https://gitlab.com/qemu-project/qemu/-/issues/2443 for an example).

This patchset tries to improve those errors:

(1) Trying to use virtio-gpu-gl without enabling GL on the
display backend:

$ qemu-system-aarch64 -M virt -device virtio-gpu-gl

Currently we say
  qemu-system-aarch64: -device virtio-gpu-gl: opengl is not available
With these patches we will say
  qemu-system-aarch64: -device virtio-gpu-gl: The display backend does not have OpenGL support enabled
  It can be enabled with '-display BACKEND,gl=on' where BACKEND is the name of the display backend to use.

(2) Trying to enable GL on a backend that doesn't support it:
$ qemu-system-aarch64 -M virt -device virtio-gpu-gl -display curses,gl=on

Currently we say
  qemu-system-aarch64: OpenGL is not supported by the display
With these patches we will say
  qemu-system-aarch64: OpenGL is not supported by display backend 'curses'

(3) Trying to enable GL when the QEMU binary wasn't built with it:

Currently we say
  qemu-system-aarch64: OpenGL support is disabled
With these patches we will say
  qemu-system-aarch64: OpenGL support was disabled when QEMU was compiled

(4) -display help doesn't mention that display types can have suboptions

Currently -display help just prints the list of backends. With these
patches we will also say
  Some display backends support suboptions, which can be set with
     -display backend,option=value,option=value...
  For a short list of the suboptions for each display, see the top-level -help output; more detail is in the documentation.
               
(The ideal for that last would be to be like -device and let you
say "-display gtk,help", but that doesn't work.)


Peter Maydell (3):
  hw/display/virtio-gpu: Improve "opengl is not available" error message
  system/vl.c: Expand OpenGL related errors
  ui/console: Note in '-display help' that some backends support
    suboptions

 hw/display/virtio-gpu-gl.c | 8 +++++++-
 system/vl.c                | 5 +++--
 ui/console.c               | 5 +++++
 3 files changed, 15 insertions(+), 3 deletions(-)

Comments

Marc-André Lureau July 31, 2024, 3:59 p.m. UTC | #1
On Wed, Jul 31, 2024 at 7:42 PM Peter Maydell <peter.maydell@linaro.org>
wrote:

> If you try to use the virtio-gpu-gl device, the error messages
> we produce are not very specific, which can leave users confused
> about what they need to do (see the issue
> https://gitlab.com/qemu-project/qemu/-/issues/2443 for an example).
>
> This patchset tries to improve those errors:
>
> (1) Trying to use virtio-gpu-gl without enabling GL on the
> display backend:
>
> $ qemu-system-aarch64 -M virt -device virtio-gpu-gl
>
> Currently we say
>   qemu-system-aarch64: -device virtio-gpu-gl: opengl is not available
> With these patches we will say
>   qemu-system-aarch64: -device virtio-gpu-gl: The display backend does not
> have OpenGL support enabled
>   It can be enabled with '-display BACKEND,gl=on' where BACKEND is the
> name of the display backend to use.
>
> (2) Trying to enable GL on a backend that doesn't support it:
> $ qemu-system-aarch64 -M virt -device virtio-gpu-gl -display curses,gl=on
>
> Currently we say
>   qemu-system-aarch64: OpenGL is not supported by the display
> With these patches we will say
>   qemu-system-aarch64: OpenGL is not supported by display backend 'curses'
>
> (3) Trying to enable GL when the QEMU binary wasn't built with it:
>
> Currently we say
>   qemu-system-aarch64: OpenGL support is disabled
> With these patches we will say
>   qemu-system-aarch64: OpenGL support was disabled when QEMU was compiled
>
> (4) -display help doesn't mention that display types can have suboptions
>
> Currently -display help just prints the list of backends. With these
> patches we will also say
>   Some display backends support suboptions, which can be set with
>      -display backend,option=value,option=value...
>   For a short list of the suboptions for each display, see the top-level
> -help output; more detail is in the documentation.
>
> (The ideal for that last would be to be like -device and let you
> say "-display gtk,help", but that doesn't work.)
>
>
> Peter Maydell (3):
>   hw/display/virtio-gpu: Improve "opengl is not available" error message
>   system/vl.c: Expand OpenGL related errors
>   ui/console: Note in '-display help' that some backends support
>     suboptions
>
>  hw/display/virtio-gpu-gl.c | 8 +++++++-
>  system/vl.c                | 5 +++--
>  ui/console.c               | 5 +++++
>  3 files changed, 15 insertions(+), 3 deletions(-)
>
> --
> 2.34.1
>
>
Series:
Acked-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Philippe Mathieu-Daudé Aug. 6, 2024, 12:46 p.m. UTC | #2
On 31/7/24 17:59, Marc-André Lureau wrote:

> Series:
> Acked-by: Marc-André Lureau <marcandre.lureau@redhat.com 
> <mailto:marcandre.lureau@redhat.com>>

I'll queue this via my hw-misc tree, thanks.