protonscr

FSR4 Support

protonopen
ValveSoftware/Proton#8519 · opened 2025-03-13 by Astyyyyy · updated 2026-06-01 · 22 comments · github
5 matching comments, n / p to jump
AAstyyyyy 2025-03-13 github

Feature Request

add support for fsr4, if its possible without amd's help?

I confirm:

  • [x ] that I haven't found another request for this feature.
  • [x ] that I have checked whether there are updates for my system available that
    contain this feature already.

Description

gpu - rx 9070 xt
distro - cachyos
kernel - 6.14.0-rc6-273-tkg-eevdf-llvm
mesa - mesa-git 25.1.0_devel.202021.eb8017ca68f-1
proton - proton experimental
linux firmware - linux-firmware-git 20250312.89ba9b7c-1

I have been testing out https://github.com/cdozdil/OptiScaler to see if fsr4 would work in linux, and i can get as far as optiscaler trying to load the fsr4 related dll's, but game crashes when it tries

game (panicore) seems to crash at line 5056.020:0130:01e8:fixme:x11drv:X11DRV_D3DKMTQueryAdapterInfo desc 0x2fd57250, type 1 stub from proton logs

log with crash > steam-2695940.log

steps to get OptiScaler to attempt loading fsr4

  1. use latest nightly version
  2. copy all the OptiScaler files to games exe location
  3. rename OptiScaler.dll > dxgi.dll
  4. you will need amdxc64.dll and amdxcffx64.dll in games exe location (can grab from windows after installing drivers)
    Windows/System32/DriverStore/FileRepository/u0412790.inf_amd64_b0a9eb989e37c81c/B413137/amdxcffx64.dll
    Windows/System32/DriverStore/FileRepository/u0412790.inf_amd64_b0a9eb989e37c81c/B413137/amdxc64.dll
  5. set fsr4Update to true (if not detecting 9000 series gpu properly) in OptiScaler.ini
  6. set WINEDLLOVERRIDES="dxgi.dll=n,b" in launch options

there is a FsrAgilitySDKUpgrade=true option in OptiScaler.ini which may or may not be needed on proton not entirely sure though, desc of FsrAgilitySDKUpgrade option (from ini)
Updates the DirectX 12 Agility SDK Enabling the use of FSR 4 on Windows 10 in older titles like Cyberpunk 2077 You MUST copy D3D12_Optiscaler folder next to games exe! true or false - Default (auto) is false

Justification [optional]

Risks [optional]

References [optional]

UUklosk 2025-03-13 github

For convenience or for people without a Windows installation that want to test this, you can just extract the windows driver package with 7zip or peazip and the dlls are located in:

Packages/Drivers/Display/WT6A_INF/B413137/amdxcffx64.dll
Packages/Drivers/Display/WT6A_INF/B413137/amdxc64.dll

Regards.

Rryzendew 2025-04-09 github

Image

AAzyrion 2025-04-13 github
Kkisak-valve maintainer 2026-03-06 github

Optiscaler's FSR4 on Vulkan implementation missing required Vulkan Extensions to work

Issue transferred from https://github.com/ValveSoftware/Proton/issues/9549.
@MrWissenschaft posted on 2026-03-06T21:23:43:

Description

The Optiscaler team have recently released an implementation of FSR4 for Vulkan, in their v0.90-Pre10 build.

This works fine as far as I can gather from Windows users, but unfortunately it is not operating as intended on Linux. The implementation relies on two extensions in order to function:

  • VK_KHR_external_memory_win32
  • VK_KHR_external_semaphore_win32

I have raised the following issue at the Mesa Gitlab who have confirmed they already have the corresponding extensions that perform the above function:

  • VK_KHR_external_memory_fd
  • VK_KHR_external_semaphore_fd

Issue link: https://gitlab.freedesktop.org/mesa/mesa/-/issues/15011

Without these extensions, the game will crash when attempting to select the appropriate option on Optiscaler, which I believe is called "FSR4 VK w/Dx12."

Steps to reproduce

  1. Install Optiscaler on Vulkan game using Optiscaler v0.90-pre10 build
  2. Run game, set Optiscaler to FSR4 VK w/Dx12
  3. Game will crash

System information

System:
  Host: reganopolis Kernel: 6.18.13-5-cachymod-618-bore arch: x86_64 bits: 64
    compiler: clang v: 21.1.8
  Desktop: KDE Plasma v: 6.6.0 tk: Qt v: N/A wm: kwin_wayland dm: N/A
    Distro: CachyOS base: Arch Linux
CPU:
  Info: 8-core model: AMD Ryzen 7 5800X3D bits: 64 type: MT MCP arch: Zen 3+
    rev: 2 cache: L1: 512 KiB L2: 4 MiB L3: 96 MiB
  Speed (MHz): avg: 3599 min/max: 576/4553 boost: enabled cores: 1: 3599
    2: 3599 3: 3599 4: 3599 5: 3599 6: 3599 7: 3599 8: 3599 9: 3599 10: 3599
    11: 3599 12: 3599 13: 3599 14: 3599 15: 3599 16: 3599 bogomips: 108809
  Flags-basic: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a
    ssse3 svm
Graphics:
  Device-1: Advanced Micro Devices [AMD/ATI] Navi 48 [Radeon RX 9070/9070
    XT/9070 GRE] vendor: ASRock driver: amdgpu v: kernel arch: RDNA-4 pcie:
    speed: 32 GT/s lanes: 16 ports: active: DP-1,DP-2 off: HDMI-A-1
    empty: DP-3,Writeback-1 bus-ID: 2f:00.0 chip-ID: 1002:7550
  Display: wayland server: X.org v: 1.21.1.21 with: Xwayland v: 24.1.9
    compositor: kwin_wayland driver: gpu: amdgpu display-ID: 0
  Monitor-1: DP-1 model: 34R83Q res: 3440x1440 hz: 180 dpi: 109
    diag: 865mm (34.1")
  Monitor-2: DP-2 model: MSI MAG274QRF-QD res: 2560x1440 hz: 165 dpi: 109
    diag: 685mm (27")
  Monitor-3: HDMI-A-1 model: 34R83Q res: 3440x1440 dpi: 109
    diag: 865mm (34.1")
  API: EGL v: 1.5 platforms: device: 0 drv: radeonsi device: 1 drv: swrast
    gbm: drv: kms_swrast surfaceless: drv: radeonsi wayland: drv: radeonsi x11:
    drv: radeonsi
  API: OpenGL v: 4.6 compat-v: 4.5 vendor: amd mesa v: 26.0.1-arch2.3
    glx-v: 1.4 direct-render: yes renderer: AMD Radeon RX 9070 XT (radeonsi
    gfx1201 ACO DRM 3.64 6.18.13-5-cachymod-618-bore) device-ID: 1002:7550
    display-ID: :0.0
  API: Vulkan v: 1.4.341 surfaces: N/A device: 0 type: discrete-gpu
    driver: mesa radv device-ID: 1002:7550
  Info: Tools: api: clinfo, eglinfo, glxinfo, vulkaninfo
    de: kscreen-console,kscreen-doctor gpu: amdgpu_top,lact wl: wayland-info
    x11: xdpyinfo, xprop, xrandr

Wine version: have used multiple versions of Proton, all same result

Regression

None, this as far as I know has never previously worked as intended.

Aalasky17 2026-03-09 github

@MrWissenschaft Do you have any example games that you could share so that we have a specific test case?

Mmpawlowski7 2026-03-10 github

@MrWissenschaft Do you have any example games that you could share so that we have a specific test case?

You could try CTS https://github.com/KhronosGroup/VK-GL-CTS

Also you could try to build the Windows version, run in through Proton and see where it crashes.

I don't think those extensions have much use in gaming.

MMrWissenschaft 2026-03-10 github

@MrWissenschaft Do you have any example games that you could share so that we have a specific test case?

Hello yes certainly,

Three examples are:

  • Enshrouded
  • Red Dead Redemption 2 (with Vulkan set instead of DX12 of course)
  • Doom 2016/Eternal

There's also the new Indiana Jones game, I believe that's vulkan

Eessi2 2026-03-10 github

No Man's Sky is another VK game that does not currently work with Optiscalers FSR4 VK w/Dx12

Ppshjt 2026-03-11 github

Isn't this a byproduct of proton not yet being rebased on Wine11? Wine 11 added support, see: https://gitlab.winehq.org/wine/wine/-/releases/wine-11.0#graphics

Thus, Proton 11 will likely auto-resolve this issue.

Aalasky17 2026-03-12 github

@MrWissenschaft or anyone else - Do you have any example of Optiscaler working with any game with Proton? If so, which filename option did you choose? (and which game?) The setup-linux.sh file is very nifty but I haven't actually gotten any game to work with the automated setup (just picked [1] dxgi.dll so far since it seems generally recommended).

Nnjdom24 2026-03-12 github

@alasky17 I didn't have any fuss getting it running in the (DX12 titles) Final Fantasy XVI demo or Yakuza Kiwami 3 demo using dxgi.dll.

This was with the v0.9.0 branch, which is only available as a build artifact or on the project's Discord.

The project also has a Wiki page which has notes and known-working filenames for the DLL.

Aamishc 2026-03-12 github

@alasky17 I'm playing Rise of the Tomb Raider with Optiscaler. I used the same file name as you during installation. Make sure to include WINEDLLOVERRIDES=dxgi=n,b %COMMAND% in launch options as it is an additional step required on Linux (https://github.com/optiscaler/OptiScaler/wiki/Automated-Installation )

Eessi2 2026-03-12 github

@MrWissenschaft or anyone else - Do you have any example of Optiscaler working with any game with Proton? If so, which filename option did you choose? (and which game?) The setup-linux.sh file is very nifty but I haven't actually gotten any game to work with the automated setup (just picked [1] dxgi.dll so far since it seems generally recommended).

The only game I have noticed dxgi.dll doesn't work with is Veilguard which requires d3d12.dll instead.
WINEDLLOVERRIDES is generally not required in my experience.

Regular MESA and Proton version requirements also apply.

MMrWissenschaft 2026-03-12 github

Hey all,

Thanks for your patience in my response, I've been a busy bee at work the last few days!

Isn't this a byproduct of proton not yet being rebased on Wine11? Wine 11 added support, see: https://gitlab.winehq.org/wine/wine/-/releases/wine-11.0#graphics

Thus, Proton 11 will likely auto-resolve this issue.

This is refreshing news, hopefully Proton-11 will have continued support for this! In the meantime, Proton-10 and it's derivatives I think would really benefit from this, if it's possible to implement/backport/etc.

@MrWissenschaft or anyone else - Do you have any example of Optiscaler working with any game with Proton? If so, which filename option did you choose? (and which game?) The setup-linux.sh file is very nifty but I haven't actually gotten any game to work with the automated setup (just picked [1] dxgi.dll so far since it seems generally recommended).

Hello, essi2, amishc and njdom24 are all correct, you'll need to be using v0.90-pre10 or higher from the Optiscaler discord. Just yesterday they have released their pre-11 build, see below:

https://discord.com/channels/995299945492008990/1371201835477499975/1481238916378923100

(if it requires you to be invited to the discord first to use the above link, then here is their discord invite link: https://discord.gg/wEyd9w4hG5)

Even with the pre-11 build of Optiscaler, it will still not work with FSR4 on Vulkan due to the issue described in my comment further up.

Please also ensure you're using WINEDLLOVERRIDES=dxgi=n,b %COMMAND% in the launch options (if using dxgi.dll option of course, adjust depending on option chosen)

Lastly the FSR4 Compatibility List is an invaluable tool:

https://github.com/optiscaler/OptiScaler/wiki/FSR4-Compatibility-List

Even the more generic compatibility list can be helpful to navigate if you're stuck sometimes:

https://github.com/optiscaler/OptiScaler/wiki/Compatibility-List

Let me know if you need anything else!

Aalasky17 2026-03-12 github

Yep - I was using v0.90-pre11 from the discord server -- thank you for specifying the version in your original comment so I knew to keep digging past the public github version :) I'm just wondering if there is a working game with any currently live Proton version that people already know about that I can use as a comparison point. Since there is a setup-linux.sh file (which worked so smoothly!) I am hoping to get something working somewhere on Linux+Proton first.

Edit: thanks to the folks who responded with some suggestions! Silly me, going from newest to oldest through my emails, whoops!

MMrWissenschaft 2026-03-12 github

Yep - I was using v0.90-pre11 from the discord server -- thank you for specifying the version in your original comment so I knew to keep digging past the public github version :) I'm just wondering if there is a working game with any currently live Proton version that people already know about that I can use as a comparison point. Since there is a setup-linux.sh file (which worked so smoothly!) I am hoping to get something working somewhere on Linux+Proton first.

Edit: thanks to the folks who responded with some suggestions! Silly me, going from newest to oldest through my emails, whoops!

No worries at all! So, for FSR4 on Vulkan, there are no working examples of course, but for non-Vulkan I have used this on:

  • Horizon Forbidden West
  • Starfield

And like you said, there are some more suggestions by others

Eessi2 2026-03-13 github

Some other examples of games that work with Optiscaler(on Linux usually with dxgi, but this can differ);

Cyberpunk 2077
Darktide(Multiplayer, use at own risk)
Control
Remnant 2
Borderlands 4
TES4 Remastered
Avowed
Baldur's Gate 3
The Ascent
Hogwarts Legacy

Aalasky17 2026-03-17 github

@MrWissenschaft Do you have any example games that you could share so that we have a specific test case?

Hello yes certainly,

Three examples are:

  • Enshrouded
  • Red Dead Redemption 2 (with Vulkan set instead of DX12 of course)
  • Doom 2016/Eternal

There's also the new Indiana Jones game, I believe that's vulkan

Interestingly, Enshrouded is working for me (with winmm.dll as suggested in the wiki). I think these are failing per-game and not necessarily a complete failure for Optiscaler to work with Vulkan on Proton. Unfortunately I can't be of more help right now - it seems like each failing game might be failing in a different way :(

MMrWissenschaft 2026-03-17 github

Replying to https://github.com/ValveSoftware/Proton/issues/8519#issuecomment-4077329658

Hello, this is not possible, have you made sure you're using FSR4 and not FSR3 or 2?

If you change it to use FSR4 it will crash, it is not possible for it be working unless Proton has been updated accordingly.

Please screenshot your Optiscaler settings to show FSR4 working

Aalasky17 2026-03-18 github

@MrWissenschaft Gotcha - with other Vulkan games (Balder's Gate 3 in Vulkan mode, Red Dead Redemption 2 with Vulkan mode) there were failures before even getting to the point of trying FSR4. Red Dead Redemption 2 just crashes with the Optiscaler for me and with BG3+Vulkan the Optiscaler will not open (opens with DX11 mode). Apologies for jumping to conclusions about FSR4 - just opening Optiscaler with a vulkan game was more success than I'd seen so far.

Eessi2 2026-04-17 github
Tried running No Man's Sky with Proton 11 beta, the game starts up as normal and shows Proton version as WINE11, but switching Optiscaler from FSR3.x to FSR3.x w/DX12 still crashed it, updating to the latest release version of Optiscaler resolved this and NMS appears to now be running FSR4 VK via DX12. Image Image
BG3 VK also working, but BG3 in VK with Proton11 isn't respecting my GPU Filter or ingame selection for whatever reason Image
Xxanscale 2026-06-01 github

why proton doesn't support game-embedded FSR 4.x ?

GPU: Radeon 9060XT
Kernel: 7.0
Mesa: 26.0.6
Proton: Experimental bleeding edge

Games: CP77 and Helldivers 2 (fsr4 embedded)

i can't use FSR4, WHY ?

PS, i'm not speaking about fsr upgrade

Proton versions

Launch options

Upstream links

DLLs