cdozdil / OptiScaler

OptiScaler is middleware that enables various upscaling technologies in DLSS2-only games. It allows non-Nvidia users to use upscaling by applying DLSS2 inputs to XeSS, FSR2, or FSR3.
MIT License
518 stars 10 forks source link

FFXIV crashes when trying to apply "fsr31 (native dx11)". #89

Open Spacellary opened 1 week ago

Spacellary commented 1 week ago

So far I have not been able to use fsr31 (native dx11) from the latest stable Optiscaler release or pre-releases.

FFXIV crashes when trying to apply only that option for FSR. I can use all the other FSR variations, just not that one.

Is that something you experienced by any chance, @MapleHinata? - Apologies for tagging you if that is inappropriate.

; -------------------------------------------------------

[Upscalers]

; -------------------------------------------------------
; Select upscaler for Dx11 games
; fsr22 (native dx11), fsr31 (native dx11), xess (with dx12), fsr21_12 (dx11 with dx12), fsr22_12 (dx11 with dx12), fsr31_12 (dx11 with dx12), dlss - Default (auto) is fsr22
Dx11Upscaler = fsr31

; Select upscaler for Dx12 games
; xess, fsr21, fsr22, fsr31, dlss - Default (auto) is xess
Dx12Upscaler = auto

; Select upscaler for Vulkan games
; fsr21, fsr22, fsr31, dlss - Default (auto) is fsr21
VulkanUpscaler = auto

; -------------------------------------------------------
[Dx11withDx12]

; -------------------------------------------------------
; Syncing meathods for Dx11 with Dx12
;
; Valid values are;
;   0 - No syncing (fastest, most prone to errors)
;   1 - Fence                                 
;   2 - Fences + Flush 
;   3 - Fences + Event
;   4 - Fences + Flush + Event
;   5 - Query Only

; Default (auto) is 1
TextureSyncMethod = 5

; Default (auto) is 5
CopyBackSyncMethod = 1

; Start output copy back sync after or before Dx12 execution
; true or false - Default (auto) is true
SyncAfterDx12 = auto

; Delay some operations during creation of D11wDx12 features to increase compatibility
; true or false - Default (auto) is false
UseDelayedInit = auto

; Prefer using D3D11_RESOURCE_MISC_SHARED, which is lower level
; and a bit more performant and possibly less compatible
; true or false - Default (auto) is false
DontUseNTShared = auto

; -------------------------------------------------------
[XeSS]

; -------------------------------------------------------
; Building pipeline for XeSS before init
; true or false - Default (auto) is true
BuildPipelines = auto

; Creating heap objects for XeSS before init
; true or false - Default (auto) is true
CreateHeaps = auto

;Select XeSS network model
; 0 = KPSS | 1 = Splat | 2 = Model 3 | 3 = Model 4 | 4 = Model 5 | 5 = Model 6
; Default (auto) is 0
NetworkModel = auto

; Path of libxess.dll
; Default (auto) is same folder as mod dll 
LibraryPath = auto

; -------------------------------------------------------
[FSR]

; -------------------------------------------------------
; 0.0 to 180.0 - Default (auto) is 60.0
VerticalFov = 60.000000

; If vertical fov is not defined will be used to calculate vertical fov
; 0.0 to 180.0 - Default (auto) is off
HorizontalFov = auto

; Sets camera near value for FSR and above
; 0.0 to max float value - Default (auto) is 0.0001
CameraNear = auto

; Sets camera far value for FSR and above
; 0.0 to max float value - Default (auto) is 0.9999
CameraFar = auto

; Enables debug view for FSR3.X upscaler
; true or false - Default (auto) is false
DebugView = false

; Selects upscaler backend for FSR3.X
; 0 = FSR 3.1.0 | 1 = FSR 2.3.2 
; 0 or 1 (for now) - Default (auto) is 0
UpscalerIndex = auto

; Sets velocity factor for FSR3.1.1 and above
; 0.0 to 1.0 - Default (auto) is 1.0
VelocityFactor = auto

; Use raw DLSS reactive mask as transparency mask
; true or false - Default (auto) is true
UseReactiveMaskForTransparency = auto

; Bias to apply DLSS reactive mask when using with FSR
; Higher the value, more bias on new frame
; 0.0 - 0.9 - Default (auto) is 0.45
DlssReactiveMaskBias = auto

; -------------------------------------------------------
[DLSS]

; -------------------------------------------------------
; Enables calls to original NVNGX
; true or false - Default (auto) is true
Enabled = true

; Path of nvngx.dll / _nvngx.dll
; Default (auto) is path defined in registry
LibraryPath = auto

; Path of nvngx_dlss.dll
; Default (auto) is means override disabled
NVNGX_DLSS_Path = auto

; Set this to true to enable custom render preset overrides
; true or false - Default (auto) is false
RenderPresetOverride = auto

; Render presets for quality settings
; 0 = Default | 1 = A | 2 = B | 3 = C | 4 = D | 5 = E | 6 = F | 7 = G
; Default (auto) is 0
RenderPresetDLAA = auto
RenderPresetUltraQuality = auto
RenderPresetQuality = auto
RenderPresetBalanced = auto
RenderPresetPerformance = auto
RenderPresetUltraPerformance = auto
NVNGX_DLSS_Library = auto

; -------------------------------------------------------
[Menu]

; -------------------------------------------------------
; Enables new overlay ImGui menus
; true or false - Default (auto) is when OptiScaler is nvngx.dll false otherwise true
OverlayMenu = true

; In-game ImGui menu scale
; 1.0 to 2.0 - Default (auto) is 1.0
Scale = auto

; Shortcut key for opening menu
; Integer value - Default (auto) is 45 -> VK_INSERT (0x2D), previous default key VK_HOME is 36 (0x24) 
ShortcutKey = auto

; For all keycode values you can check this address
; https://learn.microsoft.com/en-us/windows/win32/inputdev/virtual-key-codes

; Enables advanced settings 
; true or false - Default (auto) is false
AdvancedSettings = true

; Extends scaling ratio limits to 0.1 - 6.0
; true or false - Default (auto) is false
ExtendedLimits = false

; -------------------------------------------------------
[Hooks]

; -------------------------------------------------------
; Skip hooking of local nvngx files and only hook nvngx at registry
; Needed for Uniscaler + FG
; true or false - Default (auto) is false
HookOriginalNvngxOnly = auto

; -------------------------------------------------------
[Spoofing]

; -------------------------------------------------------
; Enables Nvidia GPU spoofing for DXGI
; true or false - Default (auto) is true
Dxgi = false

; Skips DXGI GPU spoofing when caller method in the list (example: slInit|slGetPluginFunction|nvapi_QueryInterface)
; Be careful this will disable spoofing for rest of the calls also does not work on Linux
; true or false - Default (auto) is disabled
DxgiBlacklist = auto

; Spoof amount of VRAM for DXGI
; Spoofed amount in GBs - Default (auto) is disabled
DxgiVRAM = auto

; Enables Nvidia GPU spoofing for Vulkan
; true or false - Default (auto) is false
Vulkan = false

; Enables Nvidia extension spoofing for Vulkan
; true or false - Default (auto) is false
VulkanExtensionSpoofing = false

; Spoofed GPU name
; Default (auto) is NVIDIA GeForce RTX 4090
SpoofedGPUName = auto

; -------------------------------------------------------
[Plugins]

; -------------------------------------------------------
; Path that will be searched for same filename plugins (dxgi.dll, winmm.dll, etc.)
; Default is .\plugins 
Path = c:\program files (x86)\steam\steamapps\common\final fantasy xiv online\game\plugins

; Loads SpecialK64.dll from game's exe folder
; Please put a SpecialK.dxgi file next to SpecialK64.dll
; to set SpecialK's working mode otherwise it will not be activated
; true or false - Default (auto) is false
LoadSpecialK = auto

; -------------------------------------------------------
[NvApi]

; -------------------------------------------------------
; Override loading of nvapi64.dll 
; true or false - Default (auto) is false
OverrideNvapiDll = auto

; If nvapi override enabled and file path defined here
; will try to load it from here, otherwise will check current folder for nvapi64.dll
; true or false - Default (auto) local folder
NvapiDllPath = auto

; -------------------------------------------------------
[Sharpness]

; -------------------------------------------------------
; Override DLSS sharpness paramater with fixed shapness value
; true or false - Default (auto) is false
OverrideSharpness = false

; Strength of sharpening, 
; value range between 0.0 and 1.0 (while using upper limit is RCAS 1.3) - Default (auto) is 0.3
Sharpness = 0.300000

; -------------------------------------------------------
[OutputScaling]

; -------------------------------------------------------
; Enable output scaling option for Dx12 and Dx11 with Dx12 backends
; true or false - Default (auto) is false
Enabled = true

; Output scaling ratio 
; 0.5 - 3.0 - Default (auto) is 1.5
Multiplier = 1.160000

; Enable FSR for upscaling & downscaling, otherwise bicubic will be used
; true or false - Default (auto) is true
UseFsr = true

; -------------------------------------------------------
[CAS]

; -------------------------------------------------------
; Enables RCAS sharpening 
; true or false - Default (auto) is false
Enabled = false

; Enable motion sharpness
; true or false - Default (auto) is false
MotionSharpnessEnabled = auto

; Sharpening will be added or removed according to motion length
; value range between -1.0 and 1.0 - Default (auto) is 0.8
MotionSharpness = 0.400000

; How much a pixel should move before motion sharpness applied
; 0.0 - 100.0 - Default (auto) is 0.0
MotionThreshold = 0.000000

; How much a pixel should move to reach maximum MotionSharpness value 
; Values between MotionThreshold and this value will use be used to scale sharpness value
; 0.0 - 100.0 - Default (auto) is 10.0
MotionScaleLimit = 10.000000

; Enable debug highlighting for motion sharpening
; Reddish hue for added greenish for reduced sharpness
; true or false - Default (auto) is false
MotionSharpnessDebug = auto

; -------------------------------------------------------
[Log]

; -------------------------------------------------------
; Log file, if undefined OptiScaler.log file in current folder
; Default (auto) is OptiScaler.log in same folder
LogFile = C:\Program Files (x86)\Steam\steamapps\common\FINAL FANTASY XIV Online\game\OptiScaler.log

; Verbosity level of file logs
; 0 = Trace / 1 = Debug / 2 = Info / 3 = Warning / 4 = Error
; Default (auto) is 2 = Info
LogLevel = auto

; Log to console (Log level is always 2 (Info) for performance reasons) 
; true or false - Default (auto) is false
LogToConsole = auto

; Log to file 
; true or false - Default (auto) is false
LogToFile = auto

; Log to NVNGX API
; true or false - Default (auto) is false
LogToNGX = auto

; Open console window for logs
; true or false - Default (auto) is false
OpenConsole = auto

; When set to false creates a new log file for every OptiScaler session
; true or false - Default (auto) is true
SingleFile = auto

; -------------------------------------------------------
[InitFlags]

; -------------------------------------------------------
; Force add ENABLE_AUTOEXPOSURE to init flags
; Some Unreal Engine games needs this, fixes colors specially in dark areas
; true or false - Default (auto) is  DLSS value
AutoExposure = true

; Force add HDR_INPUT_COLOR to init flags
; true or false - Default (auto) is  DLSS value
HDR = false

; Force add INVERTED_DEPTH to init flags
; true or false - Default (auto) is DLSS value
DepthInverted = true

; Force add JITTERED_MV flag to init flags
; true or false - Default (auto) is  DLSS value
JitterCancellation = false

; Force add HIGH_RES_MV flag to init flags
; true or false - Default (auto) is  DLSS value
DisplayResolution = false

; Force remove RESPONSIVE_PIXEL_MASK from init flags
; true or false - Default (auto) is true
DisableReactiveMask = true

; -------------------------------------------------------
[UpscaleRatio]

; -------------------------------------------------------
; Set this to true to enable the internal resolution override 
; true or false - Default (auto) is false
UpscaleRatioOverrideEnabled = true

; Set the forced upscale ratio value
; Default (auto) is 1.3
UpscaleRatioOverrideValue = 1.000000

; -------------------------------------------------------
[QualityOverrides]

; -------------------------------------------------------
; Set this to true to enable custom quality mode overrides
; true or false - Default (auto) is false
QualityRatioOverrideEnabled = auto

; Set custom upscaling ratio for each quality mode
;
; Default (auto) values:
; DLAA                  : 1.0
; Ultra Quality         : 1.3
; Quality               : 1.5
; Balanced              : 1.7
; Performance           : 2.0
; Ultra Performance     : 3.0
QualityRatioDLAA = auto
QualityRatioUltraQuality = auto
QualityRatioQuality = auto
QualityRatioBalanced = auto
QualityRatioPerformance = auto
QualityRatioUltraPerformance = auto

; -------------------------------------------------------
[DRS]

; -------------------------------------------------------
; Set this to true to enable limiting DRS min resolution to rendering resolution
; true or false - Default (auto) is false
DrsMinOverrideEnabled = auto

; Set this to true to enable limiting DRS max resolution to rendering resolution
; true or false - Default (auto) is false
DrsMaxOverrideEnabled = auto

; -------------------------------------------------------
[Hotfix]

; -------------------------------------------------------
; Override mipmap lod bias for textures
; -15.0 - 15.0 - Default (auto) is disabled
MipmapBiasOverride = auto

; Override max anisotropy for textures
; 2, 4, 8, 16 - Default (auto) is disabled
AnisotropyOverride = auto

; Rounds internal resolutions width and height to multiple of this value
; 2, 4, 8, 16 ...  - Default (auto) is disabled
RoundInternalResolution = auto

; Skips upscaling of n frames
; n is integer number  - Default (auto) is disabled
SkipFirstFrames = auto

; Restore last used compute signature after upscaling
; true or false - Default (auto) is false
RestoreComputeSignature = auto

; Restore last used graphics signature after upscaling
; true or false - Default (auto) is false
RestoreGraphicSignature = auto

; Use precompiled shaders for RCAS, Output Scaling ans Mask Bias
; true or false - Default (auto) is true
UsePrecompiledShaders = auto

; Color texture resource state to fix for rainbow colors on AMD cards (for mostly UE games) 
; For UE engine games on AMD, set it to D3D12_RESOURCE_STATE_RENDER_TARGET (4)
; Default (auto) is state correction disabled
ColorResourceBarrier = auto

; Default (auto) is state correction disabled
MotionVectorResourceBarrier = auto

; Default (auto) is state correction disabled
DepthResourceBarrier = auto

; Default (auto) is state correction disabled
ColorMaskResourceBarrier = auto

; Default (auto) is state correction disabled
ExposureResourceBarrier = auto

; Default (auto) is state correction disabled
OutputResourceBarrier = auto
sagaopc commented 1 week ago

Don't try this mod with online games! risk of ban!

Spacellary commented 1 week ago

@sagaopc I'm aware and taking the necessary precautions for this game.

cdozdil commented 1 week ago

Hi, which version of the mod you are using? Have you tried with latest 0.6.8-pre?

Spacellary commented 1 week ago

v0.6.7 stable and v0.6.8-pre4 pre-release

I thought it could have been part of the fix in the notes but unfortunately had no success.

DirectX 11 FSR 3.1.1 backend crash issue with old VC Runtime versions. (thanks to MapleHinata) #70 #71

MapleHinata commented 6 days ago

Hi, send an OptiScaler.log (You may need to enable logging by setting LogToFile=true) But I added the FSR 3.1.1 backend with FFXIV in mind, and it does work on my end on a Steam Deck and on a desktop with a NVIDIA GPU, and other people got it working on AMD GPUs, so it should be working....

image

Spacellary commented 6 days ago

Okay, I'll report back later.

I'm running an NVIDIA GTX 1070 Ti for reference, I do also run ReShade alongside so I'll look into that, just has not been an issue until now.

sagaopc commented 5 days ago

Hi, which version of the mod you are using? Have you tried with latest 0.6.8-pre?

I'm tried the build 134 and v0.7.0 pre23

MapleHinata commented 5 days ago

Okay, I'll report back later.

I'm running a an NVIDIA GTX 1070 Ti for reference, I do also run ReShade alongside so I'll look into that, just has not been an issue until now.

I also run ReShade alongside it, with ReShade as dxgi.dll and OptiScaler as winmm.dll, though i can't guarantee compatibility with every ReShade addon (but i do know that RenoDX (https://github.com/clshortfuse/renodx) works, because i use the renodx-ffxiv addon with OptiScaler just fine.)

Nonetheless, without logs, I'm blind here, so please do send it whenever you can.

Spacellary commented 4 days ago

LOGS

OptiScaler v0.6.7-final Switching Ingame from FSR3.1 DX12 to FSR3 DX11: https://gist.github.com/Spacellary/66d89fa77bf08e25122ef5907570f55a

Starting the game with FSR3 DX11 set in nvngx.ini: https://gist.github.com/Spacellary/1a6b69a583a9026645c8447772d3e530


6.8 pre test

[18:51:45.071226] [W] OptiScaler v0.6.8-pre4 loaded
[18:51:45.071280] [W] ---------------------------------
[18:51:45.071292] [W] OptiScaler is freely downloadable from
[18:51:45.071299] [W] GitHub : https://github.com/cdozdil/OptiScaler/releases
[18:51:45.071305] [W] Nexus  : https://www.nexusmods.com/site/mods/986
[18:51:45.071312] [W] If you paid for these files, you've been scammed!
[18:51:45.071318] [W] DO NOT USE IN MULTIPLAYER GAMES
[18:51:45.071324] [W] 
[18:51:45.071334] [W] LogLevel: 1
[18:51:45.071348] [W] IsRunningOnWine Wine not detected
[18:51:45.071354] [I] 
[18:51:45.072210] [I] NVNGXProxy::InitNVNGX trying to load dlss-enabler-ngx.dll
[18:51:45.072223] [I] Util::NvngxPath trying to load nvngx from registry path!
[18:51:45.072268] [I] Util::NvngxPath nvngx registry path: C:\Windows\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_ab3196e1830c9b6c
[18:51:45.072280] [I] NVNGXProxy::InitNVNGX trying to load _nvngx.dll path: C:\Windows\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_ab3196e1830c9b6c\_nvngx.dll
[18:51:45.076686] [I] NVNGXProxy::InitNVNGX _nvngx.dll loaded from C:\Windows\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_ab3196e1830c9b6c\_nvngx.dll, ptr: 7FF9743F0000
[18:51:45.076710] [D] HookNvApi Trying to hook NvApi
[18:51:45.077987] [D] HookNvApi OriginalNvAPI_QueryInterface = 7FF9742A22F0
[18:51:45.078002] [I] HookNvApi NvAPI_QueryInterface found, hooking!
[18:51:45.078084] [D] HookNgxApi Trying to hook NgxApi
[18:51:45.078107] [I] HookNgxApi NVSDK_NGX_XXXXXX_GetFeatureRequirements found, hooking!
[18:51:45.078168] [I] NVNGXProxy::InitNVNGX getting nvngx method addresses
[18:51:45.078312] [I] nvngx.dll loaded, setting DLSS as default upscaler and disabling spoofing options set to auto
[18:51:45.078325] [I] XeSSProxy::InitXeSS Trying to load libxess.dll with Detours

image


Update:

I tried again but didn't add libxess.dll and got it to start, with 6.8 pre-4, FSR 3 DX11 native then it works now: https://gist.github.com/Spacellary/32723785b83bc6eff11e0ce8c10ad943

MapleHinata commented 4 days ago

I'm happy that you got it to work, I believe the reason why it was crashing with libxess, and the reason v0.6.7-final was crashing, is because your MSVC runtime is out of date, try updating it by downloading the latest one here: https://aka.ms/vs/17/release/vc_redist.x64.exe

Spacellary commented 4 days ago

Heya! Thanks for checking it.

I had previously installed all the VC-Redist suite via winget install, and generally I keep everything up-to-date with regular updates, but I installed again freshly as per your recommendation from the link provided to the installer and rebooted: image

I still get this issue when libxess.dll is present:

image

[20:08:42.621285] [W] OptiScaler v0.6.8-pre4 loaded
[20:08:42.621368] [W] ---------------------------------
[20:08:42.621380] [W] OptiScaler is freely downloadable from
[20:08:42.621387] [W] GitHub : https://github.com/cdozdil/OptiScaler/releases
[20:08:42.621394] [W] Nexus  : https://www.nexusmods.com/site/mods/986
[20:08:42.621400] [W] If you paid for these files, you've been scammed!
[20:08:42.621407] [W] DO NOT USE IN MULTIPLAYER GAMES
[20:08:42.621413] [W] 
[20:08:42.621421] [W] LogLevel: 1
[20:08:42.621435] [W] IsRunningOnWine Wine not detected
[20:08:42.621441] [I] 
[20:08:42.622201] [I] NVNGXProxy::InitNVNGX trying to load dlss-enabler-ngx.dll
[20:08:42.622216] [I] Util::NvngxPath trying to load nvngx from registry path!
[20:08:42.622265] [I] Util::NvngxPath nvngx registry path: C:\Windows\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_ab3196e1830c9b6c
[20:08:42.622278] [I] NVNGXProxy::InitNVNGX trying to load _nvngx.dll path: C:\Windows\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_ab3196e1830c9b6c\_nvngx.dll
[20:08:42.627580] [I] NVNGXProxy::InitNVNGX _nvngx.dll loaded from C:\Windows\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_ab3196e1830c9b6c\_nvngx.dll, ptr: 1D371AF0000
[20:08:42.627615] [D] HookNvApi Trying to hook NvApi
[20:08:42.629226] [D] HookNvApi OriginalNvAPI_QueryInterface = 7FF9DA2622F0
[20:08:42.629251] [I] HookNvApi NvAPI_QueryInterface found, hooking!
[20:08:42.629347] [D] HookNgxApi Trying to hook NgxApi
[20:08:42.629373] [I] HookNgxApi NVSDK_NGX_XXXXXX_GetFeatureRequirements found, hooking!
[20:08:42.629480] [I] NVNGXProxy::InitNVNGX getting nvngx method addresses
[20:08:42.629785] [I] nvngx.dll loaded, setting DLSS as default upscaler and disabling spoofing options set to auto
[20:08:42.629802] [I] XeSSProxy::InitXeSS Trying to load libxess.dll with Detours

Let me know if I can provide anything else that could be useful, I'll do everything I can to help troubleshooting.

MapleHinata commented 3 days ago

Huh, strange, @cdozdil was the one that worked on the xess integration, so I'm not familiar with why that is failing Edit: Question, what are the files you have on the folder containing the ffxiv_dx11.exe file? It's possible another mod was shipping an older version of the msvc runtime.

Spacellary commented 3 days ago

Files:

        Directory: C:\Program Files (x86)\Steam\steamapps\common\FINAL FANTASY XIV Online\game

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d----        27/10/2024     19:33                .unused
d----        26/06/2024     12:38                movie
d----        17/06/2024     18:56                reshade-shaders
d----        26/06/2024     11:39                sqpack
-a---        01/10/2024     13:36        6609624 amd_fidelityfx_dx12.dll
-a---        01/10/2024     18:14        9253376 amd_fidelityfx_vk.dll
-a---        31/05/2024     04:01         347216 bink2w32.dll
-a---        31/05/2024     04:01         436816 bink2w64.dll
-a---        01/07/2024     22:08         342016 dxgi.dll
-a---        03/08/2024     14:53        5123584 dxgi.o.dll
-a---        29/08/2024     22:03       47991056 ffxiv_dx11.exe
-a---        29/08/2024     22:03             20 ffxivgame.bck
-a---        29/08/2024     22:03             20 ffxivgame.ver
-a---        26/06/2024     11:40           1120 fileinfo.fiin
-a---        15/07/2024     12:32        2580480 item_sets.db
-a---        19/10/2024     18:40        6135808 mod_cache.db
-a---        26/06/2024     16:06        1310734 nvapi64.dll
-a---        26/06/2024     11:40       53689400 nvngx_dlss.dll
-a---        21/10/2024     11:01       21540864 nvngx.dll
-a---        26/10/2024     20:28          14715 nvngx.ini
-a---        26/10/2024     20:34           7358 ReShade.ini
-a---        26/10/2024     20:26          82599 ReShade.log
-a---        21/10/2024     11:01       21540864 version.dll
-a---        29/08/2024     22:03         114960 XInputXIV3.dll
-a---        29/08/2024     22:03         115472 XInputXIV9.dll
-a---        19/10/2024     18:40         134865 XivMods.json

Adding libxess.dll makes me unable to launch the game.

MapleHinata commented 2 days ago

What mods are the nvngx.dll,dxgi.dlland dxgi_o.dll files? There's quite a lot of dlls being injected in the game here and there's possibly a conflict between them. In particular, nvngx.dll seems to be a duplicate of OptiScaler, and while it doesn't seem to be loaded at the moment, it could potentially cause issues, and i advice deleting it. dxgi.dll seems to be the old d3d12-proxy, and this shouldn't be necessary these days, since OptiScaler handles spoofing on it's own, and you are on an Nvidia card anyway, so there's no need to spoof anything. And last, if i had to guess, dxgi_o.dll is ReShade? Try getting rid of nvngx.dll and dxgi.dll and see if it still crashes.

Spacellary commented 1 day ago

dxgi.o.dll is ReShade, yes.

I've removed nvngx.dll and dxgi.dll, it still crashes if libxess.dll is included.

 [15:21:00.181731] [W] OptiScaler v0.6.8-pre4 loaded
[15:21:00.181843] [W] ---------------------------------
[15:21:00.181861] [W] OptiScaler is freely downloadable from
[15:21:00.181871] [W] GitHub : https://github.com/cdozdil/OptiScaler/releases
[15:21:00.181878] [W] Nexus  : https://www.nexusmods.com/site/mods/986
[15:21:00.181885] [W] If you paid for these files, you've been scammed!
[15:21:00.181892] [W] DO NOT USE IN MULTIPLAYER GAMES
[15:21:00.181898] [W] 
[15:21:00.181905] [W] LogLevel: 1
[15:21:00.181925] [W] IsRunningOnWine Wine not detected
[15:21:00.181932] [I] 
[15:21:00.182866] [I] NVNGXProxy::InitNVNGX trying to load dlss-enabler-ngx.dll
[15:21:00.182884] [I] Util::NvngxPath trying to load nvngx from registry path!
[15:21:00.182942] [I] Util::NvngxPath nvngx registry path: C:\Windows\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_ab3196e1830c9b6c
[15:21:00.182954] [I] NVNGXProxy::InitNVNGX trying to load _nvngx.dll path: C:\Windows\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_ab3196e1830c9b6c\_nvngx.dll
[15:21:00.184363] [I] NVNGXProxy::InitNVNGX _nvngx.dll loaded from C:\Windows\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_ab3196e1830c9b6c\_nvngx.dll, ptr: 7FF914290000
[15:21:00.184384] [D] HookNvApi Trying to hook NvApi
[15:21:00.185174] [D] HookNvApi OriginalNvAPI_QueryInterface = 7FF9139622F0
[15:21:00.185190] [I] HookNvApi NvAPI_QueryInterface found, hooking!
[15:21:00.185276] [D] HookNgxApi Trying to hook NgxApi
[15:21:00.185298] [I] HookNgxApi NVSDK_NGX_XXXXXX_GetFeatureRequirements found, hooking!
[15:21:00.185360] [I] NVNGXProxy::InitNVNGX getting nvngx method addresses
[15:21:00.185503] [I] nvngx.dll loaded, setting DLSS as default upscaler and disabling spoofing options set to auto
[15:21:00.185515] [I] XeSSProxy::InitXeSS Trying to load libxess.dll with Detours

Works as expected without it.

I'm using the files from v0.6.8-pre4.

Right now I have:

WindowsTerminal_0FOtwNlv5S