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: ce2e4707b7
This commit is contained in:
MakiseKurisu 2025-03-11 13:36:15 +08:00
parent b0ceaa666b
commit 0645e675ef
No known key found for this signature in database

View file

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