make_entry("/dev/pvr_sync")
make_entry("/dev/pmsg0")
make_entry("/dev/dxg")
- render, card = tools.helpers.gpu.getDriNode(args)
+ render, _ = tools.helpers.gpu.getDriNode(args)
make_entry(render, "dev/dri/renderD128")
- make_entry(card, "dev/dri/card0")
for n in glob.glob("/dev/fb*"):
make_entry(n)
make_entry(n)
for n in glob.glob("/dev/video*"):
make_entry(n)
+ for n in glob.glob("/dev/dma_heap/*"):
+ make_entry(n)
# Binder dev nodes
make_entry("/dev/" + args.BINDER_DRIVER, "dev/binder", check=False)
if args.vendor_type != "MAINLINE":
if not make_entry("/dev/hwbinder", "dev/host_hwbinder"):
raise OSError('Binder node "hwbinder" of host not found')
- make_entry("/vendor", "vendor_extra", options="bind,optional 0 0")
+ make_entry("/vendor", "vendor_extra", options="rbind,optional 0 0")
# Necessary device nodes for adb
make_entry("none", "dev/pts", "devpts", "defaults,mode=644,ptmxmode=666,create=dir 0 0", False)
return add_node_entry(nodes, src, dist, mnt_type, options, check=False)
# Make sure XDG_RUNTIME_DIR exists
- if not make_entry("tmpfs", session["xdg_runtime_dir"], options="create=dir 0 0"):
+ if not make_entry("tmpfs", tools.config.defaults["container_xdg_runtime_dir"], options="create=dir 0 0"):
raise OSError("Failed to create XDG_RUNTIME_DIR mount point")
- wayland_socket = os.path.realpath(os.path.join(session["xdg_runtime_dir"], session["wayland_display"]))
- if not make_entry(wayland_socket):
+ wayland_host_socket = os.path.realpath(os.path.join(session["xdg_runtime_dir"], session["wayland_display"]))
+ wayland_container_socket = os.path.realpath(os.path.join(tools.config.defaults["container_xdg_runtime_dir"], tools.config.defaults["container_wayland_display"]))
+ if not make_entry(wayland_host_socket, wayland_container_socket[1:]):
raise OSError("Failed to bind Wayland socket")
- pulse_socket = os.path.join(session["pulse_runtime_path"], "native")
- make_entry(pulse_socket)
+ # Make sure PULSE_RUNTIME_DIR exists
+ pulse_host_socket = os.path.join(session["pulse_runtime_path"], "native")
+ pulse_container_socket = os.path.join(tools.config.defaults["container_pulse_runtime_path"], "native")
+ make_entry(pulse_host_socket, pulse_container_socket[1:])
if not make_entry(session["waydroid_data"], "data", options="rbind 0 0"):
raise OSError("Failed to bind userdata")
command.extend(args.COMMAND)
else:
command.append("/system/bin/sh")
- subprocess.run(command)
+
+ try:
+ subprocess.run(command)
+ except KeyboardInterrupt:
+ pass
+
if state == "FROZEN":
freeze(args)
def logcat(args):
args.COMMAND = ["/system/bin/logcat"]
+ args.uid = None
+ args.gid = None
+ args.nolsm = None
+ args.allcaps = None
+ args.nocgroup = None
+ args.context = None
shell(args)