def getCardFromRender(args, dev):
try:
- return "/dev/dri/" + os.path.basename(glob.glob("/sys/class/drm/{}/device/drm/card*".format(dev))[0])
+ return "/dev/dri/" + os.path.basename(sorted(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*"):
+ 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 sorted(glob.glob("/dev/dri/renderD*")):
renderDev = os.path.basename(node)
if getKernelDriver(args, renderDev) not in unsupported:
return node, getCardFromRender(args, renderDev)