From: Alessandro Astone Date: Mon, 29 Aug 2022 09:10:14 +0000 (+0200) Subject: Detect HIDL gralloc4 X-Git-Tag: 1.3.1~2 X-Git-Url: https://glassweightruler.freedombox.rocks/gitweb/waydroid.git/commitdiff_plain/a3d741d7d54df55efe4f13318d9393960f1eaa1b?ds=sidebyside Detect HIDL gralloc4 --- diff --git a/tools/helpers/lxc.py b/tools/helpers/lxc.py index 8cacfe2..a099801 100644 --- a/tools/helpers/lxc.py +++ b/tools/helpers/lxc.py @@ -7,6 +7,7 @@ import logging import glob import shutil import platform +import gbinder import tools.config import tools.helpers.run @@ -171,6 +172,16 @@ def make_base_props(args): 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"): @@ -180,7 +191,10 @@ def make_base_props(args): dri = tools.helpers.gpu.getDriNode(args) gralloc = find_hal("gralloc") - if gralloc == "": + 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"