Skip to content

Commit 3102489

Browse files
authored
gpu.py: Fix gpu detection (#120)
ref: #115
1 parent 80eff6a commit 3102489

1 file changed

Lines changed: 12 additions & 7 deletions

File tree

  • usr/lib/linuxmint/mintreport

usr/lib/linuxmint/mintreport/gpu.py

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -81,10 +81,13 @@ def detect_gles():
8181

8282
def get_default_gpu_id():
8383
drm_path = Path("/sys/class/drm")
84-
cards = sorted(drm_path.glob("card[0-9]*"))
84+
# Only match card0, card1, etc. - not connector entries like card0-DP-1, card1-HDMI-A-1
85+
cards = sorted(c for c in drm_path.iterdir() if re.match(r'^card\d+$', c.name))
8586
for card_dir in cards:
8687
dev_dir = card_dir / "device"
87-
if not dev_dir.exists():
88+
vendor_file = dev_dir / "vendor"
89+
device_file = dev_dir / "device"
90+
if not (vendor_file.exists() and device_file.exists()):
8891
continue
8992

9093
# Detect display connection (for default GPU)
@@ -94,8 +97,8 @@ def get_default_gpu_id():
9497
for conn in card_dir.iterdir() if conn.is_dir()
9598
)
9699

97-
vendor = (dev_dir / "vendor").read_text().strip()
98-
device = (dev_dir / "device").read_text().strip()
100+
vendor = vendor_file.read_text().strip()
101+
device = device_file.read_text().strip()
99102
pci_id = f"{vendor}:{device}".replace("0x", "")
100103

101104
if has_display:
@@ -104,9 +107,11 @@ def get_default_gpu_id():
104107
# Fallback: return the first card's PCI ID
105108
if cards:
106109
dev_dir = cards[0] / "device"
107-
if (dev_dir / "vendor").exists() and (dev_dir / "device").exists():
108-
vendor = (dev_dir / "vendor").read_text().strip()
109-
device = (dev_dir / "device").read_text().strip()
110+
vendor_file = dev_dir / "vendor"
111+
device_file = dev_dir / "device"
112+
if vendor_file.exists() and device_file.exists():
113+
vendor = vendor_file.read_text().strip()
114+
device = device_file.read_text().strip()
110115
return f"{vendor}:{device}".replace("0x", "")
111116

112117
return None

0 commit comments

Comments
 (0)