Games not working (Nvidia GPU)

Hi all,

I recently reinstalled my system and started a new nix configuration, however I’m having issues getting games running. I didn’t have any problems previously, i think that system was based on 23.05, while this one is 24.05, but I’m using unstable nixpkgs on both. Games through steam are running perfectly, however running games through lutris or even from the cli brings up the following error:

DRM kernel driver 'nvidia-drm' in use. NVK requires nouveau.

I’ve tried both 550 and 535 but the error persists. It seems similar to these three posts, however one had a solution of updating which hasn’t worked for me.

https://discourse.nixos.org/t/drm-kernel-driver-nvidia-drm-in-use-nvk-requires-nouveau/42222

https://discourse.nixos.org/t/nvk-error-when-using-prop-nvidia-drivers/43300

https://discourse.nixos.org/t/nvk-error-when-using-prop-nvidia-drivers/43300

I’ve added my gpu config file below, incase it’s something in there causing the problem. All the commented lines are just different things I’ve been trying to fix it. Any help with all this would be greatly appreciated.

{
  pkgs,
  config,
  ...
}: {
  services.xserver.videoDrivers = ["nvidia"];

  environment.variables = {
    # GBM_BACKEND = "nvidia-drm";
    # WLR_NO_HARDWARE_CURSORS = "1";
    LIBVA_DRIVER_NAME = "nvidia";
    # __GLX_VENDOR_LIBRARY_NAME = "nvidia";
  };

  environment.systemPackages = with pkgs; [
    nvtopPackages.nvidia
    mesa
    vulkan-loader
    vulkan-validation-layers
    vulkan-extension-layer
    vulkan-tools
    libva
    libva-utils
  ];

  hardware = {
    nvidia = {
      open = false;
      powerManagement.enable = true;
      powerManagement.finegrained = false;
      modesetting.enable = true;
      nvidiaSettings = false;
      #      nvidiaPersistenced = true;
      forceFullCompositionPipeline = true;

      package = config.boot.kernelPackages.nvidiaPackages.mkDriver {
        version = "535.171.04";
        ibtSupport = true;
        sha256_64bit = "sha256-6PFkO0vJXYrNZaRHB4SpfazkZC8UkjZGYSDbKqlCQ3o=";
        sha256_aarch64 = "sha256-k7k22z5PYZdBVfuYXVcl9SFUMqZmK4qyxoRwlYyRdgU=";
        openSha256 = "sha256-dktHCoESqoNfu5M73aY5MQGROlZawZwzBqs3RkOyfoQ=";
        settingsSha256 = "sha256-qNjfsT9NGV151EHnG4fgBonVFSKc4yFEVomtXg9uYD4=";
        persistencedSha256 = "sha256-P90qWA1yObhQQl3sKTWw+uUq7S9ZZcCzKnx/jHbfclo=";
      };

      #      package = config.boot.kernelPackages.nvidiaPackages.beta;
    };

    opengl.extraPackages = with pkgs; [nvidia-vaapi-driver]; # libvdpau-va-gl vaapiVdpau];
    opengl.extraPackages32 = with pkgs.pkgsi686Linux; [nvidia-vaapi-driver];
  };

  boot = {
    /*
       kernelParams = [
      "ibt=off"
      "fbdev=1"
    ];
    */

    blacklistedKernelModules = ["nouveau"];
  };
}

1 Like

That’s just a warning message as the following comment explains:

Do you have any other log information? Have you tried using other wine versions or other programs (Heroic, Bottles, …)?

Thanks for the reply, I’ve actually just tried running them through steam, and the linux native games are working fine through steam (not sure why exactly but at least theyre working), though the windows game i tried running through proton and its still not working. I also tried heroic launcher as you suggested but i get the exact same problem. I’ve tried afew wine versions mainly ge and waylnd but also just staging. I’ve added the errors from the log below:

Start monitoring process.
gamemodeauto: 
gamemodeauto: 
wine: configuration in L"/home/aecyr/.wine" has been updated.
[360:364:0504/161557.352:ERROR:network_change_notifier_win.cc(143)] WSALookupServiceBegin failed with: 0
[504:508:0504/161558.028:FATAL:delay_load_failure_hook.cc(38)] Check failed: false. 
Error initializing symbols (87).  Dumping unresolved backtrace:
	00000000058AF112
	0000000006453392
	0000000005838B98
	0000000005839DD0
	0000000004679428
	000000000AE1FCC8
	000000000AE7A7FF
	AAAAAAAA00000000
	000000000081E300
	0000000000A0EA88
	0000000000989F20
	0060000000000000
	0101000000000000
	0000FF0000000000
	0000000000000000
	00000000009D4BA0
	7EFEFEFF646B666D
	0000000000000006
	000000000081E1B8
	000000000B1207E0
	00000000028D4F53
	00000000028CB2E0
	0000000005FD7A57
	000000000633A35A
	00000000050ABC32
	00000000050AC912
	00000000050AB31B
	00000000050AB4D0
	0000000001AE11DD
	000000014000289B
	0000000140001966
	0000000140155522
	000000007B6280B9
	000000017005FA98
	0000000000000000
	0000000140155590
	0000000067FF0000
	0000000000000000

Received fatal exception EXCEPTION_BREAKPOINT
Error initializing symbols (87).  Dumping unresolved backtrace:
[360:364:0504/161558.034:ERROR:gpu_process_host.cc(994)] GPU process exited unexpectedly: exit_code=-36862
[528:608:0504/161558.252:ERROR:network_change_notifier_win.cc(143)] WSALookupServiceBegin failed with: 0


#
# Fatal error in , line 0
# Check failed: 0x04 == old_protection.
#
#
#
#FailureMessage Object: 000000000081E1A0Error initializing symbols (87).  Dumping unresolved backtrace:
	00000000058AF112
	0000000006453392
	0000000005FA0B67
	0000000005F5DA2D
	0000000005F62A48
	0000000002FA79C1
	0000000002CE4648
	0000000005F9FA52
	0000000005F9E3F1
	0000000007E59650
	00000000084466AB
	00000000071C4709
	00000000071C3849
	00000000071C44B0
	00000000063FE207
	00000000050ABC32
	00000000050AC912
	00000000050AB31B
	00000000050AB4D0
	0000000001AE11DD
	000000014000289B
	0000000140001966
	0000000140155522
	000000007B6280B9
	000000017005FA98
	0000000000000000
	0000000140155590
	0000000067FF0000
	0000000000000000
Received fatal exception EXCEPTION_BREAKPOINT
Error initializing symbols (87).  Dumping unresolved backtrace:
[360:364:0504/161558.581:ERROR:device_event_log_impl.cc(215)] [16:15:58.581] Bluetooth: bluetooth_adapter_winrt.cc:726 GetDeviceInformationStaticsActivationFactory failed: Error (0x13D) while retrieving error. (0x80004002)
[580:584:0504/161558.616:FATAL:delay_load_failure_hook.cc(38)] Check failed: false. 
Error initializing symbols (87).  Dumping unresolved backtrace:
	00000000058AF112
	0000000006453392
	0000000005838B98
	0000000005839DD0
	0000000004679428
	000000000AE1FCC8
	000000000AE7A7FF
	AAAAAAAA00000000
	000000000081E300
	0000000000A11898
	0000000000986F50
	0060000000000000
	0101000000000000
	0000FF0000000000
	0000000000000000
	00000000009D4F70
	7EFEFEFF646B666D
	0000000000000006
	000000000081E1B8
	000000000B1207E0
	00000000028D4F53
	00000000028CB2E0
	0000000005FD7A57
	000000000633A35A
	00000000050ABC32
	00000000050AC912
	00000000050AB31B
	00000000050AB4D0
	0000000001AE11DD
	000000014000289B
	0000000140001966
	0000000140155522
	000000007B6280B9
	000000017005FA98
	0000000000000000
	0000000140155590
	0000000067FF0000
	0000000000000000

Received fatal exception EXCEPTION_BREAKPOINT
Error initializing symbols (87).  Dumping unresolved backtrace:
[360:364:0504/161558.622:ERROR:gpu_process_host.cc(994)] GPU process exited unexpectedly: exit_code=-36862
[732:736:0504/161559.170:FATAL:delay_load_failure_hook.cc(38)] Check failed: false. 
Error initializing symbols (87).  Dumping unresolved backtrace:
	00000000058AF112
	0000000006453392
	0000000005838B98
	0000000005839DD0
	0000000004679428
	000000000AE1FCC8
	000000000AE7A7FF
	AAAAAAAA00000000
	000000000081E300
	0000000000A11808
	0000000000986F50
	0060000000000000
	0101000000000000
	0000FF0000000000
	0000000000000000
	00000000009D4F70
	7EFEFEFF646B666D
	0000000000000006
	000000000081E1B8
	000000000B1207E0
	00000000028D4F53
	00000000028CB2E0
	0000000005FD7A57
	000000000633A35A
	00000000050ABC32
	00000000050AC912
	00000000050AB31B
	00000000050AB4D0
	0000000001AE11DD
	000000014000289B
	0000000140001966
	0000000140155522
	000000007B6280B9
	000000017005FA98
	0000000000000000
	0000000140155590
	0000000067FF0000
	0000000000000000

Received fatal exception EXCEPTION_BREAKPOINT
Error initializing symbols (87).  Dumping unresolved backtrace:
[360:364:0504/161559.171:ERROR:gpu_process_host.cc(994)] GPU process exited unexpectedly: exit_code=-36862
[780:784:0504/161559.628:FATAL:delay_load_failure_hook.cc(38)] Check failed: false. 
Error initializing symbols (87).  Dumping unresolved backtrace:
	00000000058AF112
	0000000006453392
	0000000005838B98
	0000000005839DD0
	0000000004679428
	000000000AE1FCC8
	000000000AE7A7FF
	0000000000000000
	000000000081E300
	0000000000A17538
	000000000081E3C8
	002D007200650064
	0067006200650077
	0000FF0000000000
	0000000000000000
	00000000009D5BA0
	AAAAAAAAAAAAAAAA
	0000000000A17758
	000000000081E1B8
	000000000B1207E0
	00000000028D4F53
	00000000028CB29E
	0000000005FD7A57
	000000000633A35A
	00000000050ABC32
	00000000050AC912
	00000000050AB31B
	00000000050AB4D0
	0000000001AE11DD
	000000014000289B
	0000000140001966
	0000000140155522
	000000007B6280B9
	000000017005FA98
	0000000000000000
	0000000140155590
	0000000067FF0000
	0000000000000000


Received fatal exception EXCEPTION_BREAKPOINT
Error initializing symbols (87).  Dumping unresolved backtrace:
[360:364:0504/161559.629:ERROR:gpu_process_host.cc(994)] GPU process exited unexpectedly: exit_code=-36862
[796:800:0504/161600.086:FATAL:delay_load_failure_hook.cc(38)] Check failed: false. 
Error initializing symbols (87).  Dumping unresolved backtrace:
	00000000058AF112
	0000000006453392
	0000000005838B98
	0000000005839DD0
	0000000004679428
	000000000AE1FCC8
	000000000AE7A7FF
	0000000000000000
	000000000081E300
	0000000000A17428
	000000000081E3C8
	002D007200650064
	0067006200650077
	0000FF0000000000
	0000000000000000
	00000000009D5BA0
	AAAAAAAAAAAAAAAA
	0000000000A17648
	000000000081E1B8
	000000000B1207E0
	00000000028D4F53
	00000000028CB29E
	0000000005FD7A57
	000000000633A35A
	00000000050ABC32
	00000000050AC912
	00000000050AB31B
	00000000050AB4D0
	0000000001AE11DD
	000000014000289B
	0000000140001966
	0000000140155522
	000000007B6280B9
	000000017005FA98
	0000000000000000
	0000000140155590
	0000000067FF0000
	0000000000000000

Received fatal exception EXCEPTION_BREAKPOINT
Error initializing symbols (87).  Dumping unresolved backtrace:
[360:364:0504/161600.088:ERROR:gpu_process_host.cc(994)] GPU process exited unexpectedly: exit_code=-36862
[812:816:0504/161600.544:FATAL:delay_load_failure_hook.cc(38)] Check failed: false. 
Error initializing symbols (87).  Dumping unresolved backtrace:
	00000000058AF112
	0000000006453392
	0000000005838B98
	0000000005839DD0
	0000000004679428
	000000000AE1FCC8
	000000000AE7A7FF
	0000000000000000
	000000000081E300
	0000000000A17598
	000000000081E3C8
	002D007200650064
	0067006200650077
	0000FF0000000000
	0000000000000000
	00000000009D5BA0
	AAAAAAAAAAAAAAAA
	0000000000A177B8
	000000000081E1B8
	000000000B1207E0
	00000000028D4F53
	00000000028CB29E
	0000000005FD7A57
	000000000633A35A
	00000000050ABC32
	00000000050AC912
	00000000050AB31B
	00000000050AB4D0
	0000000001AE11DD
	000000014000289B
	0000000140001966
	0000000140155522
	000000007B6280B9
	000000017005FA98
	0000000000000000
	0000000140155590
	0000000067FF0000
	0000000000000000

Received fatal exception EXCEPTION_BREAKPOINT
Error initializing symbols (87).  Dumping unresolved backtrace:
[360:364:0504/161600.545:ERROR:gpu_process_host.cc(994)] GPU process exited unexpectedly: exit_code=-36862
[828:832:0504/161601.014:ERROR:dxva_video_decode_accelerator_win.cc(1459)] DXVAVDA fatal error: could not LoadLibrary: msvproc.dll: Module not found. (0x7E)
[828:832:0504/161601.015:ERROR:gpu_init.cc(523)] Passthrough is not supported, GL is disabled, ANGLE is 

Looking back at your configs, I don’t see OpenGL being enabled. Do you have this somewhere?

  hardware.opengl = {
    enable = true;
    driSupport = true;
    driSupport32Bit = true;
  };

Or do you have services.xserver.enable enabled? since it sets hardware.opengl.enable = true;

If you managed to run native games I doubt this is the problem, but it doesn’t hurt to check. This might also be a corrupt wine prefix case, but since you tried with different programs, I don’t think it’s likely the issue either.

Also, if you have an integrated GPU, I’m curious if the games work using it.

Yeah, I have that in another section, funnily enough I did have some xserver settings but hadn’t actually enabled it, it didn’t make any difference though, btw I am running wayland. I do have an igpu but I haven’t set it up since I’m on desktop and don’t really need it, though I don’t know if it would make a difference. I did originally assume it was an nvidia problem (normally is), but I don’t think it is anymore. OpenGL is working fine aswel when I run glmark2.

This might be a Vulkan issue. I don’t know if this is for all GPU drivers (or only open source ones), but for AMD the docs say that you have to enable the following for Vulkan to work:

Vulkan is already enabled by default (using Mesa RADV) on 64 bit applications. The settings to control it are:

hardware.opengl.driSupport = true; # This is already enabled by default
hardware.opengl.driSupport32Bit = true; # For 32 bit applications

It could be that vulkan is not working and that causes DXVK to fail.

Does running this work for you?

$ nix-shell -p vulkan-tools --run "vkcube"

Edit: I also see it enabled in the docs for Nvidia, but I don’t know if that’s for OpenGL only or for Vulkan as well.

I do have those set aswell, and running the command you’ve sent seems to work fine.

I’m pretty sure this works for you as well:

$ nix-shell -p mesa-demos --run "glxheads"

I think the best thing you can do now is to try with the integrated GPU and see if it works. That way we can know if it’s essentially an Nvidia issue.

Sorry, took me a while to set up since igpu was disabled in the BIOS for some reason. I tried running it again but I’m still getting the same problems, so seems like it isn’t an nvidia problem. I’ve also added the full log below from ge which seems a bit better than the logs I was getting with plain staging.

https://pastebin.com/8qUszxK0

If the game you’re trying to run is from Steam, trying to run it from another launcher is unlikely to help. Since you have native games running OK, then your graphics driver setup is probably fine.

Try setting the game launch command to PROTON_LOG=1 WINEDEBUG=+timestamp %command%
This will (when you launch the game) create a log file in your home directory named steam-APPID.log where APPID is the Steam App ID of the game.

None of the games are steam games, I was just trying to see if they ran in any other launchers like heroic and lutris. I think the reason the native games worked fine under steam is just since they were missing some libraries, the NVK error message wasnt actually the problem like I thought, it seems to be a problem with wine, not even sure if its nix related at this point.

OK, then I would strongly recommend using the GloriousEggroll Wine builds instead of stock Wine. Heroic makes this easy to install and use. I don’t know about Bottles, though.

This might also be an issue with the wine libraries. Did you try running the game with:

  • Lutris: System options > Prefer system libraries
  • Heroic: Settings > Other > Prefer system libraries

The FHSenv wrappers for Lutris and Heroic should have all necessary Wine dependencies.
(I maintain the Heroic package in nixpkgs, but I’m not 100% certain about Lutris.)

I’ve tried GE and some others aswell, I’d never actually used heroic before this but I actually prefer it to lutris so might switch over anyway, doesn’t seem to fix the problem though. I did try with Prefer system libraries, but it doesn’t make a difference on or off. I’m honestly wondering whether there’s something wrong with the game, so I’m downloading a different one to see if the problem persists. I’m gonna leave it to download overnight and I’ll check in tomorrow, thanks for all the suggestions guys!

1 Like

So if Prefer system libraries is off, does Heroic use the libraries provided by the custom wine? or am I misunderstanding?

I think that’s correct, the nix wiki for lutris says to turn it on as there can be incompatibilities, but I think its only during the installation of a game.

1 Like

I’ve never been able to figure out exactly what that option does, for native or Wine games, and the advice I’ve been given has, as far as I can recall, always been to leave it off. I’m not sure if it even does anything on the nixpkgs build, because of how we build and wrap Heroic.

1 Like

Is there a reason for:

As seen here it may cause some issues with OpenGL.

Just tried turning it off and doesn’t change anything, pretty sure that’s one I actually added in an attempt to try and fix it, think I got it from someone else’s nvidia config, can’t remember where.