2024-06-20 16:05:41 +02:00
|
|
|
{ lib, options, ... }:
|
2024-03-10 20:42:41 +01:00
|
|
|
|
|
|
|
{
|
|
|
|
imports = [ ../hybrid ];
|
|
|
|
services.xserver.videoDrivers = [ "nvidia" ]; # This will override services.xserver.videoDrivers = lib.mkDefault [ "amdgpu" "nvidia" ];
|
|
|
|
# When I play the game through proton, I found that in the case of Dual-Direct GFX
|
|
|
|
# enabled (dGPU disabled), proton will crash directly. But in the case of hybrid,
|
|
|
|
# the game runs fine with or without nvidia-offload After investigation, this is
|
|
|
|
# because when writing the specialization of Dual-Direct GFX, I did not completely
|
|
|
|
# remove all packages for amd igpu. I only removed amdgpu from
|
|
|
|
# services.xserver.videoDrivers by overriding. This is because the specialization
|
2024-06-13 08:51:03 +02:00
|
|
|
# of nix cannot implement such an operation as canceling an import.
|
2024-03-10 20:42:41 +01:00
|
|
|
hardware = {
|
|
|
|
nvidia.prime.offload.enable = false;
|
2024-06-20 16:05:41 +02:00
|
|
|
} // lib.optionalAttrs (options ? amdgpu.opencl.enable) {
|
|
|
|
# introduced in https://github.com/NixOS/nixpkgs/pull/319865
|
|
|
|
amdgpu.opencl.enable = lib.mkDefault false;
|
2024-03-10 20:42:41 +01:00
|
|
|
};
|
2024-06-13 08:51:03 +02:00
|
|
|
}
|