There's a project https://github.com/disks86/VK9 provides D3D9 compatibility layer using Vulkan, it seems to be similar to DXVK, will this project include it?
No because it's not even alpha software.
Maybe get back in a year or so.
https://github.com/disks86/VK9/wiki/Roadmap
VK9 is only just past half way through its development. It could be sped along quite a bit if valve helps the chap out.
valve could merge VK9 with DXVK and help development
Having DX9-12 all in one neat package would make things easier going forward, maybe sometime in the future we will see it happen.
There's gallium nine, that sadly still isn't in upstream wine.
https://www.patreon.com/disks86 VK9 guy patreon
According to the VK9 roadmap, full release is expected on 10-2019. It might make more sense to have Doitujin make the DX9 version, since the only feature still missing from DXVK is predication.
I just don't have any faith in VK9 meeting that goal from how long development has been taking.
Nothing is stopping Doitujin from contributing.
Some other possibilities: D9VK and gallium-nine to zink in Mesa (both are not drop-in ready as of this writing).
Hello from d9vk land o/
Chugging along with spirv stuff on that at the moment. Fairly early development, but hopefully will get places soon! 😄
Do you have any idea on when it may be usable for some games? e.g. 3 months? 4 months?
Do you have any idea on when it may be usable for some games? e.g. 3 months? 4 months?
Should have some basic stuff running hopefully by the end of March, if not early April.
Do you have any idea on when it may be usable for some games? e.g. 3 months? 4 months?
Should have some basic stuff running hopefully by the end of March, if not early April.
I was going to make a new thread asking for D9VK support for Proton, glad this is already here.
Now, for clarification: I've been playing different Proton/SteamPlay titles for the past few months, and the ones I'm going to highlight here are: Helldivers and Mafia II (I know what you're thinking, Mafia II is borked (ProtonDB). But it's all Valve's CEG DRM's fault, which can be worked around if you replace the launcher with a crack and go with it).
So, I have tried Helldivers with WineD3D and DXVK. I gotta say, DXVK is the way to go. My FPS rate is MUCH less floating, game doesn't randomly freeze on me every so often, so it's the clear winner for this scenario (FPS seems to be limited to 60 though, but that's another story).
What about Mafia II? Well, I can't make any comparison because it's a DX9 game. And because Proton doesn't officially support D9VK (yet?), I HAVE TO launch it with WineD3D. And it SUCKS that I do. Due to the nature of the game, which is an open world title, I have to struggle with random freezes, random pop-ins.. I have tried to get used to it, but it's so annoying at times, it's hard not to rage quit on it. And don't get me started on the scenes, which can't be played because my processor is too busy with shader pretranslation stuff: playing the game for the first time is a pain. If I give it another go, it goes smooth. I'm not saying D9VK will paint a different picture, but if DXVK (for DX11 games) is anything to go by, it can only be better than WineD3D for DX9 games. It'd be awesome if Proton 4.6-devel addressed that, along with Valve's own CEG DRM titles.
Nth friendly remainder wine-pba and nine are already great things for fixing the majority of performance problems since countless time.
Nth friendly remainder wine-pba and nine are already great things for fixing the majority of performance problems since countless time.
Nine only works for AMD users only (maybe Intel now too 🤷♂️) so you're cutting off the majority marketshare which is NVidia.
wine-pba does literally nothing when I tried it, everything still runs like a dog with no legs
In comminos' worst case scenario (arguably a year ago, still) that could get you even 2x performance.
And latest reports (before whatever work CW's doing with buffers made rebasing a hell) see pba as completely up to par with dxvk.
EDIT: and here for Nine
PBA also breaks games and the implementation is a bit of a hack job that doesn't really work under all circumstances. It arguably addresses one of the main bottlenecks in wined3d, and it's good enough in a lot of cases, but it should be done properly, in a way that doesn't introduce regressions.
AFAIK there were some plans to do exactly that, not sure if that's still being pursued though.
see pba as completely up to par with dxvk.
No offense, but assuming general parity based on one single comment that doesn't even mention the test conditions is a bit far-fetched. Parity is expected if you're GPU bound, and PBA can get you there; if it doesn't, it's still significantly slower in my experience.
WoW in the meantime removed D3D9 support entirely and added a new multithreaded D3D11 render path which uses deferred contexts; that one doesn't even work with upstream wine and runs at literally 1 FPS on -staging because their deferred context implementation isn't great. It could be improved, sure, but these things would need work, a lot of work.
Lets stick to what we have then. No one wants a half-baked hack that might introduce regressions anyway.
Indeed it isn't _good enough_, shaders pretranslation does impact a game's overall performance, from Core to Ryzen, no matter how good your rig is. Mafia II is the perfect example - it's an open world shooter game, one that you'll find yourself bumping and crashing into things you didn't realize were there, until an accident happened. That's the practical definition of pop-in.
AFAIK there were some plans to do exactly that, not sure if that's still being pursued though.
Where exactly did you get that from? Mailing list, blog/forum/reddit post?
Well, more so if pba gets that complex thing well, it seems legit.
Then, yes, I guess compared to your masterwork it will still have the burden of opengl limitations.., but last time I checked outside of microbenchmarks the difference between a good AZDO and vulkan was just negligible.
but it should be done properly, in a way that doesn't introduce regressions.
Absolutely. No objections to that.
Where exactly did you get that from? Mailing list, blog/forum/reddit post?
I know of this (where, I don't know, is it just me to see this as a colossal bug lingering there since decades?) but I guess like there will be countless of other discussions on IRC, ML and whatever.
Any news on this?
Any news on this?
There's been minor releases every so often. You can follow their Reddit: https://www.reddit.com/r/D9VK/ for more.
The discord is probably a better place to be
w00t
Already some games works great with D9VK. For example I gain 3x FPS in Grand Theft Auto IV (runs even better than on Windows)
@adojck How did you manage to make that work on your computer? Are you talking Lutris + D9VK + the game? If so, could you point me to the right direction, I'd like to set up D9VK within Lutris and see how it goes on my laptop. People out there tell me the same about Vulkan + D9VK, but I still have to experience that myself.
You don't need Lutris:
https://software.kaminata.net/linux-wine-games/how-to-install-d9vk/
@rdlf4 I don't use Lutris, actually never tried it, as it pulls gnome-desktop
as a dependency (I use KDE Plasma)
To install D9VK for any game is very simple:
export WINEPREFIX=/home/user/path/to/steam/steamapps/compatdata/id/pfx/
and for GTA IV id is 12210
./setup_dxvk.sh install
(run this in extracted dir)More info how to run GTA IV you can find here on ProtonDB: https://www.protondb.com/app/12210
Newest proton includes d9vk in it. You'll also need to enable a flag for it to actually be used.
Newest proton includes d9vk in it. You'll also need to enable a flag for it to actually be used.
Be more specific. By 'enable a flag' do you mean we need to deal with Proton's settings?
Or should we just set the game directory as a wine prefix and then install D9VK in it, so that Proton brings 2 and 2 together and then finally give us DirectX 9 support?
Also, this just hit me: Now that Proton 4.11-1 features D9VK support, does that mean we also get to download shader pre-cache for DX9-based games?
And what about multiple DirectX-based games? For example, Farcry 3 supports DX11 as well as DX9, but the latter has to be selected from the ingame menu. Because of that, is D9VK support going to be a problem?
Hello @rdlf4, adding PROTON_USE_D9VK=1 %command%
in the game's launch options while using Proton 4.11-1 should allow you to use it without any further modification.
Tried this with Risen 3, and apart from a crash (possible GPU issue I gotta sort out), it ran quite well, except its clear the D9VK implementation does not have as efficient shader compiler/cache as there is a bit of stuttering for a while until it parses everything.
And yes Reshade.me works with D9VK it seems, _'I didn't have much luck using the standard proton opengl system'_
PROTON_USE_D9VK=1 %command% double my fps on GTA IV EFLC (from 30 to 60 on benchmark)
R5 1400, RX 580, Kubuntu 19.04, Proton 4.11-6
@adelpozoman
So I am trying to play it lurks below supposedly this game has gold support but when I run it I get a blank screen. The game runs but oli don’t see anything.
With D9VK? Please make an issue on my tracker.
DXVK is now used for d3d9, can be closed.
Most helpful comment
Hello from d9vk land o/
Chugging along with spirv stuff on that at the moment. Fairly early development, but hopefully will get places soon! 😄