X-Git-Url: https://glassweightruler.freedombox.rocks/gitweb/waydroid.git/blobdiff_plain/13a6df87812e04b95214119eee5deb7b711994c2..c9ea5abff749e660c9aca0fcd224875464c3dacd:/tools/helpers/gpu.py diff --git a/tools/helpers/gpu.py b/tools/helpers/gpu.py index cf88540..55343d4 100644 --- a/tools/helpers/gpu.py +++ b/tools/helpers/gpu.py @@ -2,17 +2,23 @@ import glob import os import tools.helpers.props -unsupported = ["nvidia", "nouveau"] +unsupported = ["nvidia"] 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 = { @@ -21,7 +27,9 @@ def getVulkanDriver(args, dev): "radeon": "radeon", "panfrost": "panfrost", "msm": "freedreno", + "msm_dpu": "freedreno", "vc4": "broadcom", + "nouveau": "nouveau", } kernel_driver = getKernelDriver(args, dev) if kernel_driver in mapping: