Supergfx assumes that nixos has NVIDA GPU while having amd gpu

Hello, I have an asus rog zephyrus 2022 GA402j. It has an igpu and a dgpu. I run nixos 24.11 . I always had trouble with my GPU on this laptop with this OS. First the troubles:

  • Supergfxctl --vendor returns unkown in hybrid and integrated mode, and NVIDIA while in AsusMuxDgpu mode, while having two amd gpu-s in the laptop.
  • supergfxctl -S returns “GFX fail: get_runtime_status: Could not find dGPU” in integrated or hybrid mode
  • The logs of lutris -d show the following vulkan driver issues:
INFO     2025-03-03 19:49:05,837 [application.do_command_line:480]:Starting Lutris 0.5.18
ERROR: [Loader Message] Code 0 : vkCreateInstance: Found no drivers!
Cannot create Vulkan instance.
This problem is often caused by a faulty installation of the Vulkan driver or attempting to use a GPU that does not support Vulkan.
ERROR at /build/source/vulkaninfo/./vulkaninfo.h:456:vkCreateInstance failed with ERROR_INCOMPATIBLE_DRIVER
ERROR    2025-03-03 19:49:05,896 [system.read_process_output:189]:['vulkaninfo', '--summary'] command failed: Command '['vulkaninfo', '--summary']' returned non-zero exit status 1.
DEBUG    2025-03-03 19:49:05,896 [system._execute:109]:Executing lspci
INFO     2025-03-03 19:49:06,017 [startup.run_all_checks:120]:"card1" is Advanced Micro Devices, Inc. [AMD/ATI] Navi 23 [Radeon RX 6650 XT / 6700S / 6800S] (1002:73ef 1043:1dec amdgpu) Driver 24.2.8
ERROR: [Loader Message] Code 0 : vkCreateInstance: Found no drivers!
Cannot create Vulkan instance.
This problem is often caused by a faulty installation of the Vulkan driver or attempting to use a GPU that does not support Vulkan.
ERROR at /build/source/vulkaninfo/./vulkaninfo.h:456:vkCreateInstance failed with ERROR_INCOMPATIBLE_DRIVER
ERROR    2025-03-03 19:49:06,102 [system.read_process_output:189]:['vulkaninfo', '--summary'] command failed: Command '['vulkaninfo', '--summary']' returned non-zero exit status 1.

As a result no wine applications can be run. Lastly vulkaninfo returns with the following warning:

WARNING: [Loader Message] Code 0 : terminator_CreateInstance: Received return code -3 from call to vkCreateInstance in ICD /nix/store/1z62rda9iqnxi4ryvgmyvfaj979hgk7s-mesa-24.2.8-drivers/lib/libvulkan_dzn.so. Skipping this driver.

It’s clear that I have had trouble with my GPU config in several fields. Here is the relevant part of my nixos config:

  # Update kernel to latest available
  boot.kernelPackages = pkgs.linuxPackages_latest;

  boot.initrd.availableKernelModules = [
    "nvme"
    "xhci_pci"
    "usbhid"
    "usb_storage"
    "sd_mod"
    "sdhci_pci"
    "amdgpu"
  ];

  # For amd
  boot.initrd.kernelModules = [ "amdgpu" ];
  boot.kernelModules = [ "kvm-amd" ];
  boot.extraModulePackages = [ ];

  # Custom settings
  systemd.tmpfiles.rules = [
    "L+    /opt/rocm/hip   -    -    -     -    ${pkgs.rocmPackages.clr}"
  ];

  services.xserver.videoDrivers = [ "amdgpu" ];
  environment.systemPackages = with pkgs; [
    amdenc
    amdgpu_top
    vulkan-tools
    clinfo
    virtualglLib
    gpu-viewer
  ];

  hardware.graphics = {
    enable = true;
    enable32Bit = true; # For 32 bit applications
    extraPackages = with pkgs; [
      vulkan-loader
      vulkan-validation-layers
      vulkan-extension-layer
      unstable_pkgs.mesa
    ];
  };

  # for games
  boot.kernel.sysctl."vm.max_map_count" = lib.mkForce 1048576;

  hardware.amdgpu = {
    opencl.enable = true;
    initrd.enable = true;
    legacySupport.enable = true;
    amdvlk = {
      enable = true;
      package = unstable_pkgs.amdvlk;
      support32Bit = {
        enable = true;
        package = unstable_pkgs.driversi686Linux.amdvlk;
      };
      supportExperimental.enable = true;
    };
  };
  environment.systemPackages = with pkgs; [
    pciutils
    asusctl
    clinfo
  ];

  services.supergfxd.enable = true;
  services = {
    asusd = {
      enable = true;
      enableUserService = true;
    };
  };

  systemd.services.supergfxd.path = [ pkgs.pciutils ];

}

I have tried several ways to find problems, I know for a fact that the dgpu has power, and is detected, for example the command: DRI_PRIME=1 glxinfo | grep “OpenGL renderer” returns with:
OpenGL renderer string: AMD Radeon RX 6700S (radeonsi, navi23, LLVM 18.1.8, DRM 3.61, 6.13.5)

Lastly, the only additional information I have been able to gather is the strange contents of /etc/modprobe.d/supergfxd.conf:

# Automatically generated by supergfxd
blacklist nouveau
alias nouveau off

options nvidia-drm modeset=1

Have anybody encountered anything similar?