Two bits of major news to cover for the Steam Play Proton compatibility layer, with some exciting major changes coming in with updates. Don't know what Steam Play Proton is? Go take a look at our dedicated page.
Firstly, if you have an AMD GPU and you don't mind grabbing the latest development code for the Mesa graphics drivers - Cyberpunk 2077 should actually work on Linux with the new Proton 5.13-4 release. Valve developer Pierre-Loup Griffais mentioned that CD PROJEKT RED allowed them some early testing time to get the work done for both vkd3d (the Direct3D 12 to Vulkan layer) and radv (the AMD Mesa Vulkan driver). As an NVIDIA GPU owner, this makes me quite jealous as it seems my only other current choice on Linux is Stadia or GeForce NOW (unofficially - until later in 2021).
Additionally, there's now also a new Proton Experimental branch available which has the start of major architectural changes to Wine. This brings with it a plan to reduce CPU overhead and improve performance in scenarios related to input and windowing. Seems Proton Experimental is an additional version of Proton, so you would install it along side the other versions currently available for this compatibility tool.
You can find the Proton changelog here.
Need help and / or tech support? Be sure to check out our dedicated Forum.
Last edited by Shmerl on 13 December 2020 at 7:23 am UTC
Quoting: ikirutoI think if Nvidia herself takes on helping the developers of VKD3D, then anything is possible. But this is fantastic. :)
Nvidia had the opportunity to create a means to utilise the DLSS library that they include with their driver in their own open source game, and they explicitly refused to.
It's entirely within their means to be more helpful, but they don't want to; that's why lots of people have a low opinion of them.
Quoting: ikirutoQuoteStep by Step:https://videocardz.com/newz/cyberpunk-2077-gets-fps-boost-with-a-patch-for-amd-ryzen-cpus
()
There is also a video guide available here.
Or for lazy people like me, try these commands here below:
$ cp Cyberpunk2077.exe{,bak}
$ offset=$(xxd -u -p Cyberpunk2077.exe | tr -d '\n' | grep -ob 753033C9B8010000000FA28BC8C1F908 | cut -d: -f1); echo 743033C9B8010000000FA28BC8C1F908 | xxd -r -p -s $(($offset>>1)) - Cyberpunk2077.exe
Quoting: ShmerlI don't think Nvidia cares about that. They might fix their drivers in response to some Wine related bugs (that happened in the past), but I don't remember them ever contributing to Wine or related projects, let alone when it's related to their proprietary stuff.
Liam Middlebrook is an engineer from Nvidia, he regularly contributes to winevulkan, see e.g. https://www.winehq.org/pipermail/wine-devel/2020-November/thread.html and search for “Liam”.
Last edited by jens on 13 December 2020 at 12:26 pm UTC
Quoting: The_Aquabatinteresting thanks for the command, I wonder if this works with other games. taskset does not solve this problem?
taskset changes the process affinity to cores, and it works in some cases. But if the kernel finds out that a core (with lower affinity) is free and there is a scheduled thread, it will assign it to the free core.
In order to let CP2077 work properly with my CPU (a AMD Ryzen ThreadRipper), I had to force the shutdown of the cores far from the GPU bus in the hw topology.
I dealt with it very personally some time ago: https://www.gamingonlinux.com/forum/topic/3933/post_id=25255
Last edited by LordDaveTheKind on 13 December 2020 at 2:48 pm UTC
Quoting: CatKillerQuoting: ikirutoI think if Nvidia herself takes on helping the developers of VKD3D, then anything is possible. But this is fantastic. :)
Nvidia had the opportunity to create a means to utilise the DLSS library that they include with their driver in their own open source game, and they explicitly refused to.
It's entirely within their means to be more helpful, but they don't want to; that's why lots of people have a low opinion of them.
This approach was real 10 years ago. It has changed nowadays:
https://forums.developer.nvidia.com/t/dlss-support-on-linux/120552/14
Quoting: LordDaveTheKindThis approach was real 10 years ago. It has changed nowadaysNo. They've included the (proprietary) library with their (proprietary) driver, exactly as I said. What they haven't done, and aren't likely to, is help open source projects - like vkd3d or Q2RTX - make any use of that. I'd like it if it were different, but it isn't.
Quoting: CatKillerNvidia had the opportunity to create a means to utilise the DLSS library that they include with their driver in their own open source game, and they explicitly refused to.No problem. AMD FidelityFX CAS does not feel bad on Nvidia video cards. For example, in Cyberpunk it shows itself well. 80-100% to 60 fps. :)
It's entirely within their means to be more helpful, but they don't want to; that's why lots of people have a low opinion of them.
https://www.hardwareluxx.ru/index.php/artikel/software/spiele/49974-test-death-stranding-na-raznykh-videokartakh-s-dlss-2-0-i-fidelityfx-cas.html?start=1
Last edited by ikiruto on 13 December 2020 at 3:26 pm UTC
Signature of AVX bug is as follows:
Game crashes at and beyond these locations:
Take a seat for Corpo
Exit bar for Street Kid
After cutscene for arrival at city for Nomad
You can do this mod yourself trivially. Simply use a hex editor on the Cyberpunk2077.exe,
and replace "55 48 81 ec a0 00 00 00 0f 29 70 e8" with "c3 48 81 ec a0 00 00 00 0f 29 70 e8".
This simply turns the bad AVX call into a return.
DISCLAIMER: May be breaking things under the hood, but seems stable.
Probably solves the problem with hangs. I haven't been able to get any hangs yet. Checking.
Quoting: jensLiam Middlebrook is an engineer from Nvidia, he regularly contributes to winevulkan, see e.g. https://www.winehq.org/pipermail/wine-devel/2020-November/thread.html and search for “Liam”.
That looks good. Did he ever contribute anything that implements Nvidia's proprietary APIs there?
Last edited by Shmerl on 13 December 2020 at 5:43 pm UTC
Quoting: ShmerlWine developers (vkd3d-proton more exactly) said they won't bother with DLSS, so I don't expect that to happen.How can they do anything with DLSS? It's proprietary and locked down. Perhaps they may decide for AMD's alternative as that will be open and supposedly crossplatform.
Quoting: LinuxwarperHow can they do anything with DLSS? It's proprietary and locked down. Perhaps they may decide for AMD's alternative as that will be open and supposedly crossplatform.
Reverse engineering is one option, which Wine as a project is doing all the time, but in this case I'd consider it a waste of resources.
Quoting: ShmerlReverse engineering is one option, which Wine as a project is doing all the time, but in this case I'd consider it a waste of resources.Noveau doesn't seem to be in good state, even with developers trying, as Nvidia aren't being nice. So yes, It would be wasteful. It would be best if Valve and Co focused on AMD only so that development will be faster and easier because it's open source. Then Linux gamers can just decide to buy AMD GPU on their next upgrade.
Quoting: ShmerlIt is like the olden days of Amiga vs ST. Developers having to decide which platform to create software for, and which features to use based on that. Like do you make the game look the exact same on both, then be criticised that you didn't cater to the strengths of each platform?Quoting: LinuxwarperHow can they do anything with DLSS? It's proprietary and locked down. Perhaps they may decide for AMD's alternative as that will be open and supposedly crossplatform.
Reverse engineering is one option, which Wine as a project is doing all the time, but in this case I'd consider it a waste of resources.
Realistically the Wine devs should support both parties, but this is also why it is so important to have more competition, it helps level the playing field.
Last edited by Shmerl on 13 December 2020 at 7:07 pm UTC
Quoting: ShmerlThere is some sane limit you want to chase after. I.e. if they reverse engineer Windows itself - it's one target. If they also have to chase after proprietary APIs of GPU makers - that's a lot more moving targets to chase.Have you watched the HotHardware interview with Scott Herkelman and Frank Azor?
Quoting: LinuxwarperHave you watched the HotHardware interview with Scott Herkelman and Frank Azor?
Sounds good. That's the right way to do it. Good to see AMD are behind this idea. Nvidia will just keep making NIHs instead.
Quoting: ShmerlYeah, I am hoping when he says open and crossplatform, that he also is thinking of Linux as well and not just open and crossplatform in context of all the big actors. NIHs? Is that some short for proprietary tech or something? If so, yeah I don't think Nvidia will change their tune. They have tried to silence Hardware Unboxed with their latest crap.Quoting: LinuxwarperHave you watched the HotHardware interview with Scott Herkelman and Frank Azor?
Sounds good. That's the right way to do it. Good to see AMD are behind this idea. Nvidia will just keep making NIHs instead.
Upscaling will be nice. GPUs are to few and to expensive. I've hoped for a Pulse like you, but that one is nowhere to be seen. Reference cards seem to be ghosts.
Quoting: LinuxwarperNIHs? Is that some short for proprietary tech or something?
It means "not invented here". It usually refers to when the someone is making their proprietary tech that messes things up for everyone, instead of getting behind a standard that promotes collaboration for the industry.
I.e. DX12 is Microsoft's NIH, Metal is Apple's. Vulkan is the standard.
QuotePULSE_LATENCY_MSEC=60 gamemoderun %command% --launcher-skipThis turns the bad AVX call into a return and increase perfomance for AMD processors.
Settings in the screenshots. https://ibb.co/bJ0Z315 https://ibb.co/M75Ndt4 https://ibb.co/p3mMvqw
Cyberpunk 2077\bin\x64
1.Rename Cyberpunk2077.exe to Cyberpunk2077.exe.bak
2. Use a hex editor on the Cyberpunk2077.exe.
3. Replace "75 30 33 C9 B8 01 00 00 00 0F A2 8B C8 C1 F9 08" with "EB 30 33 C9 B8 01 00 00 00 0F A2 8B C8 C1 F9 08".
4. Replace "55 48 81 ec a0 00 00 00 0f 29 70 e8" with "c3 48 81 ec a0 00 00 00 0f 29 70 e8".
DISCLAIMER: May be breaking things under the hood, but seems stable.
Last edited by ikiruto on 14 December 2020 at 8:11 am UTC
See more from me