Not sure if this is the right place for this kind of request but I develop an D3D11 ImGui based desktop application called the Special K Injection Frontend (https://special-k.info/) whose executable is named SKIF.exe
(source code: https://github.com/SpecialKO/SKIF).
Our users have reported two main issues related to G-Sync and GeForce Experience:
-
G-Sync/VRR is activated by the app for users with MPOs active.
-
The GeForce Experience in-game overlay notification appears when launching our app or switching to it.
These issues seems to be related to our use of D3D11 and DXGI flip swap effects, and the Nvidia display drivers mistaking the app for a game. Since our app also does conditional rendering (it pauses rendering entirely when no input is received), it can result in display flickering as G-Sync is constantly engaged and disengaged whenever the app renders or pauses.
We have partially worked around these issues through the combination of two methods:
-
Our installer, when run as admin, registers
SKIF.exe
through NVAPI and sets some flags so GeForce Experience does not assume it is a game nor does the display drivers engage VRR engage for the app (e.g.G-Sync Application State
set toForced Off
). -
Our app is also configured to use SyncInterval 2 by default as part of its
IDXGISwapChain::Present()
call, which also prevents VRR from engaging for the app, as a partial fix for those who do not run the installer as an administrator.
As I see it the only proper fix for these would be for Nvidia to add SKIF.exe
in the internal database of the display drivers and do not recognize it as a game nor engage VRR for it either, as we do when our installer is run as an admin.
Hopefully this is the proper forum to raise this. If not, please direct me to a more appropriate channel.