From 72ffdcd4a6c11c44403318c6a60f7ebf519a68bb Mon Sep 17 00:00:00 2001 From: MakiseKurisu Date: Tue, 11 Mar 2025 13:41:34 +0800 Subject: [PATCH] nixos/nvidia: update description of BusIds for caveats --- nixos/modules/hardware/video/nvidia.nix | 30 ++++++++++++++++++++----- 1 file changed, 24 insertions(+), 6 deletions(-) diff --git a/nixos/modules/hardware/video/nvidia.nix b/nixos/modules/hardware/video/nvidia.nix index 2d52d1e8b28f..068e23aa3347 100644 --- a/nixos/modules/hardware/video/nvidia.nix +++ b/nixos/modules/hardware/video/nvidia.nix @@ -120,30 +120,48 @@ in prime.nvidiaBusId = lib.mkOption { type = busIDType; default = ""; - example = "PCI:1:0:0"; + example = "PCI:1@0:0:0"; description = '' Bus ID of the NVIDIA GPU. You can find it using lspci; for example if lspci - shows the NVIDIA GPU at "01:00.0", set this option to "PCI:1:0:0". + shows the NVIDIA GPU at "0001:02:03.4", set this option to "PCI:2@1:3:4". + + lspci might omit the PCI domain (0001 in above example) if it is zero. + In which case, use "@0" instead. + + Please be aware that this option takes decimal address while lspci reports + hexadecimal address. So for device at domain "10000", use "@65536". ''; }; prime.intelBusId = lib.mkOption { type = busIDType; default = ""; - example = "PCI:0:2:0"; + example = "PCI:0@0:2:0"; description = '' Bus ID of the Intel GPU. You can find it using lspci; for example if lspci - shows the Intel GPU at "00:02.0", set this option to "PCI:0:2:0". + shows the Intel GPU at "0001:02:03.4", set this option to "PCI:2@1:3:4". + + lspci might omit the PCI domain (0001 in above example) if it is zero. + In which case, use "@0" instead. + + Please be aware that this option takes decimal address while lspci reports + hexadecimal address. So for device at domain "10000", use "@65536". ''; }; prime.amdgpuBusId = lib.mkOption { type = busIDType; default = ""; - example = "PCI:4:0:0"; + example = "PCI:4@0:0:0"; description = '' Bus ID of the AMD APU. You can find it using lspci; for example if lspci - shows the AMD APU at "04:00.0", set this option to "PCI:4:0:0". + shows the AMD APU at "0001:02:03.4", set this option to "PCI:2@1:3:4". + + lspci might omit the PCI domain (0001 in above example) if it is zero. + In which case, use "@0" instead. + + Please be aware that this option takes decimal address while lspci reports + hexadecimal address. So for device at domain "10000", use "@65536". ''; };