import glob
import shutil
import platform
+import gbinder
import tools.config
import tools.helpers.run
return prop
return ""
+ def find_hidl(intf):
+ if args.vendor_type == "MAINLINE":
+ return False
+
+ try:
+ sm = gbinder.ServiceManager("/dev/hwbinder")
+ return intf in sm.list_sync()
+ except:
+ return False
+
props = []
if not os.path.exists("/dev/ashmem"):
props.append("sys.use_memfd=true")
egl = tools.helpers.props.host_get(args, "ro.hardware.egl")
+ dri = tools.helpers.gpu.getDriNode(args)
gralloc = find_hal("gralloc")
- if gralloc == "":
- if tools.helpers.gpu.getDriNode(args):
+ if not gralloc:
+ if find_hidl("android.hardware.graphics.allocator@4.0::IAllocator/default"):
+ gralloc = "android"
+ if not gralloc:
+ if dri:
gralloc = "gbm"
egl = "mesa"
else:
props.append("ro.vendor.extension_library=" + ext_library)
vulkan = find_hal("vulkan")
- if vulkan != "":
+ if not vulkan and dri:
+ vulkan = tools.helpers.gpu.getVulkanDriver(args, os.path.basename(dri))
+ if vulkan:
props.append("ro.hardware.vulkan=" + vulkan)
treble = tools.helpers.props.host_get(args, "ro.treble.enabled")