]> glassweightruler.freedombox.rocks Git - waydroid.git/blobdiff - tools/actions/container_manager.py
debian/control: add Depends on pipewire-pulse | pulseaudio
[waydroid.git] / tools / actions / container_manager.py
index bcefc08eeaf5a77dbf0b4a3e2ee1d960081f59b1..b14dd63ae46983df9eb70b6c87c64739c0f0bb39 100644 (file)
@@ -3,11 +3,8 @@
 from shutil import which
 import logging
 import os
-import time
 import glob
 import signal
-import sys
-import uuid
 import tools.config
 from tools import helpers
 from tools import services
@@ -80,16 +77,19 @@ def set_permissions(args, perm_list=None, mode="777"):
             "/dev/mtk_cmdq",
 
             # Graphics
-            "/dev/dri",
             "/dev/graphics",
             "/dev/pvr_sync",
             "/dev/ion",
         ]
 
+        # DRM render nodes
+        perm_list.extend(glob.glob("/dev/dri/renderD*"))
         # Framebuffers
         perm_list.extend(glob.glob("/dev/fb*"))
         # Videos
         perm_list.extend(glob.glob("/dev/video*"))
+        # DMA-BUF Heaps
+        perm_list.extend(glob.glob("/dev/dma_heap/*"))
 
     for path in perm_list:
         chmod(path, mode)
@@ -132,6 +132,8 @@ def do_start(args, session):
     if "session" in args:
         raise RuntimeError("Already tracking a session")
 
+    logging.info("Starting up container for a new session")
+
     # Networking
     command = [tools.config.tools_src +
                "/data/scripts/waydroid-net.sh", "start"]
@@ -192,6 +194,8 @@ def do_start(args, session):
     args.session = session
 
 def stop(args, quit_session=True):
+    logging.info("Stopping container")
+
     try:
         services.hardware_manager.stop(args)
         status = helpers.lxc.status(args)
@@ -232,6 +236,7 @@ def stop(args, quit_session=True):
 
         if "session" in args:
             if quit_session:
+                logging.info("Terminating session because the container was stopped")
                 try:
                     os.kill(int(args.session["pid"]), signal.SIGUSR1)
                 except: