NVIDIA: Difference between revisions

m Make lspci command also show the domain, even if it's 0
Use the new BusId format in nixpkgs
 
Line 66: Line 66:
0000:00:02.0 VGA compatible controller: Intel Corporation TigerLake-H GT1 [UHD Graphics] (rev 01)
0000:00:02.0 VGA compatible controller: Intel Corporation TigerLake-H GT1 [UHD Graphics] (rev 01)
0000:01:00.0 VGA compatible controller: NVIDIA Corporation GA106M [GeForce RTX 3060 Mobile / Max-Q] (rev a1)
0000:01:00.0 VGA compatible controller: NVIDIA Corporation GA106M [GeForce RTX 3060 Mobile / Max-Q] (rev a1)
</syntaxhighlight>Before putting them into your configuration, however, '''they must first be reformatted''' — take the last three numbers, convert them from hexadecimal to decimal, remove the leading zeroes, concatenate them with colons, and then add a <code>PCI:</code> prefix. Then, they can be set under <code>intelBusId</code>, <code>nvidiaBusId</code>, or <code>amdgpuBusId</code> in <code>hardware.nvidia.prime</code>, depending on the manufacturer of the GPU:{{file|configuration.nix|nix|<nowiki>
</syntaxhighlight>Before putting them into your configuration, however, '''they must first be reformatted''' — assuming the bus address is <code><domain>:<bus>:<device>.<func></code>, convert all numbers from hexadecimal to decimal, then the formatted string is <code>PCI:<bus>@<domain>:<device>:<func></code>. They can be set under <code>intelBusId</code>, <code>nvidiaBusId</code>, or <code>amdgpuBusId</code> in <code>hardware.nvidia.prime</code>, depending on the manufacturer of the GPU:{{file|configuration.nix|nix|<nowiki>
{
{
   hardware.nvidia.prime = {
   hardware.nvidia.prime = {
     intelBusId = "PCI:0:2:0";
     intelBusId = "PCI:0@0:2:0";
     nvidiaBusId = "PCI:1:0:0";
     nvidiaBusId = "PCI:1@0:0:0";
     #amdgpuBusId = "PCI:54:0:0"; # If you have an AMD iGPU
     # amdgpuBusId = "PCI:5@0:0:0"; # If you have an AMD iGPU
   };
   };
}
}
Line 95: Line 95:
     offload.enable = true;
     offload.enable = true;
      
      
     intelBusId = "PCI:0:2:0";
     intelBusId = "PCI:0@0:2:0";
     nvidiaBusId = "PCI:1:0:0";
     nvidiaBusId = "PCI:1@0:0:0";
     #amdgpuBusId = "PCI:54:0:0"; # If you have an AMD iGPU
     # amdgpuBusId = "PCI:5@0:0:0"; # If you have an AMD iGPU
   };
   };
}
}
Line 118: Line 118:
     sync.enable = true;
     sync.enable = true;
      
      
     intelBusId = "PCI:0:2:0";
     intelBusId = "PCI:0@0:2:0";
     nvidiaBusId = "PCI:1:0:0";
     nvidiaBusId = "PCI:1@0:0:0";
     #amdgpuBusId = "PCI:54:0:0"; # If you have an AMD iGPU
     # amdgpuBusId = "PCI:5@0:0:0"; # If you have an AMD iGPU
   };
   };
}
}
Line 135: Line 135:
     reverseSync.enable = true;
     reverseSync.enable = true;


     intelBusId = "PCI:0:2:0";
     intelBusId = "PCI:0@0:2:0";
     nvidiaBusId = "PCI:1:0:0";
     nvidiaBusId = "PCI:1@0:0:0";
     #amdgpuBusId = "PCI:54:0:0"; # If you have an AMD iGPU
     # amdgpuBusId = "PCI:5@0:0:0"; # If you have an AMD iGPU
   };
   };
}
}