diff --git a/desktop/developer.nix b/desktop/developer.nix index da313aa..8bba922 100644 --- a/desktop/developer.nix +++ b/desktop/developer.nix @@ -95,6 +95,8 @@ in { onBoot = "ignore"; # We are doing development, not a server qemu = { package = pkgs.qemu_full; + ovmf.enable = true; + ovmf.packages = [ pkgs.OVMFFull ]; swtpm.enable = true; }; }; diff --git a/hardware/amd/amdgpu.nix b/hardware/amd/amdgpu.nix index b48cff8..2b95016 100644 --- a/hardware/amd/amdgpu.nix +++ b/hardware/amd/amdgpu.nix @@ -28,7 +28,11 @@ in { hardware.amdgpu.opencl.enable = true; + hardware.amdgpu.amdvlk.enable = cfg.defaultVulkanImplementation == "amdvlk"; + hardware.amdgpu.amdvlk.support32Bit.enable = mkDefault config.hardware.amdgpu.amdvlk.enable; + environment.variables = { + AMD_VULKAN_ICD = mkIf (cfg.defaultVulkanImplementation == "amdvlk") (strings.toUpper cfg.defaultVulkanImplementation); ROC_ENABLE_PRE_VEGA = "1"; # Enable OpenCL with Polaris GPUs }; diff --git a/hardware/amd/default.nix b/hardware/amd/default.nix index bc80fdc..73be5ad 100644 --- a/hardware/amd/default.nix +++ b/hardware/amd/default.nix @@ -8,8 +8,8 @@ in { enable = mkEnableOption "AMD gpus"; useProprietary = mkEnableOption "Use proprietary AMDGPU Pro"; defaultVulkanImplementation = mkOption { - description = "Legacy, can only be set to radv"; - type = with types; enum [ "radv" ]; + description = "Wether to use RADV or AMDVLK by default"; + type = with types; enum [ "amdvlk" "radv" ]; default = "radv"; }; kernelDriver = mkOption {