Confused on Steam Play and Proton? Be sure to check out our guide.
We do often include affiliate links to earn us some pennies. See more here.

DXVK [GitHub], the awesome Vulkan-based D3D11 and D3D10 implementation that's used in Wine and Steam Play's Proton has just put out version 0.90 after the latest release of the Vulkan API.

As mentioned in the weekend roundup (typical of this to happen just after…), the Vulkan API now has the VK_EXT_transform_feedback extension supported. This does require you to update your GPU drivers. To quote my own article since it's important and I don't want people to miss it:

NVIDIA have already pushed out 396.54.09 of their beta Vulkan driver to support it, along with AMD's RADV for Mesa getting a bunch of patches for it and Intel's ANV driver also getting patches.

The biggest addition in DXVK 0.90 is support for Stream Output, which fixes rendering issues in a lot of games when run in Wine with DXVK. Here's what the developer said:

Implemented Stream Output (#695#135). This fixes rendering issues in a lot of games, most notably missing characters or NPCs in Unity Engine-based games and The Witcher 3, Nvidia Hairworks in The Witcher 3 and Final Fantasy XV, as well as issues in Quake Champions, Overwatch, and other games.

As for bug fixes and improvements, here's what made it in:

  • Assassin's Creed Odyssey: Slight reduction of CPU overhead
  • Bioshock: Fixed race condition in D3D10 mode (#655)
  • Dark Souls 3: Fixed bug causing resolution changes not to be applied correctly
  • The Evil Within: Fixed regression causing random geometry to be rendered

Really amazing progress as always, can't wait to see this included in Steam Play seems like it's going to be quite a difference. It doesn't seem like there's much left for DXVK to do, although there's no doubt small performance improvements could still be made with enough time.

Article taken from GamingOnLinux.com.
Tags: Vulkan, Wine
23 Likes
About the author -
author picture
I am the owner of GamingOnLinux. After discovering Linux back in the days of Mandrake in 2003, I constantly checked on the progress of Linux until Ubuntu appeared on the scene and it helped me to really love it. You can reach me easily by . You can also follow my personal adventures on Bluesky.
See more from me
The comments on this article are closed.
All posts need to follow our rules. For users logged in: please hit the Report Flag icon on any post that breaks the rules or contains illegal / harmful content. Guest readers can email us for any issues.
38 comments Subscribe
Page: «2/2
  Go to:

Shmerl 14 Oct 2018
Wine patch (closer to upstream): https://github.com/doitsujin/dxvk/files/2475485/winevulkan-transform-feedback.patch.txt

Result (rotfiends are working in TW3):

![](https://i.imgur.com/nyWQPGI.jpg)


Last edited by Shmerl on 14 Oct 2018 at 4:44 am UTC
elmapul 14 Oct 2018
"Nvidia Hairworks in The Witcher 3 and Final Fantasy XV,"
so, hair works is finally working?

In Witcher 3 it surely works, looks rather nice I must say as well, except it killed my fps by 10-15 :p

I just spent over an hour in Vikings, Stream Output works like a charm :)

whats your rig?
C_Monk3y 14 Oct 2018
Wine patch (closer to upstream): https://github.com/doitsujin/dxvk/files/2475485/winevulkan-transform-feedback.patch.txt

Result (rotfiends are working in TW3):

![](https://i.imgur.com/nyWQPGI.jpg)
That min FPS number and most stuttering can be avoided with pba patch. I'm surprised that it's now part of upstream wine already.
Shmerl 14 Oct 2018
That min FPS number and most stuttering can be avoided with pba patch. I'm surprised that it's now part of upstream wine already.

PBA shouldn't be relevant for it, it's for wined3d.
Sil_el_mot 14 Oct 2018
Yeah! Now i only have to wait till this get implemented in Proton, and than i can finally play a whole bunch of vr-games under linux. like gorn, holopoint, budget cuts.... dreams really come true!
YoRHa-2B 14 Oct 2018
Now i only have to wait till this get implemented in Proton
It already is implemented in Proton (just based on a DXVK build that is three days old).
Blauer_Hunger 14 Oct 2018
DXVK is really impressive. What are the next milestones? I'd really like to see compatibility with vkd3d and implementations of the other D3D versions in wine by using a common dxgi.dll
YoRHa-2B 14 Oct 2018
I'd really like to see compatibility with vkd3d and implementations of the other D3D versions in wine by using a common dxgi.dll
I'm already working on hacking vkd3d support into dxvk somehow. It's not an ideal solution, but it should work since vkd3d doesn't interact with DXGI all that much.

A "common" dxgi.dll to host all of vkd3d, dxvk, and wined3d is just impossible to achieve. DXGI is not designed to allow that, and there are significant drawbacks: vkd3d doesn't even implement proper device selection, and with the current state of Wine's DXGI, it just can't.

DXVK can be refactored to kind of work with wine's dxgi provided that wine implements a DXVK-compatible swap chain, but we'd lose a number of things (device selection like vkd3d, some game compatibility hacks which cannot be fixed otherwise, probably the HUD, and all that stuff).

At the same time, DXVK can't ever support wined3d because d3d11 and d3d10 are tightly coupled to their respective DXGI implementation.


Last edited by YoRHa-2B on 14 Oct 2018 at 10:41 am UTC
Shmerl 14 Oct 2018
But Nvidia Hairworks doesn't work with this combination for me. Am I doing something wrong? Or is this feature not implemented right now?

Are you using patched Wine? Wine didn't catch up yet.
jens 14 Oct 2018
  • Supporter
I'd really like to see compatibility with vkd3d and implementations of the other D3D versions in wine by using a common dxgi.dll
I'm already working on hacking vkd3d support into dxvk somehow. It's not an ideal solution, but it should work since vkd3d doesn't interact with DXGI all that much.

A "common" dxgi.dll to host all of vkd3d, dxvk, and wined3d is just impossible to achieve. DXGI is not designed to allow that, and there are significant drawbacks: vkd3d doesn't even implement proper device selection, and with the current state of Wine's DXGI, it just can't.

DXVK can be refactored to kind of work with wine's dxgi provided that wine implements a DXVK-compatible swap chain, but we'd lose a number of things (device selection like vkd3d, some game compatibility hacks which cannot be fixed otherwise, probably the HUD, and all that stuff).

At the same time, DXVK can't ever support wined3d because d3d11 and d3d10 are tightly coupled to their respective DXGI implementation.

What about moving the interesting bits and pieces from vkd3d directly into DXVK, thus adding DX12 support to DXVK? I mean you have to to something with your time considering DX11 support is now mostly complete in DXVK.. :)


Last edited by jens on 14 Oct 2018 at 6:42 pm UTC
Shmerl 14 Oct 2018
What about moving the interesting bits and pieces from vkd3d directly into DXVK, thus adding DX12 support to DXVK? I mean you have to to something with your time considering DX11 support is now mostly complete in DXVK.. :)

Wouldn't that be unnecessary duplication? It's better to make both projects work together if possible, than to duplicate them.


Last edited by Shmerl on 14 Oct 2018 at 7:00 pm UTC
gustavoyaraujo 15 Oct 2018
Awesome news. I'm confident that Street Fighter V will work soon on Proton. Things are evolving crazy fast.
cRaZy-bisCuiT 15 Oct 2018
Are the needed Mesa patches marked for backporting?
Avehicle7887 15 Oct 2018
Are you using patched Wine? Wine didn't catch up yet.

Thank you for the reply. I didn't use patched Wine. But the patch doesn't look like something that I can do myself so I'll be waiting for the next Wine version.

If you wish, I uploaded a pre-patched Wine Source at this link: https://github.com/doitsujin/dxvk/issues/695#issuecomment-429553614

There's also pre-built binary for Debian, it contains only vanilla Wine + Stream Output patch.

There's also the Lutris source if you want which comes with E-Sync/PBA/Staging and Stream Output all in one if you wish: https://github.com/lutris/wine/tree/esync-staging-pba

Hope it helps in some way :)


Last edited by Avehicle7887 on 15 Oct 2018 at 6:25 pm UTC
RossBC 17 Oct 2018
After updating mesa with the patches Intel vulkan still only detects as 1.1.82
R.I.P dreams -_-
HD 4000
Gen 7 still doesn't show ahh well!

![](http://iforce.co.nz/i/k35jkqft.mgg.png)


Last edited by RossBC on 17 Oct 2018 at 9:24 am UTC
RossBC 20 Oct 2018
![](http://iforce.co.nz/i/wmhwsj4c.1qn.png)
Shmerl 30 Oct 2018
https://cgit.freedesktop.org/mesa/mesa/commit/?id=b4eb029062a944c428d6214447a852318e36016e&_sm_au_=iVVrKbQFZqTF5Kr7

For those using radv from mesa-git, VK_EXT_transform_feedback looks to have just been added.

Mesa is gradually moving to Gitlab, so here it's in the new repo:

https://gitlab.freedesktop.org/mesa/mesa/commit/b4eb029062a944c428d6214447a852318e36016e

Bugzilla hasn't been moved yet.
While you're here, please consider supporting GamingOnLinux on:

Reward Tiers: Patreon. Plain Donations: PayPal.

This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
The comments on this article are closed.
Buy Games
Buy games with our affiliate / partner links: