https://bugs.winehq.org/show_bug.cgi?id=32325
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Component|-unknown |directx-d3d Summary|Assassin's Creed III |Assassin's Creed III |crashes on launch |crashes on startup | |(ID3D11Device::QueryInterfa | |ce doesn't support | |IDXGIDevice1, | |'{77db970f-6276-48ba-ba28-0 | |70143b4392c}') Ever confirmed|0 |1
--- Comment #12 from Anastasius Focht focht@gmx.net --- Hello folks,
confirming.
The original bug report has likely evolved.
With Mesa/Intel/Noveau -> bug 38648 (= expected).
--- snip --- $ pwd /home/focht/.wine/drive_c/Program Files/Ubisoft/Assassin's Creed III
$ wine ./AC3SP.exe ... fixme:dxgi:dxgi_check_d3d10_support Ignoring adapter type. fixme:winediag:dxgi_check_d3d10_support Direct3D 10 is not supported on this GPU with the current shader backend. fixme:d3d11:D3D11CoreCreateDevice Ignoring feature levels. fixme:dxgi:dxgi_check_d3d10_support Ignoring adapter type. fixme:winediag:dxgi_check_d3d10_support Direct3D 10 is not supported on this GPU with the current shader backend. wine: Unhandled page fault on read access to 0x00000000 at address 0x81ce9f (thread 0030), starting debugger... --- snip ---
With NVIDIA blob:
--- snip --- ... fixme:dxgi:dxgi_check_d3d10_support Ignoring adapter type. fixme:d3d11:D3D11CoreCreateDevice Ignoring feature levels. fixme:dxgi:dxgi_check_d3d10_support Ignoring adapter type. fixme:dxgi:dxgi_device_init Ignoring adapter type. fixme:d3d11:device_parent_create_swapchain_texture device_parent 0x9a6ee04, container_parent 0x97c3888, wined3d_desc 0xbafe0e4, wined3d_texture 0x982fdc8 partial stub! fixme:d3d11:device_parent_create_swapchain_texture Implement DXGI<->wined3d usage conversion fixme:d3d11:d3d11_device_GetFeatureLevel iface 0x9a6ede0 stub! fixme:d3d11:d3d11_device_CheckFeatureSupport iface 0x9a6ede0, feature 0, feature_support_data 0xbafe874, feature_support_data_size 8 stub! fixme:d3d11:d3d11_device_CreateQuery iface 0x9a6ede0, desc 0xbafe734, query 0xe2add70 stub! fixme:d3d:wined3d_buffer_create Ignoring access flags (pool) fixme:d3d:wined3d_buffer_create Ignoring access flags (pool) fixme:dxgi:dxgi_output_GetDisplayModeList iface 0x9a65d90, format DXGI_FORMAT_R8G8B8A8_UNORM, flags 0, mode_count 0xbafe888, desc (nil) partial stub! fixme:dxgi:dxgi_output_GetDisplayModeList iface 0x9a65d90, format DXGI_FORMAT_R8G8B8A8_UNORM, flags 0, mode_count 0xbafe888, desc 0xe2add80 partial stub! fixme:d3d11:d3d11_device_CheckMultisampleQualityLevels iface 0x9a6ede0, format 28, sample_count 1, quality_level_count 0xbafe888 stub! fixme:d3d11:d3d11_device_CheckMultisampleQualityLevels iface 0x9a6ede0, format 28, sample_count 2, quality_level_count 0xbafe888 stub! ... fixme:d3d11:d3d11_device_CheckMultisampleQualityLevels iface 0x9a6ede0, format 28, sample_count 31, quality_level_count 0xbafe888 stub! fixme:d3d11:d3d11_device_GetFeatureLevel iface 0x9a6ede0 stub! fixme:d3d11:d3d11_device_GetFeatureLevel iface 0x9a6ede0 stub! fixme:dxgi:dxgi_output_FindClosestMatchingMode iface 0x9a65d90, mode 0xd690664, closest_match 0xbafe910, device (nil) stub! fixme:dxgi:dxgi_output_GetDesc iface 0x9a65d90, desc 0xbafe8a0 stub! Stopped on breakpoint 1 at 0x7e770b98 dxgi_factory_CreateSwapChain [/home/focht/projects/wine/wine.repo/src/dlls/dxgi/factory.c:188] in dxgi dxgi_factory_CreateSwapChain () at /home/focht/projects/wine/wine.repo/src/dlls/dxgi/factory.c:188 188 { Wine-dbg>bt Backtrace: =>0 0x7e770b98 dxgi_factory_CreateSwapChain(iface=0x9a65e18, device=(nil), desc=0xd690664, swapchain=0xd6906a0) [/home/focht/projects/wine/wine.repo/src/dlls/dxgi/factory.c:188] in dxgi (0x0bafe938) 1 0x0081d50c in ac3sp (+0x41d50b) (0x0bafe944) 2 0x0081d540 in ac3sp (+0x41d53f) (0x0bafe97c) 3 0x00974e8c in ac3sp (+0x574e8b) (0x0bafe994) 4 0x00971c85 in ac3sp (+0x571c84) (0x0bafe9a8) ... --- snip ---
'IDXGIFactory::CreateSwapChain' is called with NULL DXGI device hence the crash with most recent Wine version.
The problem lies in earlier failure to query d3d11 device for 'IDXGIDevice1' interface.
--- snip --- ... 0030:fixme:dxgi:dxgi_output_FindClosestMatchingMode iface 0x97fe490, mode 0xd670664, closest_match 0xb9de910, device (nil) stub! 0030:fixme:dxgi:dxgi_output_GetDesc iface 0x97fe490, desc 0xb9de8a0 semi-stub! 0030:trace:d3d11:d3d_device_inner_QueryInterface iface 0x97fe524, riid {77db970f-6276-48ba-ba28-070143b4392c}, out 0xb9de934. 0030:warn:d3d11:d3d_device_inner_QueryInterface {77db970f-6276-48ba-ba28-070143b4392c} not implemented, returning E_NOINTERFACE. ... --- snip ---
Refining summary to target a specific issue.
$ wine --version wine-1.7.53-135-g4fb840b
Regards