]> glassweightruler.freedombox.rocks Git - waydroid.git/blobdiff - tools/helpers/drivers.py
Upver to 1.4.1
[waydroid.git] / tools / helpers / drivers.py
index 25a5b62add623da00ecf032d87601b0d9acb2b6b..3c0ea7a987efdd019655581cc45f8942a34f0e34 100644 (file)
@@ -12,16 +12,19 @@ import tools.helpers.run
 BINDER_DRIVERS = [
     "anbox-binder",
     "puddlejumper",
+    "bonder",
     "binder"
 ]
 VNDBINDER_DRIVERS = [
     "anbox-vndbinder",
     "vndpuddlejumper",
+    "vndbonder",
     "vndbinder"
 ]
 HWBINDER_DRIVERS = [
     "anbox-hwbinder",
     "hwpuddlejumper",
+    "hwbonder",
     "hwbinder"
 ]
 
@@ -86,7 +89,9 @@ def probeBinderDriver(args):
 
     if len(binder_dev_nodes) > 0:
         if not isBinderfsLoaded(args):
-            command = ["modprobe", "binder_linux"]
+            devices = ','.join(binder_dev_nodes)
+            command = ["modprobe", "binder_linux",
+                       "devices=\"{}\"".format(devices)]
             output = tools.helpers.run.user(args, command, check=False, output_return=True)
             if output:
                 logging.error("Failed to load binder driver")
@@ -107,11 +112,8 @@ def probeBinderDriver(args):
 
 def probeAshmemDriver(args):
     if not os.path.exists("/dev/ashmem"):
-        command = ["modprobe", "ashmem_linux"]
-        output = tools.helpers.run.user(args, command, check=False, output_return=True)
-        if output:
-            logging.error("Failed to load ashmem driver")
-            logging.error(output.strip())
+        command = ["modprobe", "-q", "ashmem_linux"]
+        tools.helpers.run.user(args, command, check=False)
 
     if not os.path.exists("/dev/ashmem"):
         return -1
@@ -171,3 +173,6 @@ def loadBinderNodes(args):
     args.BINDER_DRIVER = cfg["waydroid"]["binder"]
     args.VNDBINDER_DRIVER = cfg["waydroid"]["vndbinder"]
     args.HWBINDER_DRIVER = cfg["waydroid"]["hwbinder"]
+    # These might not be in cfg on package upgrade
+    args.BINDER_PROTOCOL = cfg["waydroid"].get("binder_protocol")
+    args.SERVICE_MANAGER_PROTOCOL = cfg["waydroid"].get("service_manager_protocol")