From fe6abccd746e1236eda44697f4845a2547b4d699 Mon Sep 17 00:00:00 2001 From: Alessandro Astone Date: Tue, 18 Mar 2025 18:49:37 +0100 Subject: [PATCH] gpu: Always prefer lower-numbered render node glob() returns results in an arbitrary order, making the getDriNode() unpredictable. The lower-numbered render node has a high chance of being the one used by the compositor, which avoids possible issues when using DMA-BUFs from another GPU, so let's default to that. --- tools/helpers/gpu.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/helpers/gpu.py b/tools/helpers/gpu.py index 6d8ab20..0f621bb 100644 --- a/tools/helpers/gpu.py +++ b/tools/helpers/gpu.py @@ -12,7 +12,7 @@ def getKernelDriver(args, dev): 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 "" @@ -27,7 +27,7 @@ def getDriNode(args): return node, getCardFromRender(args, renderDev) return "", "" - for node in glob.glob("/dev/dri/renderD*"): + 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) -- 2.47.3