]> glassweightruler.freedombox.rocks Git - waydroid.git/blobdiff - tools/helpers/lxc.py
session: Move waydroid user data to XDG_DATA_HOME
[waydroid.git] / tools / helpers / lxc.py
index 50098caec3f801e3dc8ac0aafe4d1c190f6483ae..d42ad3c0122f322f008189daaa1003527ea9d8a4 100644 (file)
@@ -38,6 +38,7 @@ def generate_nodes_lxc_config(args):
     # Necessary dev nodes
     make_entry("tmpfs", "dev", "tmpfs", "nosuid 0 0", False)
     make_entry("/dev/zero")
+    make_entry("/dev/null")
     make_entry("/dev/full")
     make_entry("/dev/ashmem", check=False)
     make_entry("/dev/fuse")
@@ -49,15 +50,16 @@ def generate_nodes_lxc_config(args):
     make_entry("/dev/mali0")
     make_entry("/dev/pvr_sync")
     make_entry("/dev/pmsg0")
-    make_entry("/dev/fb0")
-    make_entry("/dev/graphics/fb0")
-    make_entry("/dev/fb1")
-    make_entry("/dev/graphics/fb1")
-    make_entry("/dev/fb2")
-    make_entry("/dev/graphics/fb2")
     make_entry("/dev/dxg")
     make_entry("/dev/dri", options="bind,create=dir,optional 0 0")
 
+    for n in glob.glob("/dev/fb*"):
+        make_entry(n)
+    for n in glob.glob("/dev/graphics/fb*"):
+        make_entry(n)
+    for n in glob.glob("/dev/video*"):
+        make_entry(n)
+
     # Binder dev nodes
     make_entry("/dev/" + args.BINDER_DRIVER, "dev/binder", check=False)
     make_entry("/dev/" + args.VNDBINDER_DRIVER, "dev/vndbinder", check=False)
@@ -96,15 +98,15 @@ def generate_nodes_lxc_config(args):
     make_entry("/dev/mdp_sync")
     make_entry("/dev/mtk_cmdq")
 
-    # Media dev nodes (for Qcom)
-    make_entry("/dev/video32")
-    make_entry("/dev/video33")
-
     # WSLg
     make_entry("tmpfs", "mnt_extra", "tmpfs", "nodev 0 0", False)
     make_entry("/mnt/wslg", "mnt_extra/wslg",
                options="rbind,create=dir,optional 0 0")
 
+    # var
+    make_entry("tmpfs", "var", "tmpfs", "nodev 0 0", False)
+    make_entry("/var/run", options="rbind,create=dir,optional 0 0")
+
     return nodes
 
 
@@ -206,6 +208,10 @@ def make_base_props(args):
     props.append("waydroid.vendor_ota=" + args.vendor_ota)
     props.append("waydroid.tools_version=" + tools.config.version)
 
+    if args.vendor_type == "MAINLINE":
+        props.append("ro.vndk.lite=true")
+        props.append("ro.hardware.camera=v4l2")
+
     base_props = open(args.work + "/waydroid_base.prop", "w")
     for prop in props:
         base_props.write(prop + "\n")
@@ -238,7 +244,9 @@ def setup_host_perms(args):
 
 def status(args):
     command = ["lxc-info", "-P", tools.config.defaults["lxc"], "-n", "waydroid", "-sH"]
-    return subprocess.run(command, stdout=subprocess.PIPE).stdout.decode('utf-8').strip()
+    out = subprocess.run(command, stdout=subprocess.PIPE).stdout.decode('utf-8').strip()
+    os.chmod(args.log, 0o666)
+    return out
 
 def start(args):
     command = ["lxc-start", "-P", tools.config.defaults["lxc"],