With UNCHARTED: Legacy of Thieves Collection out now and Steam Deck Verified, I've been able to see that it does work great! However, it requires some very small tweaks to get it working on a normal Linux desktop.
No doubt at some point Valve will get these fixes into the Proton compatibility layer directly, but until they've sorted it (which could be weeks / months) here's what to do. Thankfully on the official Proton bug tracker, users have been reporting the issues and coming up with solutions.
For AMD GPUs you need this Steam launch option set:
WINEDLLOVERRIDES="amd_ags_x64.dll=b" %command%
For NVIDIA GPUs you need this Steam launch option set:
PROTON_ENABLE_NVAPI=1 PROTON_HIDE_NVIDIA_GPU=0 %command%
If you don't know how to set a launch option: right click the game in your Steam Library, go to Properties and the General tab has the text box at the bottom:
That should be all you need to do, then the game should load properly on a normal Linux desktop / laptop. On the Steam Deck though, it's click and play. I've been thoroughly impressed with the Steam Deck experience overall, apart from an initial Deck-specific hiccup I experienced that needed a reboot. I seemed to catch a rare bug where Steam Input just stops working but all good after a reboot, so not a problem with the game but a random bug on the Steam Deck itself.
Here's some footage below on Medium (the default) and then later on High settings:
Direct Link
Looking to buy a copy? You can grab it from Humble Store and Steam.
Last edited by jens on 21 October 2022 at 9:57 pm UTC
Quoting: Liam DaweQuoting: DefaultX-odLooks like I just misread what you said 🤷♂️. Point is the same, this unhides NVIDIA API and allows it to run.Quoting: Liam DaweNo, it's unhiding it and allowing the special NVIDIA API to work. It's only for this game, you're not setting a launch option for the whole of Steam, that's not how launch options work.Um, PROTON_HIDE_NVIDIA_GPU=0 == PROTON_HIDE_NVIDIA_GPU=false, so by default it is PROTON_HIDE_NVIDIA_GPU=true, that's why we need to specify to not hide it in the first place. I know how Steam game launch options work, lol. I was wondering if Nvidia gpu is hidden for this specific game or is it default behavior, and turns out it is default behavior.
Anyway, CatKiller answered my question.
To clarify even more:
`PROTON_ENABLE_NVAPI=1` unhides NVAPI by copying the relevant dll's into the wine prefix and disables AMD spoofing for DXVK's dxgi.dll (which is used by D3D11 and D3D12, thus DXVK and VKD3D-Proton). Spoofing AMD is the default in DXVK, though recently Proton-Experimental sets `PROTON_ENABLE_NVAPI=1` automatically for selected titles for having DLSS out of the box.
`PROTON_HIDE_NVIDIA_GPU=0` disables AMD spoofing in Wine (that is Proton's Wine flavor). As far as I know, `PROTON_HIDE_NVIDIA_GPU` is not the default setting in Proton, but it is automatically applied to a few titles (e.g. RDR2), thus unsetting `PROTON_HIDE_NVIDIA_GPU` for DLSS is only needed for those selected titles. Chances are actually really good that setting `PROTON_ENABLE_NVAPI=1` is sufficient for Uncharted.
With hindsight it would have been nicer to combine both switches in Proton, but yeah, those are multiple projects with lots of people working on it at different times. NVAPI/DLSS was added to Proton only after the work-around for RDR2 by spoofing AMD for NV cards had been introduced (otherwise RDR2 would not have worked for NV owners when it became playable via Proton).
PS: There is work going on for making this easier: https://github.com/ValveSoftware/Proton/pull/6227
Last edited by jens on 21 October 2022 at 10:08 pm UTC
See more from me