Wreckfest bad perf on all but one PC

The Wreckfest tracking issue is here. ProtonDB entry

The short of it is my ASUS GA401QM runs Wreckfest at full speed. It didn’t always, an update or change or something I have no clue about seems to have made it run at full speed. SO on Ultra settings I get 60+ fps with 25 cars on screen.

My other two PC, including my desktop which should be smoking this game? 25-30 fps…

Reports: these are all fedora 35. Mix of kernel and nvidia driver versions because I’ve been trying various combinations trying to figure out what the cause of the absurd performance drop is.

nvidia-bug-report-dekstop-wayland.log.gz (323.1 KB)
nvidia-bug-report-desktop-xorg.log.gz (412.2 KB)
nvidia-bug-report-ga401qm-wayland.log.gz (748.2 KB)
nvidia-bug-report-ga401qm-xorg.log.gz (522.8 KB)
nvidia-bug-report-gx502gw.log.gz (284.9 KB)
steam-desktop.log (77.3 KB)
steam-ga401qm.log (78.0 KB)
steam-gx502gw.log (79.8 KB)

I’d forgotten I did a manual install of the Nvidia drivers on the GA401QM after a fresh install. So these packages are missing from my install:

Installing:
 akmod-nvidia                     x86_64      3:495.46-1.fc35        rpmfusion-nonfree-nvidia-driver       26 k
Installing dependencies:
 akmods                           noarch      0.5.6-28.fc35          fedora                                23 k
 egl-wayland                      x86_64      1.1.9-3.fc35           updates                               36 k
 kmodtool                         noarch      1-43.fc35              fedora                                13 k
 libglvnd-egl                     i686        1:1.3.4-2.fc35         updates                               38 k
 libglvnd-gles                    i686        1:1.3.4-2.fc35         updates                               30 k
 libglvnd-opengl                  i686        1:1.3.4-2.fc35         updates                               40 k
 libwayland-server                i686        1.19.0-2.fc35          fedora                                41 k
 mesa-libEGL                      i686        21.3.4-3.fc35          updates                              129 k
 mesa-libgbm                      i686        21.3.4-3.fc35          updates                               45 k
 nvidia-settings                  x86_64      3:495.46-1.fc35        rpmfusion-nonfree-nvidia-driver      1.6 M
 xorg-x11-drv-nvidia              x86_64      3:495.46-1.fc35        rpmfusion-nonfree-nvidia-driver       21 M
 xorg-x11-drv-nvidia-kmodsrc      x86_64      3:495.46-1.fc35        rpmfusion-nonfree-nvidia-driver       26 M
 xorg-x11-drv-nvidia-libs         i686        3:495.46-1.fc35        rpmfusion-nonfree-nvidia-driver       24 M
 xorg-x11-drv-nvidia-libs         x86_64      3:495.46-1.fc35        rpmfusion-nonfree-nvidia-driver      149 M

Of those egl-wayland is what stands out. I will try to replicate this install on my desktop PC.

egl-wayland update was a bug fix to stop apps crashing when using wayland session.

https://bodhi.fedoraproject.org/updates/FEDORA-2021-0526645c86

https://bugzilla.redhat.com/show_bug.cgi?id=2018670

https://github.com/NVIDIA/egl-wayland/issues/27

https://src.fedoraproject.org/rpms/egl-wayland/c/6b47b1f764429a22e8cf481f08d6df0d4ec80ccb?branch=f35

As your using Xorg I doubt it is causing your issue.

1 Like

The no-working systems are an intel-based hybrid graphics notebook with prime-sync enabled and a nvidia-only desktop. The working system is an amd-based hybrid graphics notebook.
Did you already check if this is a compositor issue, e.g. by using an openbox session?

Yes, it makes no difference here.

Did you try using gamemode, like one protondb user advised? This also removed performance issues for RDR2.

Yes. Also tried gamescope, including running that as its own session. No difference. Still 3 machines that started off with almost identical installs but give different results on the one game.

Did you check top and nvidia-smi while running the game to make sure it’s really using the nvidia gpu?

Sure did. Definitely using the GPU - verified on all 3 machines.

Same in-game settings and proton version set?

For sure. I mean all the basic stuff is what I checked. Drivers, kernel, proton, steam, distro updates, same manual nvidia install (and same rpmfusion install after). I don’t really know where to go from here.

Recently released Nvidia driver + 5.16.5 kernel hasn’t fixed this issue.

It’s looking like something is broken at the distro level? I’m not sure where to begin with this. I compared all the relevant installed libs I can think of, including the end results of Nvidia driver install - this all seems to be correct.

An update from my side.

I recently installed openSUSE Tumbleweed, Popos, and Ubuntu. All fresh clean installs with fresh clean 510.xx driver + new steam install + Wreckfest.

All had the same issues with framerate.

Okay…

So on my desktop I discovered that resizeable BAR wasn’t enabled. Once enabled (in bios) performance jumped from 30fps to 120fps.

@generix after some time (when I’ve actually had time) I think the key points are:

  • I have two laptops with RTX30xx, these have resizable bar enabled and run Wreckfest at close/equal to Windows.

  • I have a desktop with RTX3060, performance was very poor until I enabled resizable bar

  • I have a laptop with RTX2070, this machine runs poorly, the fps at high with max cars is always 30fps. This is the very same fps I got with the desktop with resizable bar disabled

  • The RTX2070 laptop runs wreckfest in Windows at same performance as the RTX30xx laptops with linux

So it all comes down to resizable bar? I don’t know why that would cause such a vast difference, or why the RTX2070 laptop runs Wreckfest in windows so well.

Question is, whether this is a regression when rbar support was added (>460) and if dxvk plays a role. Did you try to run it with the wine d3d implementation?

Yeah wine-D3D runs real bad. I was unable to build any pre-470.141manually, and had to use that driver version through rpmfusion - there was no difference (I think that was expected).

I will install arch and see if that changes anything, and try a new manual install of drivers.

I don’t think distro-switching and alternate driver installs will lead to anything. rBAR alone shouldn’t have such an impact on performance either. Sounds like with the standard 256MB BAR, the game is invalidating and reloading textures on every frame, maybe because it takes the BAR size for total video memory available? If not already done, please try setting
dxgi.nvapiHack = False
in dxvk config so the game knows it’s on a nvidia gpu and not some intel device.

Distro switch was to try and get early 460 driver working. But even then I couldn’t build the modules.

dxgi.nvapiHack = False didn’t help unfortunately. d3d11.maxDynamicImageBufferSize = 1024 helped to smooth things out, but still low FPS.

I might not be remembering correctly, but I’m sure the issue started to appear about mid-last year, which is around about when 470 drivers appeared?