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
This commit is contained in:
CanbiZ (MickLesk)
2026-03-12 08:37:08 +01:00
parent 5abd9170ba
commit c0ab28dde1

View File

@@ -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