protonscr

Regression on handling the FRS4 upgrade thorugh Stub?

protonopen
ValveSoftware/Proton#9201 · opened 2025-11-09 by alosarjos · updated 2026-06-22 · 10 comments · github
1 matching comments, n / p to jump
Aalosarjos 2025-11-09 github

Hi.

I've been using for a month or so the FSR4 upgrade path provided by Proton Experimental (Regular branch). I copy the FSR4 DLL from AMD I got into the Wineprefix and set the two variables:

FSR4_UPGRADE=1 & DXIL_SPIRV_CONFIG=wmma_rdna3_workaround since I have a RDNA3 card

I even made an script and worked like a charm, but now all games stopped working, I reported it on the Proton Space Marine 2 https://github.com/ValveSoftware/Proton/issues/8072#issuecomment-3507874194

But I've tested some other games and same results. Theses games hasn't been updated for a month, but Proton Experimental has. I'm reporting it here since I see the code for the sub handling on this repo.

Aalosarjos 2025-11-09 github

Proton Logs (Had to make a zip since uncompressed was too big to upload):

steam-2183900.zip

BBillli11 2025-11-09 github

May be related https://github.com/HansKristian-Work/vkd3d-proton/pull/2679

Default build of vkd3d-proton now disable fp8 emulation by default.

FP16 int8 version of fsr4 work though.

Edit:1 Also FSR4_UPGRADE=1 should only work on proton GE and EM, default proton do not check that environment variable.

Edit 2: Int 8, not fp16

Aalosarjos 2025-11-09 github

@Billli11 Thanks for that. Yeah that seems like could cause it. But I dont get why something that can work by using env vars on runtime, now also requires buildtime flags.... goddamit

BBillli11 2025-11-10 github

@alosarjos You're right.

 strings "$HOME/.local/share/Steam/steamapps/common/Proton - Experimental/files/lib/wine/x86_64-windows/amdxc64.dll"|grep FSR
FSR4_UPGRADE
Failed to load FSR4 dll (amdxcffx)!
Replaced FSR3 with FSR4!
AMDFSR4FFX_UpdateFfxApiProvider
AMDFSR4FFX_QueryInterface
AMDFSR4FFX_AddRef
AMDFSR4FFX_Release
AMDFSR4FFX_UpdateFfxApiProvider
AMDFSR4FFX_QueryInterface
...

Edit 1: Although look like at least for fsr sdk 2.0( fsr4.0.2 and fsr 3.1.5), the env is not needed for enabling fsr4.
I dll swapped space marine 2 to the fp16 int8 version of fsr4.0.2 and I can see the perf hit of the upscale.
The game still show fsr3 though.

Edit 2: Int 8, not fp16

Aalosarjos 2025-11-10 github

Would love to have at least an answer on why this change :(

Aalosarjos 2025-11-10 github

Replying to https://github.com/ValveSoftware/Proton/issues/9201#issuecomment-3513024236

There is a PR for 4.0.2 https://github.com/ValveSoftware/wine/pull/296

I'm not aware that any of that logic has been implemented into the current Proton Experimental 🤔

BBillli11 2025-11-10 github

I don't know,It is working for me.
4K FSR quality.
no dll swap ~76fps 13.2ms
with dll swap ~61fps 16.4ms

On my 7800xt, when using optiscaler.
fsr3 use around 1-1.3ms for 4K,
and fsr4 use around 4.5-5ms.

Edit 1: Space marine 2 is FSR4 support title, May be it didn't need to force enable?
https://www.amd.com/en/products/graphics/technologies/fidelityfx/supported-games.html

Aalosarjos 2025-11-11 github

Replying to https://github.com/ValveSoftware/Proton/issues/9201#issuecomment-3513748840

Nah, I think most "FSR4" games are updated through the Windows driver doing the switcheroo without the game knowing, which should be what the FSR4_UPGRADE env var does. Either game updates the included DLLs which I think doesn't happen, or we need the equivalent of the driver switcheroo.

Aalosarjos 2026-06-22 github

Any update on this now that FSR4 has been officially released for RDNA3?