From c0ab28dde14f2f4041551bf533d6a4150a462098 Mon Sep 17 00:00:00 2001 From: "CanbiZ (MickLesk)" <47820557+MickLesk@users.noreply.github.com> Date: Thu, 12 Mar 2026 08:37:08 +0100 Subject: [PATCH] fix(tools): support NVIDIA driver versions with 2 segments (xxx.xxx) The regex for parsing the NVIDIA host driver version from /proc/driver/nvidia/version required 3 version segments (xxx.xxx.xx) but newer drivers like 580.142 only have 2 segments. Made the third segment optional with (\.\d+)? to match both patterns. Closes #12784 --- misc/tools.func | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/misc/tools.func b/misc/tools.func index 25ed53f60..a44a42456 100644 --- a/misc/tools.func +++ b/misc/tools.func @@ -4685,10 +4685,10 @@ _setup_nvidia_gpu() { # Format varies by driver type: # Proprietary: "NVRM version: NVIDIA UNIX x86_64 Kernel Module 550.54.14 Thu..." # Open: "NVRM version: NVIDIA UNIX Open Kernel Module for x86_64 590.48.01 Release..." - # Use regex to extract version number (###.##.## pattern) + # Use regex to extract version number (###.##.## or ###.## pattern) local nvidia_host_version="" if [[ -f /proc/driver/nvidia/version ]]; then - nvidia_host_version=$(grep -oP '\d{3,}\.\d+\.\d+' /proc/driver/nvidia/version 2>/dev/null | head -1) + nvidia_host_version=$(grep -oP '\d{3,}\.\d+(\.\d+)?' /proc/driver/nvidia/version 2>/dev/null | head -1) fi if [[ -z "$nvidia_host_version" ]]; then