Steam Proton games 1 fps

Suddenly Proton games are running with less than 1 fps, and sometimes crashing when going past the title screen. I can’t pin point exactly when the issue arose, as I’ve removed old generations.

I remember having this issue before, and I think it was resolved by switching from having steam in my systemPackages to enabling the steam module instead. I’m still using the steam module now, so that can’t be the issue.

I’m getting the same issue in Devour and Dark Souls 3 (haven’t tried other Proton games). Running Valheim with OpenGL (which is a native game) works flawlessly.

Logs for startup → launch game → closing game:
Devour: http://dpaste.com/7VN9B8DNU
Dark Souls III: http://dpaste.com/85RYJ3BTM

Both games seem to have some issues with certain libraries:

/nix/store/y15sx5yvdflvzsp0f6i935ylfkr22453-glib-networking-2.70.1/lib/gio/modules/libgiolibproxy.so: undefined symbol: g_task_set_task_data
Failed to load module: /nix/store/y15sx5yvdflvzsp0f6i935ylfkr22453-glib-networking-2.70.1/lib/gio/modules/libgiolibproxy.so
/nix/store/y15sx5yvdflvzsp0f6i935ylfkr22453-glib-networking-2.70.1/lib/gio/modules/libgiognutls.so: undefined symbol: g_byte_array_steal
Failed to load module: /nix/store/y15sx5yvdflvzsp0f6i935ylfkr22453-glib-networking-2.70.1/lib/gio/modules/libgiognutls.so
/nix/store/y15sx5yvdflvzsp0f6i935ylfkr22453-glib-networking-2.70.1/lib/gio/modules/libgiognomeproxy.so: undefined symbol: g_task_new
Failed to load module: /nix/store/y15sx5yvdflvzsp0f6i935ylfkr22453-glib-networking-2.70.1/lib/gio/modules/libgiognomeproxy.so
/nix/store/2anfhzjz6d4n5xx5k5bfc9png6bjxis6-dconf-0.40.0-lib/lib/gio/modules/libdconfsettings.so: undefined symbol: g_type_ensure
Failed to load module: /nix/store/2anfhzjz6d4n5xx5k5bfc9png6bjxis6-dconf-0.40.0-lib/lib/gio/modules/libdconfsettings.so
/nix/store/p7kfgxv0spzv8dmsid2ma0izip307rsh-gvfs-1.48.1/lib/gvfs/libgvfscommon.so: undefined symbol: g_task_new
Failed to load module: /nix/store/p7kfgxv0spzv8dmsid2ma0izip307rsh-gvfs-1.48.1/lib/gio/modules/libgioremote-volume-monitor.so
/nix/store/p7kfgxv0spzv8dmsid2ma0izip307rsh-gvfs-1.48.1/lib/gvfs/libgvfscommon.so: undefined symbol: g_task_new
Failed to load module: /nix/store/p7kfgxv0spzv8dmsid2ma0izip307rsh-gvfs-1.48.1/lib/gio/modules/libgvfsdbus.so

Other than this I have no idea where to begin with this issue.

Edit:
To add, I have tried:

  • Disabling the steam module, doing a nix-garbage-collect -d and sudo nix-garbage-collect -d, removing .local/share/Steam, and then reinstalling Steam
  • Trying other versions of Proton (GE, Experimental, older versions)

For the slow FPS, it looks like the steam environment isn’t finding the vulkan drivers anymore after this PR https://github.com/NixOS/nixpkgs/commit/4a0ad7b7142a0bd9b9e53876292d59dd040bf6f9

It’s looking for the non-architecture specific file here https://github.com/NixOS/nixpkgs/blob/16845d1fcc9e7628d7fe156c36ae27add7e1b4cc/pkgs/games/steam/fhsenv.nix#L247

Idk what the correct solution for nixpkgs should be, but I did a major hacky workaround with this in my nixos config:

  hardware.opengl.extraPackages = [
    (pkgs.runCommand "nvidia-icd" { } ''
      mkdir -p $out/share/vulkan/icd.d
      cp ${pkgs.linuxPackages.nvidia_x11}/share/vulkan/icd.d/nvidia_icd.x86_64.json $out/share/vulkan/icd.d/nvidia_icd.json
    '')
  ];
4 Likes

Great find! Makes a lot of sense that it stopped working after that point.

Great hack as well lol, worked perfectly. Will suffice until this gets fixed in nixpkgs, thanks lot!

Have either of you opened an issue about this, so it can be tracked? I don’t have these symptoms, but it’d be sad if it went under the radar until 22.05 :wink:

pinging @jonringer since he maintains this mostly :slight_smile:

most likely affected by https://github.com/NixOS/nixpkgs/pull/157907#issuecomment-1042650455