proton experimentalx1 2026-08DXVK_NVAPI_ALLOW_OTHER_DRIVERSx1 2026-08PROTON_FORCE_NVAPI=1x1 2026-08PROTON_FORCE_NVAPI=1`x1 2026-08PROTON_LOG=1`x1 2026-08WINEDLLOVERRIDES="atiadlxx=b"x1 2026-08WINE_HIDE_AMD_GPU=1`,x1 2026-08PROTON_FORCE_NVAPI=1 %command%x1 2026-08amd_ags_x64.dllx1 2026-08atiadlxx.dllx1 2026-08atiadlxy.dllx1 2026-08nvapi64.dllx1 2026-08
Compatibility Report
System Information
I confirm:
Symptoms
The in-game HDR option (Display Settings) is permanently greyed out on a Steam Deck OLED with HDR enabled system-wide, so the game can only ever output SDR.
KINGDOM HEARTS III is a UE4 D3D11 title that links AMD AGS statically. Adding
PROTON_FORCE_NVAPI=1to the game's launch options makes the option selectable and HDR works correctly.This appears to be the same situation
forcenvapiwas added for. The two appids currently on that list, Tony Hawk's Pro Skater 1 + 2 (2395210, commit 46c2f720d) and The Quarry (1577120, commit 4bb8e69a2), are also UE4 titles that link AGS statically. Would it be possible to add 2552450 to that list?Evidence
Two
PROTON_LOG=1runs on the same Proton build, differing only in whetherPROTON_FORCE_NVAPI=1was set. Both logs attached.Options:{'gamedrive', 'forcelgadd'}{'forcelgadd', 'gamedrive', 'forcenvapi'}nvapi64.dllloadedinfo:nvapi64:linesbUseHDRDisplayOutputin GameUserSettings.ini after exitFalseTrueUE4 rewrites
bUseHDRDisplayOutputback toFalsewhenever HDR initialisation fails, so the last row is the engine's own verdict on each run.From the working run:
With HDR enabled in-game, the swapchain is created as
VK_FORMAT_R16G16B16A16_SFLOAT/VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT, and reverts toVK_FORMAT_A2B10G10R10_UNORM_PACK32/VK_COLOR_SPACE_SRGB_NONLINEAR_KHRwhen toggled off. That is scRGB HDR, which gamescope composites to HDR10 PQ, the game's own swapchain is neverHDR10_ST2084.The AMD path is attempted, but doesn't get there
The game links AGS statically (the executable references
agsInit/agsDeInitbut notamd_ags_x64.dll, in either ASCII or UTF-16, and ships no vendor DLLs of its own). It reaches the driver the way statically linked AGS does, by loadingatiadlxx.dllat runtime, and that attempt is visible in the log:c0000135isSTATUS_DLL_NOT_FOUND. The cause is that Proton's default prefix ships"atiadlxx"="disabled"in[Software\\Wine\\DllOverrides], so the load is refused beforefind_builtin_dllis reached. Proton re-enables it per-appid for one title (2767030).Re-enabling it for this game is not sufficient. With
WINEDLLOVERRIDES="atiadlxx=b"the DLL loads as builtin, and two milliseconds later, on the same thread, the log shows:That
fixmeappears in exactly the run whereatiadlxxloaded and in neither of the other two, so it looks like the adapter query made on ADL's behalf, though I haven't traced the call directly. HDR remained unavailable in that run: the swapchain stayedVK_COLOR_SPACE_SRGB_NONLINEAR_KHRthroughout andbUseHDRDisplayOutputreverted toFalseon exit.For what it's worth,
ADL2_Display_HDRState_GetandADL2_Display_HDRState_Setare both listed as@ stubindlls/atiadlxx/atiadlxx.spec, so even past the adapter query there is nothing behind the HDR entry points yet.Note on the trade-off
forcenvapialso setsWINE_HIDE_AMD_GPU=1, which reports the GPU as NVIDIA and therefore changes which vendor-specific branches UE4 takes. It is scoped per-appid so it can't affect other titles.I've played the game normally with this enabled on Proton Experimental with
PROTON_FORCE_NVAPI=1in the launch options, and haven't run into rendering or stability problems. I haven't specifically audited which vendor branches change, so I'm noting it rather than claiming it's free.Reproduction
PROTON_FORCE_NVAPI=1 %command%and relaunch.Related issues
steam-2552450_WITH-forcenvapi.log
steam-2552450_WITHOUT-forcenvapi.log