|
@@ -450,30 +450,16 @@ class BaseConfig(object):
|
|
|
self.set("MACHINE", arg)
|
|
|
|
|
|
def set_dri_path(self):
|
|
|
- # As runqemu can be run within bitbake (when using testimage, for example),
|
|
|
- # we need to ensure that we run host pkg-config, and that it does not
|
|
|
- # get mis-directed to native build paths set by bitbake.
|
|
|
- env = os.environ.copy()
|
|
|
- try:
|
|
|
- del env['PKG_CONFIG_PATH']
|
|
|
- del env['PKG_CONFIG_DIR']
|
|
|
- del env['PKG_CONFIG_LIBDIR']
|
|
|
- del env['PKG_CONFIG_SYSROOT_DIR']
|
|
|
- except KeyError:
|
|
|
- pass
|
|
|
- try:
|
|
|
- dripath = subprocess.check_output("PATH=/bin:/usr/bin:$PATH pkg-config --variable=dridriverdir dri", shell=True, env=env)
|
|
|
- except subprocess.CalledProcessError as e:
|
|
|
- raise RunQemuError("Could not determine the path to dri drivers on the host via pkg-config.\nPlease install Mesa development files (particularly, dri.pc) on the host machine.")
|
|
|
- self.qemu_environ['LIBGL_DRIVERS_PATH'] = dripath.decode('utf-8').strip()
|
|
|
-
|
|
|
- # This preloads uninative libc pieces and therefore ensures that RPATH/RUNPATH
|
|
|
- # in host mesa drivers doesn't trick uninative into loading host libc.
|
|
|
- preload_items = ['libdl.so.2', 'librt.so.1', 'libpthread.so.0']
|
|
|
- uninative_path = os.path.dirname(self.get("UNINATIVE_LOADER"))
|
|
|
- if os.path.exists(uninative_path):
|
|
|
- preload_paths = [os.path.join(uninative_path, i) for i in preload_items]
|
|
|
- self.qemu_environ['LD_PRELOAD'] = " ".join(preload_paths)
|
|
|
+ drivers_path = os.path.join(self.bindir_native, '../lib/dri')
|
|
|
+ if not os.path.exists(drivers_path) or not os.listdir(drivers_path):
|
|
|
+ raise RunQemuError("""
|
|
|
+qemu has been built without opengl support and accelerated graphics support is not available.
|
|
|
+To enable it, add:
|
|
|
+DISTRO_FEATURES_NATIVE:append = " opengl"
|
|
|
+DISTRO_FEATURES_NATIVESDK:append = " opengl"
|
|
|
+to your build configuration.
|
|
|
+""")
|
|
|
+ self.qemu_environ['LIBGL_DRIVERS_PATH'] = drivers_path
|
|
|
|
|
|
def check_args(self):
|
|
|
for debug in ("-d", "--debug"):
|