]> glassweightruler.freedombox.rocks Git - waydroid.git/blobdiff - tools/helpers/gpu.py
debian: Use new polkitd package
[waydroid.git] / tools / helpers / gpu.py
index cf88540d11e53c133e66fd1b555aec6534daaf5f..55343d428d2560c9c555aac6a40b120fcdef34a0 100644 (file)
@@ -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: