Question with graphic card

Hi. I recently build my new computer (Asus Prime B650-Plus motherboard, Ryzen 7 7700, Sapphire Radeon RX 6800 and Corsair DDR5 32Gb) and I have been wondering if the latest NixOS 23.05 is fully compatible with Radeon 6800 graphic cards.

Only the first option and Server X are displaying something.
Do I need to add code like this “boot.initrd.kernelModules = [ “amdgpu” ];” in my configuration.nix file and other code as well?

https://nixos.wiki/wiki/AMD_GPU

1 Like

Ok so I do have to add the codes.

Ok. So it seems I fixed most of the issues (I hope) with the graphic card but I get this error.

WARNING: [Loader Message] Code 0 : terminator_CreateInstance: Failed to CreateInstance in ICD 3. Skipping ICD.
WARNING: [Loader Message] Code 0 : terminator_CreateInstance: Failed to CreateInstance in ICD 4. Skipping ICD.

I think Diablo 4 is not running because of this or maybe because the drivers aren’t up to date?

That error is coming from Vulkan.

  1. Check the vulkan section in AMD GPU - NixOS Wiki again, just to confirm your config is correct.
  2. Check this for further information: NixOS 23.11 manual | Nix & NixOS
1 Like

The wiki should probably be updated if I understand correctly, because I believe this line is no longer correct.

services.xserver.videoDrivers = [ "amdgpu" ];

These days (including in 23.05), I’m pretty sure the right choice is "modesetting" (which is now the default), not "amdgpu". You still need the amdgpu kernel module, but the video driver should be modesetting.

1 Like

This is what I have for coding so far.

services.xserver.videoDrivers = [ “modesetting” ];
systemd.tmpfiles.rules = [
“L+ /opt/rocm/hip - - - - ${pkgs.hip}”];
hardware.opengl.driSupport = true;
hardware.opengl.driSupport32Bit = true;
hardware.opengl.extraPackages = with pkgs; [amdvlk];
hardware.opengl.extraPackages32 = with pkgs; [driversi686Linux.amdvlk];
environment.variables.AMD_VULKAN_ICD = “RADV”;
environment.variables.VK_ICD_FILENAMES =
“/run/opengl-driver/share/vulkan/icd.d/radeon_icd.x86_64.json”;

Now Vulkan doesn’t give error message but EGL does. The Battle.net launcher doesn’t work anmymore.

Thank you to both of you.

I confirm I wrote down the exact same code (no error messages when rebuilding Nix). The Vulkan part is working but now my problem is OpenGL (EGL). So now Battle.net doesn’t work anymore. Steam on the other hand works. I was able to install a few games and they work. Maybe because everything is included in Steam to properly work but not in Bottles? I checked if it was because of the firewall but even disabled I get the same error. I can see other people had the same problem but those messages are from 1 to 2 years ago and on different Linux distro. I still want to fix this but it’s getting frustrating.