]> glassweightruler.freedombox.rocks Git - waydroid.git/blobdiff - tools/helpers/gpu.py
gpu: Allow choosing the DRM device in waydroid.cfg
[waydroid.git] / tools / helpers / gpu.py
index 458712ac8470b52f567e7caf76e7cdb80900c230..6d8ab20d461bca198065868834261addb3419195 100644 (file)
@@ -17,6 +17,16 @@ def getCardFromRender(args, dev):
         return ""
 
 def getDriNode(args):
+    cfg = tools.config.load(args)
+    node = cfg["waydroid"].get("drm_device")
+    if node:
+        if not os.path.exists(node):
+            raise OSError("The specified drm_device {} does not exist".format(node))
+        renderDev = os.path.basename(node)
+        if getKernelDriver(args, renderDev) not in unsupported:
+            return node, getCardFromRender(args, renderDev)
+        return "", ""
+
     for node in glob.glob("/dev/dri/renderD*"):
         renderDev = os.path.basename(node)
         if getKernelDriver(args, renderDev) not in unsupported:
@@ -38,6 +48,7 @@ def getVulkanDriver(args, dev):
 
     if kernel_driver == "i915":
         try:
+            dev = os.path.basename(getCardFromRender(args, dev))
             gen = tools.helpers.run.user(args,["awk", "/^graphics version:|^gen:/ {print $NF}",
                 "/sys/kernel/debug/dri/{}/i915_capabilities".format(getMinor(args, dev))], output_return=True, check=False)
             if int(gen) < 9: