Dxvk: Stream Output not supported

Created on 8 Mar 2018  Â·  65Comments  Â·  Source: doitsujin/dxvk

As of now, Stream Output is not supported. This may have a variety of consequences, such as incorrect rendering or crashes, in case a game relies on this feature.

Please do not open new bug reports for a specific game if you see any of the following messages in your log files. Instead, use this thread to report games which need this feature.

err:   D3D11Device::CreateBuffer: D3D11_BIND_STREAM_OUTPUT not supported
err:   D3D11Device::CreateGeometryShaderWithStreamOutput: Not implemented

Games that are known to require Stream Output:

  • Battlerite
  • Call of Duty: Ghosts
  • F1 2015
  • Giana Sisters: Twisted Dreams
  • Mafia III
  • Metro Redux
  • Nvidia Hairworks
  • Overwatch
  • Quake Champions
  • Space Engineers
  • The Witcher 3
  • Unity Engine
READ ME

Most helpful comment

It looks like this might be addressed soon! From the Vulkan-Ecosystem github:

Some members of the Vulkan working group are developing a multi-vendor EXT extension for transform feedback with the primary goal of satisfying the needs of the DXVK, vkd3d and ANGLE translation layers. The Vulkan working group does not plan to promote this functionality as a KHR extension or as core functionality because it believes there are better, more forward-looking ways of processing and capturing vertex data with the GPU. The multi-vendor EXT extension should be available soon and is likely to be implemented on those platforms where DXVK, vkd3d and ANGLE translation is required.

All 65 comments

Life is Strange: Before the Storm, maybe https://bugs.winehq.org/show_bug.cgi?id=43314

Outcast Second Contact and Life Is Strange Before the Storm (both Unity games):

err:   D3D11: Unsupported format: 4294967295
err:   D3D11Device: CheckFeatureSupport: Unknown feature: 10
err:   D3D11Device::CreateBuffer: D3D11_BIND_STREAM_OUTPUT not supported
err:   DxbcCompiler: Invalid sampled type: DxbcResourceReturnType::Mixed
err:   D3D11Device::CreateGeometryShaderWithStreamOutput: Not implemented

Overwatch seems to require this.
From the d3d11.log:

info:  D3D11CreateDevice: Probing D3D_FEATURE_LEVEL_11_0
info:  D3D11CreateDevice: Using feature level D3D_FEATURE_LEVEL_11_0
info:  D3D11CreateDevice: Probing D3D_FEATURE_LEVEL_11_0
info:  D3D11CreateDevice: Using feature level D3D_FEATURE_LEVEL_11_0
warn:  DxbcOptions: Growing coordinate vector for Dref operations
warn:  DxbcOptions: Using FMin/FMax/FClamp instead of NMin/NMax/NClamp
err:   D3D11Device::CreateBuffer: D3D11_BIND_STREAM_OUTPUT not supported
err:   D3D11Device::CreateBuffer: D3D11_BIND_STREAM_OUTPUT not supported
err:   D3D11Device::CreateBuffer: D3D11_BIND_STREAM_OUTPUT not supported
err:   D3D11Device::CreateBuffer: D3D11_BIND_STREAM_OUTPUT not supported
err:   D3D11Device::CreateBuffer: D3D11_BIND_STREAM_OUTPUT not supported
err:   D3D11Device::CreateBuffer: D3D11_BIND_STREAM_OUTPUT not supported
info:  D3D11CreateDevice: Probing D3D_FEATURE_LEVEL_11_0
info:  D3D11CreateDevice: Using feature level D3D_FEATURE_LEVEL_11_0

Mafia III requires this as well. Just hangs on a black screen currently.

info:  D3D11CreateDevice: Probing D3D_FEATURE_LEVEL_11_1
info:  D3D11CreateDevice: Probing D3D_FEATURE_LEVEL_11_0
info:  D3D11CreateDevice: Using feature level D3D_FEATURE_LEVEL_11_0
err:   D3D11Device::CreateGeometryShaderWithStreamOutput: Not implemented

Just for the reference, I opened this, may be someone from Khronos can comment about their plans for transform feedback / stream output like support in Vulkan.

@doitsujin: Can you please comment here, with some details about why it's hard to implement stream output with current Vulkan options? That feedback can be directed to the Vulkan working group and would be valuable. Thanks!

It should be noted that most Unity5 games are using stream output for gpu skinning (as noted here), some can be worked around on wined3d by using d3d9 or opengl mode, but many just support d3d11.

F1 2015 needs it as well

info:  D3D11CreateDevice: Probing D3D_FEATURE_LEVEL_11_0
info:  D3D11CreateDevice: Using feature level D3D_FEATURE_LEVEL_11_0
info:  D3D11CreateDevice: Probing D3D_FEATURE_LEVEL_11_0
info:  D3D11CreateDevice: Using feature level D3D_FEATURE_LEVEL_11_0
err:   D3D11: Cannot create texture:
  Format:  VK_FORMAT_R8G8B8A8_SRGB
  Extent:  1600x1200x1
  Samples: 1
  Layers:  1
  Levels:  1
  Usage:   1f
err:   D3D11CreateDeviceAndSwapChain: Failed to create swap chain
info:  D3D11CreateDevice: Probing D3D_FEATURE_LEVEL_11_0
info:  D3D11CreateDevice: Using feature level D3D_FEATURE_LEVEL_11_0
err:   D3D11Device::CreateBuffer: D3D11_BIND_STREAM_OUTPUT not supported
err:   D3D11Device::CreateBuffer: D3D11_BIND_STREAM_OUTPUT not supported

Metro: Last Light Redux also needs it

info:  D3D11CoreCreateDevice: Probing D3D_FEATURE_LEVEL_11_0
info:  D3D11CoreCreateDevice: Using feature level D3D_FEATURE_LEVEL_11_0
info:  D3D11CoreCreateDevice: Probing D3D_FEATURE_LEVEL_11_0
info:  D3D11CoreCreateDevice: Using feature level D3D_FEATURE_LEVEL_11_0
...
err:   D3D11Device::CreateGeometryShaderWithStreamOutput: Not implemented
DebugString: "Error: D3D Runtime: CreateGeometryShaderWithStreamOutput errorUnknown error\n"
DebugString: "Error: D3D Runtime: (1,1): error X3000: syntax error: unexpected token '@'\nAttempted to create a device with the debug layer enabled and the layer is not installed.\n"

Cod Ghosts needs that feature as well.

+1 To prioritize this feature.

@Zeioth: This requires some help from the Vulkan working group to implement transform feedback like feature. Do you have any detailed examples of how it's used in D3D11 games in practice? If yes, please comment here to help the working group to come to some practical conclusion.

I did an apitrace for BattleTech (Steam version). The Unity game is mostly missing objects and textures. Besides a lot of warnings BattleTech_d3d11.log contained the following errors:

err:   D3D11: Unsupported format: 4294967295
err:   D3D11: Unsupported format: 4294967295
err:   D3D11: Unsupported format: 4294967295
err:   D3D11: Unsupported format: 4294967295
err:   D3D11: Unsupported format: 4294967295
err:   D3D11: Unsupported format: 4294967295
err:   D3D11: Unsupported format: 4294967295
err:   D3D11: Unsupported format: 4294967295
err:   D3D11: Unsupported format: 4294967295
err:   D3D11: Unsupported format: 4294967295
err:   D3D11: Unsupported format: 4294967295
err:   D3D11: Unsupported format: 4294967295
err:   D3D11: Unsupported format: 4294967295
err:   D3D11: Unsupported format: 4294967295
err:   D3D11: Unsupported format: 4294967295
err:   D3D11: Unsupported format: 4294967295
err:   D3D11: Unsupported format: 4294967295
err:   D3D11: Unsupported format: 4294967295
err:   D3D11Device: CheckFeatureSupport: Unknown feature: 10
err:   D3D11Device::CreateBuffer: D3D11_BIND_STREAM_OUTPUT not supported
err:   D3D11Device::CreateGeometryShaderWithStreamOutput: Not implemented

I wonder if the STREAM_OUTPUT might have something to do with menus not being displayed correctly when launching Unigine Superposition (The launcher itself)?
Moving the mouse around the different menu selections and stuff generates:

warn:  DXGI: Present parameters not supported
err:   D3D11Device::CreateBuffer: D3D11_BIND_STREAM_OUTPUT not supported
err:   D3D11Device::CreateBuffer: D3D11_BIND_STREAM_OUTPUT not supported
err:   D3D11Device::CreateBuffer: D3D11_BIND_STREAM_OUTPUT not supported
err:   D3D11Device::CreateBuffer: D3D11_BIND_STREAM_OUTPUT not supported
err:   D3D11Device::CreateBuffer: D3D11_BIND_STREAM_OUTPUT not supported
warn:  DXGI: Present parameters not supported
err:   D3D11Device::CreateBuffer: D3D11_BIND_STREAM_OUTPUT not supported
err:   D3D11Device::CreateBuffer: D3D11_BIND_STREAM_OUTPUT not supported
err:   D3D11Device::CreateBuffer: D3D11_BIND_STREAM_OUTPUT not supported
warn:  DXGI: Present parameters not supported
warn:  DXGI: Present parameters not supported

Might not be "game breaking", as you can use the menuselections if you know where they are. It must be said that the Superposition launcher works even worse with wined3d tho.

@SveSop the launcher doesn't render correctly because it requires some sort of GDI <> DXGI interop, which I do not and will not support. Not sure what Superposition wants Stream Output form

Uno also requires this feature. Doesn't work when faking Stream Output either.

UNO_d3d11.log
UNO_dxgi.log

More details, regarding Quake Champions..:
The crashes happen 100% of the time on these 3 specific occations:

  1. After loading the map "Lockbox"
  2. After loading the map "Vale of pnath"
  3. When the character/champion named "Sorlag" uses his ability: Acid spit.
  • At the exact same time, a tail -f on the d3d11 log on the other monitor spew out the StreamOutput not implemented errors.
  • These crashes are the only ones I experience in Quake Champions.

@metalight Could you test if using cutting wheel for example on some surface like a wall is triggers a crush?

@ptrb78 The pummel doesn't cause crashes here regardless how it's used. :)

In addition to Quake Champions. For me, it hangs the system right at the menu, when character is spawning. I can hear Ranger sounds, but on the screen the last thing I see is blue lightning and fog. R9 290, Mesa 18.1.3, LLVM 6.0, DRM 3.25.0. Might try this with mesa-git later.

@spddqd you should also try LLVM-svn, since LLVM 6 is notoriously broken.

@doitsujin yes, it worked indeed. I was able to get past the main menu and load into the training map, but then I was greeted with a crash. Oh well, at least it didn't lock up my system altogether.

@ptrb78 Update: The pummel/gauntlet does indeed cause the same (stream output) crash unless "Details" is on "Low", as with everything else leaving a mark on walls/floor.. And even with Details on Low, "Acid spit" always leaves a mark = cause a crash.

@metalight

The crashes happen 100% of the time on these 3 specific occations:
After loading the map "Lockbox"
After loading the map "Vale of pnath"
When the character/champion named "Sorlag" uses his ability: Acid spit.

The same on my system.

@metalight @ptrb78 Please to discuss about bugs related to Quake Champions, use #377. Thanks.

I get this with Space Engineers as well. Game boots to "Send crash log"-window.
d3d11.log: (last line)
err: D3D11Device::CreateGeometryShaderWithStreamOutput: Not implemented

Gauntlet Slayer Edition also fails with this streamoutput problems.

I know nothing about DX stuff so I apologise for the stupid question but Is there any way we can fake this? i.e. if a request is made you just return a black texture of the size it requests? Sure the game would look bad in places but it wouldn't crash?

Hello @doitsujin,

Thanks for the great work.

I was wondering, since stream output is supported since Wine 3.0, if there was any way to redirect the calls to Wine d3d11 library ?

From what I've seen on KhronosGroup repos, vulkan support of stream output isn't planned for tomorrow.

I would have been glad to help more, but I gave a look to the dxvk source code and it's far beyond my skills.

if there was any way to redirect the calls to Wine d3d11

No.

WWE 2K15 (x64)

warn:  DXGI: MakeWindowAssociation: Ignoring flags
err:   D3D11Device::CreateGeometryShaderWithStreamOutput: Not implemented
err:   D3D11Device::CreateBuffer: D3D11_BIND_STREAM_OUTPUT not supported

@farribeiro: linked above.

I think with named origin repo and issue number is greater than a single link

Hi @doitsujin

Thanks for the great work on DXVK, you made it possible for me to play The Witcher 3 on Linux.

I am wondering if you could give a nudge to the Khronos / Vulkan Stream Output issue. They seem to be waiting for input from DXVK and similar translator projects.

Maybe it starts moving ahead after some input and this roadblock gets cleared.

@asoltesz : If you know any actual game developers who can describe how they used stream output in games, that would be great too. Feel free to direct them to that issue for feedback.

@doitsujin
I want to add something regarding quake champions. It crashes for me when shooting this gun. It crashed every time but I could shoot a few more time after I enabled debug log, which dropped the fps to 10.
QuakeChampions_d3d11.log
QuakeChampions_dxgi.log
System:
Ubuntu 18.04.1
nvidia-396.51, gtx 1080ti
dxvk v0.65

Hope it helps.

@mtrp12 You can fix that crash using low settings. And please, as I commented before, use this thread for Quake Champions related issues

@doitsujin Grow Up requires this as well if you want to add it to your list.

It's a Unity Engine game, so it's pretty much on the list already.

Ahh, gotcha. Thanks

I have crazy idea how to try make SO implementation efficient with current extensions: Utilize both, Vulkan and OpenGL. Use extensions like https://www.khronos.org/registry/OpenGL/extensions/EXT/EXT_external_objects.txt to share data between Vulkan<>OpenGL, use transform feedback on OpenGL side, get result from Vulkan side. Can this work?

use transform feedback on OpenGL side

@doitsujin mentioned before, that mixing OpenGL with Vulkan for this is a bad idea. Better wait until Khronos will finish drafting transform feedback spec for Vulkan and drivers will implement it.

It looks like this might be addressed soon! From the Vulkan-Ecosystem github:

Some members of the Vulkan working group are developing a multi-vendor EXT extension for transform feedback with the primary goal of satisfying the needs of the DXVK, vkd3d and ANGLE translation layers. The Vulkan working group does not plan to promote this functionality as a KHR extension or as core functionality because it believes there are better, more forward-looking ways of processing and capturing vertex data with the GPU. The multi-vendor EXT extension should be available soon and is likely to be implemented on those platforms where DXVK, vkd3d and ANGLE translation is required.

Hello,

I've been enjoying World of Warcraft on Arch through wine and dxvk for a while now, but since __today__, this is the result:

err:   D3D11Device::CreateBuffer: D3D11_BIND_STREAM_OUTPUT not supported

So I guess you can add Wow to the list, sadly.


nvidia-dkms 396.54-6
dxvk-bin 0.80-1
wine-esync-staging-pba 3.16

Only that message or stuff about CreateGeometryShaderWithStreamOutput as well? Because if the latter is missing, the game doesn't need it.

@Naliwe What do you mean by "this is the result"?
Is that line just something logged in the logs, and everything works as expected, or are you unable to log in to WoW?

I have just tried WoW and was able to log in and play without issues BUT..... I do not have a paid subscription so I can not get into the later parts of the game.

I suspect that the later expansions are a lot more graphically enhanced and that @Naliwe will probably be playing the Battle For Azeroth expansion.

@7oxicshadow I just asked cos i do not get that error message when playing. I have BfA xpac.
If it is something that is logged, but still works then i have not checked for that :)

@svesop out of interest do you play on Ultra graphics settings?

Nope. "7" on the setting (Guess the recommended).

Yeah this one too.
Removing dxvk and going back to pba makes the game run correctly. Performances aren't comparable though ~

And no the game doesn't launch at all. I'm playing on "7" setting, everything worked perfectly until the latest patch

@Naliwe does that mean you cant even get to the character selection screen?

This could be really difficult to narrow down as there are a number of things that can cause this problem.

I play quake champions and the game will crash only on certain maps or when certain characters use special attacks. As long as I avoid either of them I can play fine.

With WoW it could be as simple as your character has a special piece of armor/weapon equipped that takes advantage of stream output.

@Naliwe Since i have no problems with D3D11_BIND_STREAM_OUTPUT, i can't immediately say that it is something "new" with the latest patch.
Have you checked and double-checked that all the dll's and overrides is correct? And that the wow version is 8.0.1.27843 + perhaps done a "scan and repair" from the blizzard app...

How do you install DXVK? Using the script in the package, or by some distro packaged thing.. or self compiled?

@7oxicshadow
No the game doesn't even launch. The launcher does, but as soon a I click "Play", it crashes.
As for the ... volatility of Wow's equipment, nothing changed while I was not logged (that'd be great though). So, apart from my system, and Wow itself, nothing changed between the moment when I disconnected and my previous post.

@SveSop

Alright, strange then. because yes, this is the correct version, yes the overrides are done correctly and scan and repair doesn't change anything.
DXVK is installed through the package I mentionned in my first post (through __yaourt__ on __Arch Linux__)

Oh and I failed to mention I used Lutris to launch the game. But honestly, I've been fiddling so much with the install using my system's executable that I don't think it changes much anymore; the results are the same in both cases.

The game runs almost fine without DXVK, but the perfs are terrible.

@Naliwe Have you tried to launch wow directly, and not through the launcher?

I use a script to launch wow, and launch it with wine64 instead of wine (log complains about Agent.exe not being the correct binary whatever, but i see that as a +).

I can paste the script i am using if you think it COULD solve something? The battle.net launcher app may be bugged perhaps? (As getting it to work, you need to disable streaming under options to get stuff to work). I use it only to patch when needed.

Until the Vulkan extension is released, support will be missing.

On Mon, Oct 1, 2018, 12:11 PM Ahmed notifications@github.com wrote:

Any updates for stream support?

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/doitsujin/dxvk/issues/135#issuecomment-425987350, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AEJES29WrVv1kS_-B5-KIUsYjzRqQksWks5ugkzJgaJpZM4SibgF
.

Battlerite Royale

I can't reporduce this error. I play WoW regularly and can launch it via the app or directly from Wow.exe without issues.
Using Arch + wine-staging-3.16 + dxvk-bin (v 0.80 from the aur)
There are reports of stream output types of error from some people using wine but I have never encountered these.
Do you have any addons in the WoW folder? Try renaming the Addons folder before launching the game and see what happens.

Reproduces for my World of Warcraft installation as well.
I've deleted my addons folder so it's definitely not an addon messing it up.

Game runs fine with wineprefix that doesn't have DXVK but with DXVK it also produces this error:

err:   D3D11Device::CreateBuffer: D3D11_BIND_STREAM_OUTPUT not supported

I'm running the nvidia 396.54 driver.
Let's wait patiently until the feature is supported and not open any more duplicate issues huh?

@darthrevan again, so you see any issues about CreateGeometryShaderWithStreamOutput? If not, the game doesn't use it.

@Naliwe @darthrevan
Not sure why you would get those error messages with World of Warcraft, as this works for many ppl with DXVK (including me).

However, could this somehow be mistaked for the "A streaming error has occurred. (WOW51900322)" bug?
https://appdb.winehq.org/objectManager.php?sClass=version&iId=36961 has info on how to clean out wow cache, and download a "fixed clean" cache someone uploaded from windows...

What does the /World of Warcraft/Logs/gx.log file say?

PS. Perhaps open this issue as a separate issue with WoW, and not a "Stream Output not supported" issue, as i kinda believe WoW does not require this in any way...

Battlerite on intel v0.9 still have invisible characters.
On other manufacturers seems fine.

info:  D3D11CoreCreateDevice: Probing D3D_FEATURE_LEVEL_11_1
info:  D3D11CoreCreateDevice: Probing D3D_FEATURE_LEVEL_11_0
info:  D3D11CoreCreateDevice: Using feature level D3D_FEATURE_LEVEL_11_0
info:  Enabled device extensions:
info:    VK_EXT_shader_viewport_index_layer
info:    VK_EXT_vertex_attribute_divisor
info:    VK_KHR_dedicated_allocation
info:    VK_KHR_descriptor_update_template
info:    VK_KHR_get_memory_requirements2
info:    VK_KHR_image_format_list
info:    VK_KHR_maintenance1
info:    VK_KHR_maintenance2
info:    VK_KHR_sampler_mirror_clamp_to_edge
info:    VK_KHR_shader_draw_parameters
info:    VK_KHR_swapchain
info:  DXVK: Read 0 valid state cache entries
info:  DXVK: Using 2 compiler threads
warn:  D3D11DeviceContext::QueryInterface: Unknown interface query
warn:  b4e3c01d-e79e-4637-91b2-510e9f4c9b8f
err:   DXGI: CheckInterfaceSupport: Unsupported interface
err:   54ec77fa-1377-44e6-8c32-88fd5f44c84c
[1103/122512.664:ERROR:angle_platform_impl.cc(54)] populateRenderer11DeviceCaps(906): Error querying driver version from DXGI Adapter.
warn:  D3D11Device::GetDeviceRemovedReason: Stub
[1103/122527.434:ERROR:registration_protocol_win.cc(56)] CreateFile: File not found. (0x2)
[1103/122527.435:INFO:crash_reporting.cc(216)] Crash reporting enabled for process: gpu-process

You need to patch ANV manually as described in #695.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

jekstrand picture jekstrand  Â·  5Comments

artivision picture artivision  Â·  4Comments

yusdacra picture yusdacra  Â·  4Comments

linuxwrper picture linuxwrper  Â·  4Comments

knuxyl picture knuxyl  Â·  5Comments