{ lib, options, ... }: { 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 # of nix cannot implement such an operation as canceling an import. hardware = { nvidia.prime.offload.enable = false; } // lib.optionalAttrs (options ? amdgpu.opencl.enable) { # introduced in https://github.com/NixOS/nixpkgs/pull/319865 amdgpu.opencl.enable = lib.mkDefault false; }; }