From 27b99dd5c8cc79f792bf3c7f71d0088600c56546 Mon Sep 17 00:00:00 2001 From: Alessandro Astone Date: Thu, 10 Nov 2022 19:17:08 +0100 Subject: [PATCH] gpu: Also mount card node Necessary for minigbm_gbm_mesa --- tools/helpers/gpu.py | 14 ++++++++++---- tools/helpers/lxc.py | 6 ++++-- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/tools/helpers/gpu.py b/tools/helpers/gpu.py index cf88540..eac3184 100644 --- a/tools/helpers/gpu.py +++ b/tools/helpers/gpu.py @@ -7,12 +7,18 @@ unsupported = ["nvidia", "nouveau"] def getKernelDriver(args, dev): return tools.helpers.props.file_get(args, "/sys/class/drm/{}/device/uevent".format(dev), "DRIVER") +def getCardFromRender(args, dev): + try: + return "/dev/dri/" + os.path.basename(glob.glob("/sys/class/drm/{}/device/drm/card*".format(dev))[0]) + except IndexError: + return "" + def getDriNode(args): for node in glob.glob("/dev/dri/renderD*"): - dev = os.path.basename(node) - if getKernelDriver(args, dev) not in unsupported: - return node - return "" + renderDev = os.path.basename(node) + if getKernelDriver(args, renderDev) not in unsupported: + return node, getCardFromRender(args, renderDev) + return "", "" def getVulkanDriver(args, dev): mapping = { diff --git a/tools/helpers/lxc.py b/tools/helpers/lxc.py index 0808d98..b7bbf66 100644 --- a/tools/helpers/lxc.py +++ b/tools/helpers/lxc.py @@ -53,7 +53,9 @@ def generate_nodes_lxc_config(args): make_entry("/dev/pvr_sync") make_entry("/dev/pmsg0") make_entry("/dev/dxg") - make_entry(tools.helpers.gpu.getDriNode(args), "dev/dri/renderD128") + render, card = 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) @@ -217,7 +219,7 @@ def make_base_props(args): props.append("sys.use_memfd=true") egl = tools.helpers.props.host_get(args, "ro.hardware.egl") - dri = tools.helpers.gpu.getDriNode(args) + dri, _ = tools.helpers.gpu.getDriNode(args) gralloc = find_hal("gralloc") if not gralloc: -- 2.47.3