On Tue, Aug 26, 2025 at 3:36 PM Peter Maydell <peter.mayd...@linaro.org> wrote:
>
> If you are using the Nvidia drivers and have installed new versions
> of those packages but have not yet rebooted the host kernel,
> attempting to use the egl-headless display will cause QEMU to fail to
> start with
>
> $ qemu-system-aarch64 -M virt -display egl-headless
> qemu-system-aarch64: egl: eglInitialize failed: EGL_NOT_INITIALIZED
> qemu-system-aarch64: egl: render node init failed


Could this error ever mean QEMU is doing something wrong in general? I
think not, but I'm not 100% certain. Better to skip it indeed.

Reviewed-by: Manos Pitsidianakis <manos.pitsidiana...@linaro.org>

>
> together with this complaint in the host kernel dmesg:
>
> [7874777.555649] NVRM: API mismatch: the client has the version 535.247.01, 
> but
>                  NVRM: this kernel module has the version 535.230.02.  Please
>                  NVRM: make sure that this kernel module and all NVIDIA driver
>                  NVRM: components have the same version.
>
> This isn't a problem with QEMU itself, so reporting this as a test
> failure is misleading.  Instead skip the tests, as we already do for
> various other kinds of "host system can't actually run the EGL
> display" situation.
>
> Signed-off-by: Peter Maydell <peter.mayd...@linaro.org>
> ---
> I run into this fairly often so I got fed up with just ignoring the
> spurious test failure messages...
> ---
>  tests/functional/test_aarch64_virt_gpu.py | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/tests/functional/test_aarch64_virt_gpu.py 
> b/tests/functional/test_aarch64_virt_gpu.py
> index 38447278579..4e50887c3e9 100755
> --- a/tests/functional/test_aarch64_virt_gpu.py
> +++ b/tests/functional/test_aarch64_virt_gpu.py
> @@ -76,6 +76,8 @@ def _launch_virt_gpu(self, gpu_device):
>                  self.skipTest("egl-headless support is not available")
>              elif "'type' does not accept value 'dbus'" in excp.output:
>                  self.skipTest("dbus display support is not available")
> +            elif "eglInitialize failed: EGL_NOT_INITIALIZED" in excp.output:
> +                self.skipTest("EGL failed to initialize on this host")
>              else:
>                  self.log.info("unhandled launch failure: %s", excp.output)
>                  raise excp
> --
> 2.43.0
>
>

Reply via email to