]> glassweightruler.freedombox.rocks Git - waydroid.git/commitdiff
lxc: Add WSLg support
authorErfan Abdi <erfangplus@gmail.com>
Thu, 23 Sep 2021 01:49:39 +0000 (05:19 +0330)
committerErfan Abdi <erfangplus@gmail.com>
Wed, 29 Sep 2021 16:35:59 +0000 (20:05 +0330)
tools/actions/container_manager.py
tools/helpers/lxc.py

index 37ab7e7f6a7d7a25151fa82198dc1eaf3c437081..520034d13db010df020ad374e8b6f5483fb7e54a 100644 (file)
@@ -17,7 +17,8 @@ def start(args):
         def add_prop(key, cfg_key):
             value = session_cfg["session"][cfg_key]
             if value != "None":
-                props.append(key + "=" + session_cfg["session"][cfg_key])
+                value = value.replace("/mnt/", "/mnt_extra/")
+                props.append(key + "=" + value)
 
         if not os.path.isfile(args.work + "/waydroid_base.prop"):
             raise RuntimeError("waydroid_base.prop Not found")
index 8ed65a9b8e5ba3c80882cc9d7a1a83091716c3ab..50098caec3f801e3dc8ac0aafe4d1c190f6483ae 100644 (file)
@@ -55,6 +55,7 @@ def generate_nodes_lxc_config(args):
     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")
 
     # Binder dev nodes
@@ -99,6 +100,11 @@ def generate_nodes_lxc_config(args):
     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")
+
     return nodes
 
 
@@ -155,14 +161,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)