doitsujin / dxvk

Vulkan-based implementation of D3D8, 9, 10 and 11 for Linux / Wine
zlib License
12.99k stars 833 forks source link

[d3d11] - Microsoft Flight Simulator (1250410) - Video playback fails to render. #1747

Open ZereoX opened 4 years ago

ZereoX commented 4 years ago

Description:

Microsoft Flight Simulator (1020540) fails to playback video content. Audio can be heard, but the screen remains black during the length of the video. This issue is visible at launch as the Microsoft Game Studios, Asobo Studio, and Blackshark.AI developer bumper fail to play.

The following appears repeatedly in the log file.

warn:  D3D11DXGIDevice::QueryInterface: Unknown interface query
warn:  10ec4d5b-975a-4689-b9e4-d0aac30fe333
err:   D3D11DXGIResource::GetSharedHandle: Stub
err:   D3D11Device::OpenSharedResource: Not implemented
warn:  D3D11Texture2D::QueryInterface: Unknown interface query
warn:  c40a00f2-b93a-4d80-ae8c-5a1c634f58e4
warn:  D3D11Texture2D::QueryInterface: Unknown interface query
warn:  9d8e1289-d7b3-465f-8126-250e349af85d
DXVK Native
Microsoft Flight Simulator - DXVK Microsoft Flight Simulator - Windows

This was only confirmed on Windows as Proton / Wine is currently blocked by import failures.

Please let me know if any additional information is required or if additional testing is needed.

Notes:

This does not block progression and the user can proceed into gameplay without any issues. Performance was similar to Windows when GPU-bound (visual performance check was only performed on this system).

Software information

Microsoft Flight Simulator (1250410)

System information

OS: Windows 10 Pro 1909 GPU: Nvidia GeForce GTX 1060 Driver: 451.98 (Latest Vulkan Beta Driver) DXVK version: 1.7.1

Apitrace file(s)

Log files

d3d11.log: FlightSimulator_d3d11.log dxgi.log: FlightSimulator_dxgi.log

SveSop commented 4 years ago

https://bugs.winehq.org/show_bug.cgi?id=49740

https://github.com/wine-staging/wine-staging/commit/003d5833c2fc0bd15ad9d3753dfb4d654f71088c

You probably need to pass -FastLaunch flag to the game command-line. Otherwise it requires some unimplemented mfplat code to play the introduction videos.

I think it might not directly be d3d11 related?

doitsujin commented 4 years ago

The game apparently requires both shared resources as well as an implementation of ID3D11VideoDevice, both of which aren't really possible to implement right now. And it's certainly possible that the usage of these features come from Microsoft's implementation of mfplat rather than the application itself, in which case the problem wouldn't exist on wine.