From 0645e675ef9f33ff95f3dd6f2a94ce620e607bf8 Mon Sep 17 00:00:00 2001 From: MakiseKurisu Date: Tue, 11 Mar 2025 13:36:15 +0800 Subject: [PATCH] nixos/nvidia: update busIDType to correctly handle PCI bus domain There are real devices with 32-bit domain ID 0x10000, which needs 10 digits to represent at the worst case (0xffffffff): open-mpi/hwloc#354 Current test will deny those devices since the field was expecting a Bus ID, which is only 8-bit wide. Format: https://gitlab.freedesktop.org/xorg/xserver/-/blob/master/hw/xfree86/common/xf86pciBus.c#L263 Fixes: ce2e4707b782657e077a0ef072cbd67756cae673 --- nixos/modules/hardware/video/nvidia.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/hardware/video/nvidia.nix b/nixos/modules/hardware/video/nvidia.nix index eb2db48d6fcd..2d52d1e8b28f 100644 --- a/nixos/modules/hardware/video/nvidia.nix +++ b/nixos/modules/hardware/video/nvidia.nix @@ -17,7 +17,7 @@ let offloadCfg = pCfg.offload; reverseSyncCfg = pCfg.reverseSync; primeEnabled = syncCfg.enable || reverseSyncCfg.enable || offloadCfg.enable; - busIDType = lib.types.strMatching "([[:print:]]+[:@][0-9]{1,3}:[0-9]{1,2}:[0-9])?"; + busIDType = lib.types.strMatching "([[:print:]]+:[0-9]{1,3}(@[0-9]{1,10})?:[0-9]{1,2}:[0-9])?"; ibtSupport = useOpenModules || (nvidia_x11.ibtSupport or false); settingsFormat = pkgs.formats.keyValue { }; in