2022-12-19 15:55:29 +01:00
|
|
|
{ ... }:
|
|
|
|
|
|
|
|
{
|
|
|
|
imports = [ ../hybrid ];
|
|
|
|
services.xserver.videoDrivers = [ "nvidia" ]; # This will override services.xserver.videoDrivers = lib.mkDefault [ "amdgpu" "nvidia" ];
|
2023-02-09 10:04:15 +01:00
|
|
|
# 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. In the end, if
|
|
|
|
# it is enabled in Dual-Direct GFX In the absence of amd igpu, the amdvlk package
|
|
|
|
# caused the proton to crash. In order to solve this problem, I add the option of
|
|
|
|
# whether to enable amdvlk to the configuration file of amd gpu, and open it by
|
|
|
|
# default, and turn it off in specialization, so as to delete amdvlk package and
|
|
|
|
# other packages for amd igpu in specialization. At the same time, I also added an
|
|
|
|
# option to amdgpu's opencl runtime.
|
2023-01-28 16:49:25 +01:00
|
|
|
hardware = {
|
|
|
|
nvidia.prime.offload.enable = false;
|
|
|
|
amdgpu = {
|
|
|
|
amdvlk = false;
|
|
|
|
opencl = false;
|
|
|
|
};
|
|
|
|
};
|
2022-12-19 15:55:29 +01:00
|
|
|
}
|