]> glassweightruler.freedombox.rocks Git - waydroid.git/blobdiff - tools/helpers/gpu.py
Add mainline vulkan support
[waydroid.git] / tools / helpers / gpu.py
index 5f346566546fc28ad901ecdfe9ad4060a609a5b3..88135d98f01398ae5f4d18fb2b441770f71aff76 100644 (file)
@@ -4,10 +4,26 @@ import tools.helpers.props
 
 unsupported = ["nvidia"]
 
+def getKernelDriver(args, dev):
+    return tools.helpers.props.file_get(args, "/sys/class/drm/{}/device/uevent".format(dev), "DRIVER")
+
 def getDriNode(args):
     for node in glob.glob("/dev/dri/renderD*"):
         dev = os.path.basename(node)
-        driver = tools.helpers.props.file_get(args, "/sys/class/drm/{}/device/uevent".format(dev), "DRIVER")
-        if driver not in unsupported:
+        if getKernelDriver(args, dev) not in unsupported:
             return node
     return ""
+
+def getVulkanDriver(args, dev):
+    mapping = {
+        "i915": "intel",
+        "amdgpu": "radeon",
+        "radeon": "radeon",
+        "panfrost": "panfrost",
+        "msm": "freedreno",
+        "vc4": "broadcom",
+    }
+    kernel_driver = getKernelDriver(args, dev)
+    if kernel_driver in mapping:
+        return mapping[kernel_driver]
+    return ""