protonscr

Fusion 360: failed to create surface

dxvkclosed wine bug
doitsujin/dxvk#815 · opened 2018-12-16 by wavexx · updated 2021-04-21 · 9 comments · github
Wwavexx 2018-12-16 github

I apologize from the sparse report, but I need some guidance before proceeding as I'm completely new to wine and dxvk in general. The only reason I'm attempting to use dxvk (and wine at all) is to get DX11 support in Fusion360. I'm using linux 4.19 on debian using a KabiLake GT2 graphics which seems to have good vulkan support (everything works smoothly under linux itself). wine-development is installed along with dxvk. dxvk-setup has been run on the current wine environment.

Fusion360 works fine under wine if you get past the installation point. Everything seems to be working. Ambient occlusion is not as fast as it should be, but I don't see any visual artifacts. Unfortunately, you need to manually select the DX9 mode (which I understand is using wine's built-in drivers) to make it display something. My quest now is to see if I can get DX11 to work to get improved performance.

If DX11 is selected, the following is printed on the console:

info:  DXVK: v0.94
warn:  OpenVR: Failed to locate module
info:  Enabled instance extensions:
info:    VK_KHR_get_physical_device_properties2
info:    VK_KHR_surface
info:    VK_KHR_win32_surface
info:  Intel(R) UHD Graphics 620 (Kabylake GT2):
info:    Driver: 18.3.0
info:    Vulkan: 1.1.90
info:    Memory Heap[0]:
info:      Size: 4884 MiB
info:      Flags: 0x1
info:      Memory Type[0]: Property Flags = 0xf
info:    Memory Heap[1]:
info:      Size: 1024 MiB
info:      Flags: 0x1
info:      Memory Type[1]: Property Flags = 0xf
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_driver_properties
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
warn:  DXVK: No state cache file found
warn:  DXVK: Creating new state cache file
info:  DXVK: Using 4 compiler threads
info:  Game: Fusion360.exe
info:  DXVK: v0.94
warn:  OpenVR: Failed to locate module
info:  Enabled instance extensions:
info:    VK_KHR_get_physical_device_properties2
info:    VK_KHR_surface
info:    VK_KHR_win32_surface
info:  Intel(R) UHD Graphics 620 (Kabylake GT2):
info:    Driver: 18.3.0
info:    Vulkan: 1.1.90
info:    Memory Heap[0]:
info:      Size: 4884 MiB
info:      Flags: 0x1
info:      Memory Type[0]: Property Flags = 0xf
info:    Memory Heap[1]:
info:      Size: 1024 MiB
info:      Flags: 0x1
info:      Memory Type[1]: Property Flags = 0xf
warn:  D3D11Device::CreateShaderModule: Class linkage not supported
warn:  D3D11Device::CreateShaderModule: Class linkage not supported
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_driver_properties
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
warn:  DXVK: No state cache file found
warn:  DXVK: Creating new state cache file
info:  DXVK: Using 4 compiler threads

However, as soon as F360 gets past the splash, you get this:

warn:  DXGI: MakeWindowAssociation: Ignoring flags
err:   Failed to create surface
err:   DXGI: Failed to create presenter

At this point, the area where the surface should be is just left blank (not refreshed, still showing the splash image). I see Class linkage not supported several times in the logs: could this be the cause of the surface creation failure?

What should I do next to try to improve the situation?

Software information

Fusion 360

System information

  • GPU: Intel(R) UHD Graphics 620 (Kabylake GT2)
  • Driver: Intel (KVM on linux 4.19)
  • Wine version: wine-3.21 (Debian 3.21-2)
  • DXVK version: 0.94 (also from debian)
Ddoitsujin maintainer 2018-12-16 github

Can you please post the full wine logs? Surface creation may fail if the game uses subwindows. That is not a DXVK bug but a limitation of wine.

Wwavexx 2018-12-16 github

On Sun, Dec 16 2018, Philip Rebohle wrote:

Can you please post the full wine logs? Surface creation may fail if
the game uses subwindows. That is not a DXVK bug but a limitation of
wine.

I will test soon.

Note that fusion 360 is not a game:

https://www.autodesk.com/products/fusion-360/overview

it's likely that the model window is in itself a subwindow.

Ttinywrkb 2019-01-02 github

The relevant error message is

006b:fixme:vulkan:X11DRV_vkCreateWin32SurfaceKHR Application requires child window rendering, which is not implemented yet!

Wine's bug report 45277.

This issue affect the canvas which is not being rendered at all.

Ddoitsujin maintainer 2019-01-02 github

Closing because this is a known wine-vulkan limitation.

Wwavexx 2019-01-02 github

On Wed, Jan 02 2019, tinywrkbee wrote:

The relevant error message is

006b:fixme:vulkan:X11DRV_vkCreateWin32SurfaceKHR Application requires child
window rendering, which is not implemented yet!

Wine's bug report 45277.

This issue affect the canvas which is not being rendered at all.

Is there a specific flag to trigger this message?

Because aside from the messages I posted, I didn't see any line specific
to vulkan/wine.

Ttinywrkb 2019-01-02 github

I didn't needed to do anything special to get the message.
I'm running Arch Linux which is vanilla, meaning package maintainers try to minimize to customizing applications.
My guess is that Debian's wine package maintainers changed Wine's defaults so its suppressing the default debug messages.
You should be able to see this specific message by enabling fixme messages, and you might want to also enable back the warnings, these are enabled by default for me though I'm not sure if for all debug channels.
Just prefix the wine command with WINEDEBUG=fixme+all,warn+all, for more details see the WineHQ Wiki.

If you need additional assistance then I recommend dropping a line at the #winehq freenode channel or winehq.org forums.

Wwavexx 2019-01-02 github

On Wed, Jan 02 2019, tinywrkbee wrote:

My guess is that Debian's wine package maintainers changed Wine's
defaults and so suppressing the default debug messages.

Ok, by using WINEDEBUG I get exactly the same, just before err: Failed
to create surface.

If you need additional assistance then I recommend dropping a line at
the #winehq freenode channel or winehq.org forums.

The only reason I ever tried wine itself was for fusion 360.
It's quite amazing that it works at all in dx9 mode.

Ddoitsujin maintainer 2019-01-02 github

@wavexx the "Failed to create surface" message comes from DXVK, the

006b:fixme:vulkan:X11DRV_vkCreateWin32SurfaceKHR Application requires child window rendering, which is not implemented yet!

message is from wine itself and will not appear in the dxvk logs.

HHolimaX 2021-04-21 github

Seeing similar issues when trying to run CS:GO in wine-staging 6.6.

Error message: 01ac:err:vulkan:X11DRV_vkCreateWin32SurfaceKHR Failed to allocate client window for hwnd=0x1018e

System:

$ inxi -Gxz
Graphics:
Device-1: AMD Ellesmere [Radeon RX 470/480/570/570X/580/580X/590]
vendor: XFX Pine driver: amdgpu v: kernel bus-ID: 01:00.0
Display: x11 server: Fedora Project X.org 1.20.10 driver:
loaded: ati,modesetting unloaded: fbdev,vesa resolution: 1920x1080
OpenGL: renderer: Radeon RX 580 Series (POLARIS10 DRM 3.40.0
5.11.12-200.fc33.x86_64 LLVM 11.0.0)
v: 4.6 Mesa 20.3.5 direct render: Yes

Launch options

Upstream links