-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
dlssg-to-fsr3 mod with Proton #7361
Comments
A RTX graphics card is required. From what I've read one needs to place both .dll files into the folder with the game's executable (make a backup of the original dbghelp.dll). In game one needs to disable V-Sync. Another comment here recommends to enable Hardware-Accelerated GPU Scheduling (in Windows). I don't know whether that is possible in Linux. Edit: They have since changed the installation instructions and the file names. Here are the instructions at the time of writing: dlssg-to-fsr3 may be obtained from: https://github.com/Nukem9/dlssg-to-fsr3 ================================
|
Wine currently does not support the APIs Streamline uses to check if Hardware Accelerated GPU Scheduling is enabled. I have a hack for this here which should apply to Wine 9.0-rc2 and some flavors of it. Warning though, some assembly is required; you will need to compile your own Wine to use this (don't forget to run |
Maybe it is time to learn how to build packages and include patches then. |
Thanks, it works. But I actually had to patch gpu detection to get dlss to work. |
Could u say how to do it step by step :3 ? |
Well I gonna try both patches on my machine and report back. |
Don't forget to also apply the second patch from my gist, the |
Well after adding the missing path and editing the ebuild to add |
@Saancreed it work but create graphical corruption: Edit: Turnning off dlss frame generation the bug disappear. Pausing the game or staying still the color return to normal: I gonna try removing some env to see if solves it: Ok didnt solve. Can be a bug with wine since is a rc version |
This is the same result people got on Windows on GTX cards when using my nvapi-dummy (based on dxvk-nvapi) to spoof the GPU arch. |
@MrDuartePT Would you mind sharing your dxvk-nvapi log? |
Well I only could generate the VKD3D logs lets see if this helps: And I using a RTX 3070 Mobile (laptop) is very strange this is happening |
Why is an Nvidia GPU required, when FSR is explicitly designed by AMD to be largely hardware agnostic? |
Because it uses DLSS, which is Nvidia only. It only uses the Frame gen component from FSR3. |
Even if you can spoof wine to think you have a Nvidia card it probably will not work very well since DLSS use Tensor Cores. AMD card could use the computer core but I think it will be very slow. |
I'm unable to reproduce this issue. I can notice ghosting in Cyberpunk 2077 with the mod installed (or maybe it's more like frames being presented out of order sometimes?) but colors seem to be fine. Here's a quick comparison, FG disabled vs FG enabled: No such issue in Path Tracing SDK sample either. I don't really have too many FG games outside Steam I could test this with and I'd rather avoid angering online games like Diablo IV by loading unsigned binaries that install detours in other code segments, sorry 😅 There might be a bug somewhere else in the stack that I somehow avoid on my own builds/hardware. But it's highly unlikely that my HAGS patch caused it. |
Probably my problem was that I use the latest commit of wine instead of the tagged 9.0-rc2 version. I gonna recompile wine and report back. |
ValveSoftware/Proton#7361 Signed-off-by: Gonçalo Duarte <[email protected]>
ValveSoftware/Proton#7361 Signed-off-by: Gonçalo Duarte <[email protected]>
Lol nice catch github :) |
It happening again even with the tagged 9.0-rc2 wine version: I gonna try reinstall the mod again |
If anything, it's the version of vkd3d-proton used here that has the greatest chance of affecting this and not Wine. And for that I'm using 2.11.1 patched with Nvidia Reflex support (PR 1739 but rebased to latest vkd3d-proton and Vulkan-Headers), my own patches adding support for Opacity Micromaps and pull request 1806 (because I've heard it needs some testing). But this is strange enough that I feel like someone would need to point NSight/Renderdoc at this thing to figure it out. |
I can try that version of vkd3d-proton and see if solve it. You would mind sharing your patches and the NVIDIA reflex rebase one. edit: After testing vkd3d-proton withouth patches the problem remains. |
By the way one off my friend on gentoo also confirm it happen on The Witcher 3. Using the patched wine-staging 9.0-rc2. |
@Saancreed try the SDK and unfortunately need Nvidia Reflex to enable DLSS-G i will try to rebase the patches later |
I can do that in a few hours from now, plus I'll attach the exact config I'm using to build my Wine (using wine-tkg-git). |
Okay, so starting with Wine, I'm building wine-tkg-git using a config like this: wine-tkg.conf_NOCCACHE="true" #_GCC_FLAGS+=" -march=x86-64-v3" _user_deps+=" libgcrypt lib32-libgcrypt" Of all these, probably the only only relevant settings are using the Staging (default) and Protonify patches. Then, using the userpatches system I'm reverting Wine commit Since this project targets Arch users, you might have a hard time using it on Gentoo. Either try included For the remaining projects, my versions of patches are here. Moving on to dxvk-nvapi, I'm applying PR 147 as is then my OMM patches Then, when building vkd3d-proton, checkout tag 2.11.1, forcufully update Vulkan-Headers submodule at Finally, there is Oh, and make sure you don't have LatencyFleX available because it has higher priority but it doesn't fully implement all APIs Reflex requires. At worst, use With all this (and Nvidia's |
ValveSoftware/Proton#7361 Signed-off-by: Gonçalo Duarte <[email protected]>
Did you also disable Reflex? |
According to understand when you set VKD3D_DISABLE_EXTENSIONS=VK_NV_low_latency2, the reflex is disable, sure some developer here could explain it us. My game dont detect reflex when use it. |
I guess it makes sense then. Unfortunately, the implementation with nvofapi is still stutter-ish, and I think it's mostly because of the reflex implementation. |
I'm no developer but i think DLSS-FG depends on VK_NV_low_latency2. In general, I experience stutter with DLSS-FG in other games to. |
Game tested with NVIDIA DLSS FG [12/12/24]
|
So now, how do I really enable the frame gen? Does this method #7361 (comment) still work? I am using lutris. |
You can also use proton experimental/9.0 on lutris and it should just work. Also Proton-GE or wine-tkg provided by lutris, (you can download wine version on settings) should also work, no need to manually build it from source the support was merge in master. |
Thanks for responding quickly. I do have one question and that is do i need to use the universal download of the mod or is it fine to use the normal version? |
Any version of the mod should work. Don’t forget to apply the reg file in the prefix |
Any DLL overrides required? |
I don’t think it needed for what I remeber you can add it anyway is just one line |
Alright, thanks for the response. I am testing it rn. |
Dont forget this envs: |
Can you please explain why I need these? Thanks! Also the framerate is really bad compared to windows. Stutters like crazy. I am using a RTX 3050 |
All you need to do to use DLSSFG to FSR3 is use the DLSS Tweaks version, then use DLSS Tweaks by renaming it to winmm.dll, then simply override it ( Please note that you need to provide the full path to the wrapper DLL in Windows format, in my case it would be |
Ok, thanks for that. Will that improve my performance and fix the stuttering issue? |
I've never had any stuttering except with nvofapi (it's pretty much fixed now). If you're using a userspace priority kernel such as linux-zen that might be the reason why you're stuttering. Also make sure your split lock mitigations are completely disabled. Other than that, I've never owned a 3050 so I can't help very much with it. |
As I mentioned above, it works fine on windows but I would rather prefer using Linux instead of using windows just for cyberpunk. And yes I am using the linux-zen kernel. Not sure how that affects the performance but I will try to use the standard Linux kernel. I will look into it soon. Thanks. |
What GPU are you using and how much fps are you getting BTW? Still need to install the standard Linux kernel. I also installed the DLSS tweaks as you mentioned and I am able to enable the DLSS FG but again the stuttering is horrible. |
I'm on a RTX 4070 SUPER in 1080p, ultra settings without ray tracing, getting 220-ish fps, no stutters. edit: I mistyped my gpu name cause my old PC had a 2070 lol. |
Hmm. Is it really required to download the Linux kernel instead of the Zen kernel? In empty spaces I get like 90+ fps no stutters but a few people and then it stutters like hell. |
@SheMelody And where do the config file go? I assume doing this also disables the "proton" framegen implementation? I mean, how can one know what's being used? |
The config file for DLSS Tweaks goes in the same directory where the main executable of the game is located (NOT where game launchers are located, if any). DLSS Tweaks's ReadMe file explains how to use it pretty much, where to put it and how hook it, but I highly suggest using the winmm method since it seems to always work for me. You do not need the signature thingy on Linux so you can skip that part. You need the dlssg to fsr3 (DLSSTweaks version) one of course, extract in the same exact location and point to the wrapper in DLSS Tweaks's config file using the absolute path in Windows path syntax (see above). You need to override the dlssg library. You know which one is working because dlss to fsr3 generates a log file in the same folder. |
FYI, this workaround pretty much fixed the stuttering in CP2077 with the current Nvidia DLSS-FG implementation. |
So the DLSS Tweaks Mod that @SheMelody mentioned pretty much fixes the stuttering issue with the new change in vkd3d? |
@that404nerd sorry for being vague, it's the PR from doitsujin in the issue i mentioned that fixed the stuttering... |
Thanks for the clarification! Also will the new DLSS 4 transformer model work on Linux? |
It will probably end up working properly later on too without using hacks. |
@that404nerd That merge basically just fixes the nvofapi one (native dlss framegen on Linux). DLSSFG to FSR3 mod shouldn't stutter in any case. I'm guessing that, in your case, the mod is somehow not loading (maybe) or there are some other factors at play. |
Thanks for the info and about the frame gen mod, I'll test it this weekend to see if I can fix it myself or is there some problem with the dll's. Again, thanks for helping me out. |
Feature Request
I confirm:
contain this feature already.
Description
Is it possible to use this mod with Proton? It replaces Nvidia Frame Generation with FSR3 in games like Cyberpunk 2077, The Witcher 3 and others.
https://github.com/Nukem9/dlssg-to-fsr3/releases
Justification [optional]
Risks [optional]
References [optional]
The text was updated successfully, but these errors were encountered: