X-Git-Url: https://glassweightruler.freedombox.rocks/gitweb/waydroid.git/blobdiff_plain/449db67aed2a91f739d3edb41b5cb2639691ec10..43d7dfb1fa61e34447fa9af89435a00c50aaaea4:/tools/helpers/lxc.py diff --git a/tools/helpers/lxc.py b/tools/helpers/lxc.py index 8ed65a9..d42ad3c 100644 --- a/tools/helpers/lxc.py +++ b/tools/helpers/lxc.py @@ -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,14 +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) @@ -95,9 +98,14 @@ 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 @@ -155,14 +163,19 @@ def make_base_props(args): return "" props = [] + egl = tools.helpers.props.host_get(args, "ro.hardware.egl") + gralloc = find_hal("gralloc") if gralloc == "": - gralloc = "gbm" - props.append("ro.hardware.egl=mesa") + if os.path.exists("/dev/dri"): + gralloc = "gbm" + egl = "mesa" + else: + gralloc = "default" + egl = "swiftshader" props.append("debug.stagefright.ccodec=0") props.append("ro.hardware.gralloc=" + gralloc) - egl = tools.helpers.props.host_get(args, "ro.hardware.egl") if egl != "": props.append("ro.hardware.egl=" + egl) @@ -195,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") @@ -227,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"],