Skip to content
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

Windows release? #3

Open
donizettilorenzo opened this issue Jan 17, 2022 · 3 comments
Open

Windows release? #3

donizettilorenzo opened this issue Jan 17, 2022 · 3 comments

Comments

@donizettilorenzo
Copy link

Nothing for Windows? BTW thanks for your hard work!

@ishitatsuyuki
Copy link
Owner

There are several blockers for Windows support:

  • NVAPI, the primary integration method, is harder to hook on Windows. DXVK-NVAPI does not officially support Windows, so I assume there are compatibility issues with this.
  • A lot of Windows apps does not use Vulkan. You might be able to get away with this by using DXVK/forcing vkd3d-proton somehow (note that vkd3d-proton has no intention to support native Windows).

Therefore, Windows support is not on the plan. I will keep this issue open just for clarity.

In the future, I will try to work with game developers to get LFX directly integrated into their games. Windows will be supported for the direct integration.

@jp7677
Copy link
Contributor

jp7677 commented Jan 17, 2022

About DXVK-NAPI i.c.w. Windows, see jp7677/dxvk-nvapi#63

@Saancreed
Copy link

Side note, but just in case Windows hooking support is ever implemented in the future, having the Wine extension with the exact same name and exports as the layer will make using it much simpler for DXVK-NVAPI and similar integration methods: this way they won't have to be aware whether they are running in Wine or not and just always do

auto lfx = LoadLibraryA("latencyflex_layer.dll");
if (!lfx) { … }
auto lfx_WaitAndBeginFrame = GetProcAddress(lfx, "lfx_WaitAndBeginFrame");
…

which should work both in Wine using the extension and on Windows calling the Vulkan layer directly.

Same with Unity integration, a single [DllImport("latencyflex_layer")] private static extern int lfx_WaitAndBeginFrame(); would take care of Windows, Wine and native Linux.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants