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

How to chose between DX10 and DX9 now? #1448

Closed
Lalarian opened this issue Feb 15, 2020 · 8 comments
Closed

How to chose between DX10 and DX9 now? #1448

Lalarian opened this issue Feb 15, 2020 · 8 comments

Comments

@Lalarian
Copy link

Lalarian commented Feb 15, 2020

Hello!

As long as D9VK was a seperate project I had the choice to tell Lutros which libs it should start with. So I could chose which API to use for which game.
But now after D9VK has been integrated into DXVK I do not understand, how I could manually select which one I want to use for a game.
For example I am playing Guild Wars 2.
I normally played the game in DX11, because it looked a bit better.
But sometimes I played in DX9, because it was faster, depending on the situation.

Now I am using directory that contains DXVK 1.5.4, but the game still runs in D9VK only.
How would I switch to DX11?
Thank you! :)

@doitsujin
Copy link
Owner

Guild Wars 2 does not support D3D11.

For other games, select it in the game options if possible. Which DirectX version is used isn't decided by DXVK at all.

@Lalarian
Copy link
Author

Lalarian commented Feb 15, 2020 via email

@doitsujin
Copy link
Owner

doitsujin commented Feb 15, 2020

What exactly did you really do? You cannot run the game with DX11 because the game doesn't support it. It's a D3D9 game.

@Lalarian
Copy link
Author

Lalarian commented Feb 15, 2020

For using D9VK I once created a folder named "d9vk-2c081e03" (or whatever the current version of d9vk back then was named like) in "~/.local/share/lutris/runtime/dxvk" where I put the decompressed d9vk libraries from your build. In Lutris' options I activated "Enable DXVK" and set "DXVK version" to "d9vk-2c081e03" for making it use the D9VK libraries. I also enabled the HUD for showing the version and could verify that it was actually using the current d9vk.

And when I didn't need the faster fps but wanted the other optics I selected "DXVK Version" as "1.5.1" from the given defaults list for making it use the DXVK library instead. The game ran using both settings, but everytime I toggles between both there was a distinctive graphical difference.

@doitsujin
Copy link
Owner

You were using wined3d then, which is wine's default OpenGL backend.

@Lalarian
Copy link
Author

Lalarian commented Feb 15, 2020

Thank you, this explains how it would run without using D9VK.

It seems that I was using Lutris wrong then, didn't I? I would expect Wine to have loaded the dxvk libraries and output an error instead, if a game this game couldn't run with dxvk selected. Why did it not do this and run it using wined3d instead?
Could you please shortly explain this behaviour for my understanding?
Is there an automatic fallback to wined3d if the selected API is not compatible?

@w-flo
Copy link
Contributor

w-flo commented Feb 15, 2020

Basically, when you set lutris / proton to enable dxvk, they just make sure that DirectX9-DirectX11 is available for games to use in the version provided by dxvk instead of the default wine implementation. So dxvk replaces the default wined3d implementation if you enable that option. It is entirely up to the game whether or not the game uses any of those APIs. You could probably launch the windows calculator through Lutris and enable dxvk, but the calculator simply won't use any DirectX version at all (I guess). So libraries are only loaded on demand.

When you set Lutris to enable DirectX11 only, then all the other DirectX versions still use the default wined3d implementation, because they were not replaced to use dxvk. So in that case, DirectX9 games simply use wined3d.

@Lalarian
Copy link
Author

Thank you very much!
I learned a bit more :)

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

3 participants