[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 22/28] hw/display/virtio-gpu: Improve "opengl is not available" er
|
From: |
Philippe Mathieu-Daudé |
|
Subject: |
[PULL 22/28] hw/display/virtio-gpu: Improve "opengl is not available" error message |
|
Date: |
Tue, 6 Aug 2024 14:51:50 +0200 |
From: Peter Maydell <peter.maydell@linaro.org>
If the user tries to use the virtio-gpu-gl device but the display
backend doesn't have OpenGL support enabled, we currently print a
rather uninformative error message:
$ qemu-system-aarch64 -M virt -device virtio-gpu-gl
qemu-system-aarch64: -device virtio-gpu-gl: opengl is not available
Since OpenGL is not enabled on display frontends by default, users
are quite likely to run into this. Improve the error message to
be more specific and to suggest to the user a path forward.
Note that the case of "user tried to enable OpenGL but the display
backend doesn't handle it" is caught elsewhere first, so we can
assume that isn't the problem:
$ qemu-system-aarch64 -M virt -device virtio-gpu-gl -display curses,gl=on
qemu-system-aarch64: OpenGL is not supported by the display
(Use of error_append_hint() requires us to add an ERRP_GUARD() to
the function, as noted in include/qapi/error.h.)
With this commit we now produce the hopefully more helpful error:
$ ./build/x86/qemu-system-aarch64 -M virt -device virtio-gpu-gl
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.
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2443
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Acked-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-ID: <20240731154136.3494621-2-peter.maydell@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
hw/display/virtio-gpu-gl.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/hw/display/virtio-gpu-gl.c b/hw/display/virtio-gpu-gl.c
index 952820a425..29d20b0132 100644
--- a/hw/display/virtio-gpu-gl.c
+++ b/hw/display/virtio-gpu-gl.c
@@ -106,6 +106,7 @@ static void virtio_gpu_gl_reset(VirtIODevice *vdev)
static void virtio_gpu_gl_device_realize(DeviceState *qdev, Error **errp)
{
+ ERRP_GUARD();
VirtIOGPU *g = VIRTIO_GPU(qdev);
#if HOST_BIG_ENDIAN
@@ -119,7 +120,12 @@ static void virtio_gpu_gl_device_realize(DeviceState
*qdev, Error **errp)
}
if (!display_opengl) {
- error_setg(errp, "opengl is not available");
+ error_setg(errp,
+ "The display backend does not have OpenGL support enabled");
+ error_append_hint(errp,
+ "It can be enabled with '-display BACKEND,gl=on' "
+ "where BACKEND is the name of the display backend "
+ "to use.\n");
return;
}
--
2.45.2
- [PULL 13/28] hw/loongarch/virt: Replace Loongson IPI with LoongArch IPI, (continued)
- [PULL 13/28] hw/loongarch/virt: Replace Loongson IPI with LoongArch IPI, Philippe Mathieu-Daudé, 2024/08/06
- [PULL 14/28] hw/intc/loongson_ipi: Restrict to MIPS, Philippe Mathieu-Daudé, 2024/08/06
- [PULL 15/28] hw/sd/sdcard: Explicit dummy byte value, Philippe Mathieu-Daudé, 2024/08/06
- [PULL 16/28] hw/sd/sdcard: Do not abort when reading DAT lines on invalid cmd state, Philippe Mathieu-Daudé, 2024/08/06
- [PULL 17/28] hw/sd/sdhci: Reset @data_count index on invalid ADMA transfers, Philippe Mathieu-Daudé, 2024/08/06
- [PULL 18/28] hw/block/pflash_cfi01: Don't decrement pfl->counter below 0, Philippe Mathieu-Daudé, 2024/08/06
- [PULL 19/28] hw/ide/atapi: Be explicit that assigning to s->lcyl truncates, Philippe Mathieu-Daudé, 2024/08/06
- [PULL 20/28] hw/block/fdc-isa: Assert that isa_fdc_get_drive_max_chs() found something, Philippe Mathieu-Daudé, 2024/08/06
- [PULL 23/28] system/vl.c: Expand OpenGL related errors, Philippe Mathieu-Daudé, 2024/08/06
- [PULL 22/28] hw/display/virtio-gpu: Improve "opengl is not available" error message,
Philippe Mathieu-Daudé <=
- [PULL 24/28] ui/console: Note in '-display help' that some backends support suboptions, Philippe Mathieu-Daudé, 2024/08/06
- [PULL 21/28] hw/ide/pci: Remove dead code from bmdma_prepare_buf(), Philippe Mathieu-Daudé, 2024/08/06
- [PULL 27/28] docs/specs/pci-ids: Add missing devices, Philippe Mathieu-Daudé, 2024/08/06
- [PULL 25/28] hw/pci-host/gt64120: Set PCI base address register write mask, Philippe Mathieu-Daudé, 2024/08/06
- [PULL 26/28] hw/pci-host/gt64120: Reset config registers during RESET phase, Philippe Mathieu-Daudé, 2024/08/06
- [PULL 28/28] docs/specs/pci-ids: Fix markup, Philippe Mathieu-Daudé, 2024/08/06
- Re: [PULL 00/28] Misc HW & UI patches for 2024-08-06, Richard Henderson, 2024/08/06