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, andNVIDIA
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?