https://bugs.winehq.org/show_bug.cgi?id=49395
Bug ID: 49395 Summary: Altium Designer 20 crashes with E_NOINTERFACE apparently from CreateDxgiSurfaceRenderTarget Product: Wine Version: 5.10 Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: d2d Assignee: wine-bugs@winehq.org Reporter: me+wine@shane.sh Distribution: ---
Created attachment 67463 --> https://bugs.winehq.org/attachment.cgi?id=67463 Crash log from Altium
I'm trying to get Altium Designer 20 running in wine. I'm using wine-staging 5.10 with the msxml6 and dotnet461 winetricks. The winetricks are necessary to get the application to start, and wine-staging because it includes a fix for https://bugs.winehq.org/show_bug.cgi?id=46568. I'm also using the patch from https://bugs.winehq.org/show_bug.cgi?id=49379.
The crash log from Altium indicates says that the C# function SharpDX.Direct2D1.Factory.CreateDxgiSurfaceRenderTarget received a HRESULT of E_NOINTERFACE. I don't understand how FFI works in C#, but SharpDX is open-source and https://github.com/sharpdx/SharpDX/blob/master/Source/SharpDX.Direct2D1/Mapp... and https://github.com/sharpdx/SharpDX/blob/master/Source/SharpDX.Direct2D1/Rend... seem like relevant parts of the code. Presumably though this just gets mapped to d2d_factory_CreateDxgiSurfaceRenderTarget from dlls/d2d1/factory.c.
Also relevant is that the following shows up in STDERR when running wine at the same time as the crash:
00c4:fixme:d2d:d2d_d3d_create_render_target Ignoring render target usage 0x2.
And d2d_d3d_create_render_target is indeed called at the end of d2d_factory_CreateDxgiSurfaceRenderTarget, so it seems to get at least that far.
But from reading the source of d2d_d3d_create_render_target, I don't see how it could ever return E_NOINTERFACE without at least printing some additional warnings, but I don't see any.
Any help would be greatly appreciated!