From 3434e65b4e64f6e577533e661edfac9ba96a2e0b Mon Sep 17 00:00:00 2001 From: Dmitry Baryshkov Date: Thu, 10 Apr 2025 05:54:40 +0300 Subject: runqemu: also set GBM_BACKENDS_PATH Newer Mesa dynamically loads GBM backends from the libdir. This is going to cause issues with running native QEMU as the libdir (mesa-native/recipes-sysroot-native) will not exist when it's executed. Follow the LIBGL_DRIVERS_PATH approach and specify a path to GBM backends via GBM_BACKENDS_PATH environment variable. (From OE-Core rev: 91797b077f5fe9f13319d1633f491bad2c6f7560) Signed-off-by: Dmitry Baryshkov Signed-off-by: Richard Purdie --- scripts/runqemu | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'scripts') diff --git a/scripts/runqemu b/scripts/runqemu index 86124a4a6a..3d77046972 100755 --- a/scripts/runqemu +++ b/scripts/runqemu @@ -468,9 +468,11 @@ class BaseConfig(object): self.set("IMAGE_LINK_NAME", image_link_name) logger.debug('Using IMAGE_LINK_NAME = "%s"' % image_link_name) - def set_dri_path(self): + def set_mesa_paths(self): drivers_path = os.path.join(self.bindir_native, '../lib/dri') - if not os.path.exists(drivers_path) or not os.listdir(drivers_path): + gbm_path = os.path.join(self.bindir_native, '../lib/gbm') + if not os.path.exists(drivers_path) or not os.listdir(drivers_path) \ + or not os.path.exists(gbm_path) or not os.listdir(gbm_path): raise RunQemuError(""" qemu has been built without opengl support and accelerated graphics support is not available. To enable it, add: @@ -479,6 +481,7 @@ DISTRO_FEATURES_NATIVESDK:append = " opengl" to your build configuration. """) self.qemu_environ['LIBGL_DRIVERS_PATH'] = drivers_path + self.qemu_environ['GBM_BACKENDS_PATH'] = gbm_path def check_args(self): for debug in ("-d", "--debug"): @@ -1461,7 +1464,7 @@ to your build configuration. self.qemu_opt += ' -display ' if self.egl_headless == True: self.check_render_nodes() - self.set_dri_path() + self.set_mesa_paths() self.qemu_opt += 'egl-headless,' else: if self.sdl == True: @@ -1471,10 +1474,10 @@ to your build configuration. self.qemu_opt += 'gtk,' if self.gl == True: - self.set_dri_path() + self.set_mesa_paths() self.qemu_opt += 'gl=on,' elif self.gl_es == True: - self.set_dri_path() + self.set_mesa_paths() self.qemu_opt += 'gl=es,' self.qemu_opt += 'show-cursor=on' -- cgit v1.2.3-54-g00ecf