jp7677 / dxvk-nvapi

Alternative NVAPI implementation on top of DXVK.
MIT License
353 stars 32 forks source link

vk_streamline: Vulkan reflex support (frame limiter) fails to work #166

Open oscarbg opened 4 months ago

oscarbg commented 4 months ago

opened an issue, as I asked on discord.. I'm running vk_streamline NV Pro sample: https://github.com/nvpro-samples/vk_streamline

it's interesting sample, because is a simple example using Reflex Vulkan, DLSS Vulkan and DLSS-G Vulkan.. Reflex Vulkan seems uses NvLowLatencyVk.dll which has this entrypoints:

NvLL_VK_DestroyLowLatencyDevice
NvLL_VK_GetLatency
NvLL_VK_GetSleepStatus
NvLL_VK_InitLowLatencyDevice
NvLL_VK_Initialize
NvLL_VK_NotifyOutOfBandQueue
NvLL_VK_SetLatencyMarker
NvLL_VK_SetSleepMode
NvLL_VK_Sleep
NvLL_VK_Unload

really, all I see is a nvapi_QueryInterface string but no nvapi64.dll reference in the DLL..

I attach sample binary in case you trust me to do your simple experiments:

https://drive.google.com/file/d/13IrihRqwYVVNPGjf3wU-wIKHGqNSFwp_/view?usp=sharing

tested on Ubuntu 23.10.. but when I compiled I tested initially on Ubu 23.04 I believe and worked also..

note I use:

export WINEHAGS=0
export DXVK_ENABLE_NVAPI=1

if on a hags enabled Wine build, as using WINEHAGS=1 crashes due to dlss-g issues..

using latest dxvk-nvapi (reflex enabled) and a enabled reflex (ll2 driver) I see following errors:

[07.03.2024 19-52-30][streamline][warn]vulkan.cpp:867[init] Low latency API for VK failed to initialize device -3
[07.03.2024 19-52-31][streamline][error]vulkan.cpp:3069[setSleepMode] NvLL_VK_SetSleepMode(m_device, &params) failed - error 4294967293
[07.03.2024 19-52-31][streamline][error]reflexentry.cpp:321[slSetData] ctx.compute->setSleepMode(ctx.constants) failed
[07.03.2024 19-52-31][streamline][error]vulkan.cpp:3115[sleep] NvLL_VK_Sleep(m_device, reflexSemaphoreValue) failed - error 4294967293
[07.03.2024 19-52-35][streamline][warn]reflexentry.cpp:275[slSetData] Low-latency modes are only supported on NVIDIA hardware through Reflex, collecting latency stats only
oscarbg commented 4 months ago

adding esullivan-nvidia @esullivan-nvidia to the loop to see if he can help finding issues in Reflex Vulkan support (via using NvLowLatencyVk.dll)..