Red Dead Redemption 2 - game crashes, GFX ERROR

Hi, I’ve been using RTX 3060Ti for few months now and I’m quite satisfied with the overall GPU performance and I mostly have no issues when playing games on Linux.

The most problematic game so far is RDR2, which overall runs smooth on high settings in 1440p, but after an hour or so, the image freezes, sound from the game is still going and there’s window with short error message “GFX ERROR” (or something like that, sorry I forgot to screenshot it, but there’s no any relevant info in the dialog anyway). After clicking OK, the game shuts down.

The game uses native Vulkan backend without any translation layer like dxvk or vk3d3, however it’s (obviously) using Steam Proton. My system specs are:

CPU: AMD Ryzen 7 2700 (16) @ 3.750GHz
OS: Arch Linux x86_64
Kernel: 5.16.5-243-tkg-pds-llvm
Memory: 16 GB DDR4 @ 3.2GHz (XMP)
Driver Version: 510.47.03

It also happens on any other kernel variant (linux, linux-lts, linux-zen) and older driver versions (470.x, 495.x)

Before I bought NVIDIA GPU, I was playing the game on Radeon RX 570 using RADV driver. The performance was obviously inferior to what I can get now, but I’ve never seen the error message and I played through entire story mode with overall 100+ hours of gameplay, so it seems like the issue is driver specific (although back then I played at 1080p with much lower graphics settings).

Interestingly, when I searched for some info on this problem, I learned that this also happened to Windows users when using Vulkan backend. There was some recommended workarounds and I tried them all, such as:

  • Removing shader cache
  • Create empty shader cache files and remove permissions to write them
  • Launching the executable with -ignorepipelinecache parameter

Sadly nothing helps.

Here’s my nvidia-debugdump result: (243.3 KB)

If that’s not enough of debug information, I can collect some more, but I might not respond instantly because I have to play the game for 1-2h and I don’t always have time for that.

Thanks in advance for looking at the issue.

Please run as root after a crash and attach the resulting nvidia-bug-report.log.gz file to your post.

Ok, I played through few missions and the game crashed right at the end of a long one leaving me without a save :P

First time I run the bugreport script, it generated it with information that it’s skipping acpidump, since it’s not installed. I installed the acpica package and run the script again, but I’m not sure if the second log is complete, so I attach both of them.

nvidia-bug-report.log.gz (776.4 KB)
nvidia-bug-report-no-acpidump.log.gz (500.8 KB)

Unfortunately, no gpu errors logged. Looking at protondb, this seems to be a common problem when playing rdr2 on nvidia. Tried the settings?

I haven’t tried that yet as it’s new comment and I never actually saw that setting. I’ll definitely give it a shot, thanks!
BTW. What does the "Interactive" "0" setting do? Could you explain?

This is usually meant for running compute jobs (cuda) in parallel to Xorg. The normal behavior is that the nvidia xorg driver uses a watchdog to kill (too) long-running compute jobs so that X doesn’t freeze/stutter. Interactive=0 disables this so that compute jobs can run as long as they want. Vulkan processes count as compute jobs, so this might have some influence.

1 Like

So I played the game for about 2 hours and didn’t experience any crash, so I think the workaround might have helped. Also I see a new report that the Wayland session is not affected, although it’s not fully functional for me yet. I think the issue can be closed. Thanks once again.

I tried the Option “Interactive” “0” line in the nVidia’s Device section of xorg.conf, but the game still crashes after 15 minutes with ERR_GFX_STATE. Tried adding it as a Screen option and as an OutputClass option, same result.

Using kernel 5.14 and latest stable Nvidia driver: 510.47.03. My card is a 1650 SUPER.

Game runs at almost minimum settings, with more than 1GB of VRAM to spare. Seems like the game hangs for a moment and then the engine resumes, but the video does not. Few seconds later, the crash is reported.