Pārlūkot izejas kodu

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 <dmitry.baryshkov@oss.qualcomm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Dmitry Baryshkov 1 mēnesi atpakaļ
vecāks
revīzija
3434e65b4e
1 mainītis faili ar 8 papildinājumiem un 5 dzēšanām
  1. 8 5
      scripts/runqemu

+ 8 - 5
scripts/runqemu

@@ -468,9 +468,11 @@ class BaseConfig(object):
                 self.set("IMAGE_LINK_NAME", image_link_name)
                 self.set("IMAGE_LINK_NAME", image_link_name)
                 logger.debug('Using IMAGE_LINK_NAME = "%s"' % 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')
         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("""
             raise RunQemuError("""
 qemu has been built without opengl support and accelerated graphics support is not available.
 qemu has been built without opengl support and accelerated graphics support is not available.
 To enable it, add:
 To enable it, add:
@@ -479,6 +481,7 @@ DISTRO_FEATURES_NATIVESDK:append = " opengl"
 to your build configuration.
 to your build configuration.
 """)
 """)
         self.qemu_environ['LIBGL_DRIVERS_PATH'] = drivers_path
         self.qemu_environ['LIBGL_DRIVERS_PATH'] = drivers_path
+        self.qemu_environ['GBM_BACKENDS_PATH'] = gbm_path
 
 
     def check_args(self):
     def check_args(self):
         for debug in ("-d", "--debug"):
         for debug in ("-d", "--debug"):
@@ -1461,7 +1464,7 @@ to your build configuration.
             self.qemu_opt += ' -display '
             self.qemu_opt += ' -display '
             if self.egl_headless == True:
             if self.egl_headless == True:
                 self.check_render_nodes()
                 self.check_render_nodes()
-                self.set_dri_path()
+                self.set_mesa_paths()
                 self.qemu_opt += 'egl-headless,'
                 self.qemu_opt += 'egl-headless,'
             else:
             else:
                 if self.sdl == True:
                 if self.sdl == True:
@@ -1471,10 +1474,10 @@ to your build configuration.
                     self.qemu_opt += 'gtk,'
                     self.qemu_opt += 'gtk,'
 
 
                 if self.gl == True:
                 if self.gl == True:
-                    self.set_dri_path()
+                    self.set_mesa_paths()
                     self.qemu_opt += 'gl=on,'
                     self.qemu_opt += 'gl=on,'
                 elif self.gl_es == True:
                 elif self.gl_es == True:
-                    self.set_dri_path()
+                    self.set_mesa_paths()
                     self.qemu_opt += 'gl=es,'
                     self.qemu_opt += 'gl=es,'
             self.qemu_opt += 'show-cursor=on'
             self.qemu_opt += 'show-cursor=on'