Nukem9 / dlssg-to-fsr3

Adds AMD FSR 3 Frame Generation to games by replacing Nvidia DLSS-G Frame Generation (nvngx_dlssg).
GNU General Public License v3.0
4.35k stars 160 forks source link

GPU fake name should be injected with dll #132

Open jskake opened 11 months ago

jskake commented 11 months ago

So apparently we have list of games that also check your GPU name in adddtion. Dying Light 2, Portal RTX, Atomic Heart. Since no method is working we can assume that game also check your GPU name and it should be RTX 4000 to make FG option available. For example Dying Light 2 - if you don't have RTX 4000 GPU - you will not even see the option of FG in the menu, much less to activate it. Checked all current methods from other FG games - no dice here. My proposal is somehow substitute GPU name and inject it via dll to make the game thinks that we have an RTX 4000 GPU.

Igihara commented 11 months ago

Why?

Dravic commented 11 months ago

For Portal RTX it doesn't matter, it's a DXVK game. The mod doesn't work with Vulkan. The author of this mod already said implementing FSR3 for Vulkan or whatever is beyond the scope of this mod and his resources that he's willing to dedicate to the project.

https://github.com/Nukem9/dlssg-to-fsr3/issues/141#issuecomment-1863725054

Weather-OS commented 11 months ago

Besides, FSR 3 FG Doesn't even work on Vulkan yet.

Nooblet16 commented 11 months ago

It would certainly help in those games where the FG option isn't even visible unless there's a 4xxx series card..

FlowersPowerz commented 11 months ago

Try using this https://github.com/FakeMichau/nvapi-dummy

peter1599 commented 11 months ago

I dont think its just name check.. I compiled and tried that nvapi-dummy it didnt worked.

I think the way to go would be hooking the directx getdevicename and getadaptername. (Not fully sure)

peter1599 commented 11 months ago

This on will work:

Fakes card to RTX 4090.

https://github.com/cdozdil/d3d12-proxy

ORanGeOfficial commented 11 months ago

This on will work:

Fakes card to RTX 4090.

https://github.com/cdozdil/d3d12-proxy

Didn't work.. Benchmark shows 4090, but still no FG option

peter1599 commented 11 months ago

Ye I see.

The logs show RTX 4090

image

But: image

Still returns false.

Mitchh91 commented 11 months ago

Anybody tried modding GPU driver INF-file to spoof RTX 40 series card on driver level?

https://forums.guru3d.com/threads/nvidia-inf-driver-modding-guide.377158/

peter1599 commented 11 months ago

If anyone interested finding out how they check dlssg support:

rd3d12_x64_rwdi.dll is the right file.

image

I'm currently trying to find how its happening but I only know basic stuffs.

peter1599 commented 11 months ago

HMM... Progress:

Needs more testing.

image

ORanGeOfficial commented 11 months ago

HMM... Progress:

Needs more testing.

image

How??

peter1599 commented 11 months ago

Modifying dll but only option is unlocked its not yet turning on FG.

jskake commented 11 months ago

Modifying dll but only option is unlocked its not yet turning on FG.

Good progress anyway!

peter1599 commented 11 months ago

Got a tiny bit further but still frame gen not working.

Now even game logs say:

image

If anyone wants to help I would appreciate it 😃

LeaveNhA commented 8 months ago

Any development on this?

Weather-OS commented 8 months ago

Any development on this?

This is not something that should be considered with dlssg-to-fsr3 since basically no games check for your GPU's Name in order to verify if DLSSG is supported. You can read DLSSG Implementation guides here: https://github.com/NVIDIAGameWorks/Streamline/blob/main/docs/ProgrammingGuideDLSS_G.md

If you still persist on forging your GPU's name for an application, I recommend https://github.com/cdozdil/d3d12-proxy.