How to debug Steam games crashing?

I’ve been trying to get Raft to run in Steam using Proton. I click play, and then it instantly crashes. But I can’t seem to find a proper error message.

I’ve tried running the game through the terminal, but no useful information (as far as I understand) is shown:

[pablo@pablopc:~]$ steam steam://run/648800
Running Steam on nixos 21.05.2001.d4590d21006 64-bit
STEAM_RUNTIME has been set by the user to: /steamrt
Can't find 'steam-runtime-check-requirements', continuing anyway
WARNING: Using default/fallback debugger launch
/home/pablo/.local/share/Steam/ubuntu12_32/steam steam://run/648800

I don’t see anything in /etc/dumps nor in .local/share/Steam/logs.

Are there other ways to get some more information? A proper error or log with more information?

Thanks!

This is one of the glaring weaknesses of steam’s proton :frowning: Easiest way I’ve found is to manually invoke the proton runtime, which you can do by finding the prefix, setting $WINEPREFIX to it and then finding the proton-bundled wine and running it.

I’d try to give more pointers, but personally I use the steam flatpak, so my location pointers would likely be off. The internet has better instructions.

Note that you may be affected by Steam: Proton games don't start anymore · Issue #130699 · NixOS/nixpkgs · GitHub and similar issues. Steam are reworking how proton works quite a bit, and this isn’t entirely stable yet in all distros due to how they bundle that.

Thanks! I’ve been debugging since, and think I just actually found it.

I indeed had to put “SteamLinuxRuntime_soldier” to “previous_release”. And then updated/enabled some drivers (still figuring out which ones are really needed), and seems to work now.

I currently have:

  hardware.opengl = {
    enable = true;
    driSupport = true;
    driSupport32Bit = true;
    extraPackages = with pkgs;
    [
      rocm-opencl-icd
      rocm-opencl-runtime
      amdvlk
    ];
    extraPackages32 = with pkgs.pkgsi686Linux;
    [
      driversi686Linux.amdvlk
    ];
  };

you can now put “SteamLinuxRuntime_soldier” to “beta” as it was taken care upstream!