Trying to use Plogue Chipsounds VST but getting Direct2D error

Discuss running non-Linux applications and plugins on Linux, for example via wine

Moderators: MattKingUSA, khz

Post Reply
serqetry
Established Member
Posts: 24
Joined: Mon Jan 22, 2024 8:45 pm
Has thanked: 2 times
Been thanked: 6 times

Trying to use Plogue Chipsounds VST but getting Direct2D error

Post by serqetry »

The plugin loads with no UI and says "This requires the use of Direct2D and your graphics card or your Windows installation has no support for it."

Not sure how to diagnose this. I'm using Yabridge and I'm running a gaming distro so I have all the bleeding edge Wine stuff and wine-staging.

Any help would be appreciated.

tseaver
Established Member
Posts: 408
Joined: Mon Mar 13, 2017 6:07 am
Has thanked: 12 times
Been thanked: 102 times

Re: Trying to use Plogue Chipsounds VST but getting Direct2D error

Post by tseaver »

  • What distro / version are you running

  • What version of Wine is installed?
    WRT Wine, I would recommend trying to use the wine-staging release, if your are on a Debian-based system.

Ubuntu, Mixbus32C; acoustic blues / country / jazz
serqetry
Established Member
Posts: 24
Joined: Mon Jan 22, 2024 8:45 pm
Has thanked: 2 times
Been thanked: 6 times

Re: Trying to use Plogue Chipsounds VST but getting Direct2D error

Post by serqetry »

tseaver wrote: Fri Feb 16, 2024 2:41 am
  • What distro / version are you running

  • What version of Wine is installed?
    WRT Wine, I would recommend trying to use the wine-staging release, if your are on a Debian-based system.

I am using Garuda Linux KDE Dragonized Gaming Edition which is an Arch-based distro. I seriously doubt there are any issues with the age of any of my installed packages, but maybe there is some kind of configuration problem. Here is my output from yabridge-host.exe:

Code: Select all

002c:fixme:winediag:loader_init wine-staging 8.21 is a testing version containing experimental patches.
002c:fixme:winediag:loader_init Please mention your exact version when filing bug reports on winehq.org.
0048:fixme:heap:RtlSetHeapInformation HEAP_INFORMATION_CLASS 1 not implemented!
0060:fixme:advapi:RegisterEventSourceW ((null),L"Bonjour Service"): stub
0060:fixme:advapi:ReportEventA (00000000CAFE4242,0x0004,0x0000,0x00000064,0000000000000000,0x0001,0x00000000,00007FFFFEDBFA50,0000000000000000): stub
0060:fixme:advapi:ReportEventW (00000000CAFE4242,0x0004,0x0000,0x00000064,0000000000000000,0x0001,0x00000000,00007FFFFE7D1F50,0000000000000000): stub
0060:fixme:winsock:WSAIoctl SIO_UDP_CONNRESET stub
0060:fixme:winsock:WSAIoctl SIO_UDP_CONNRESET stub
0060:fixme:advapi:ReportEventA (00000000CAFE4242,0x0004,0x0000,0x00000064,0000000000000000,0x0001,0x00000000,00007FFFFEDBFA50,0000000000000000): stub
0060:fixme:advapi:ReportEventW (00000000CAFE4242,0x0004,0x0000,0x00000064,0000000000000000,0x0001,0x00000000,00007FFFFE7D1F50,0000000000000000): stub
0058:fixme:service:svcctl_EnumServicesStatusExW resume handle not supported
0058:fixme:service:svcctl_EnumServicesStatusExW resume handle not supported
0058:fixme:service:svcctl_EnumServicesStatusExW resume handle not supported
0058:fixme:service:svcctl_EnumServicesStatusExW resume handle not supported
0060:fixme:advapi:ReportEventA (00000000CAFE4242,0x0004,0x0000,0x00000064,0000000000000000,0x0001,0x00000000,00007FFFFEDBFA50,0000000000000000): stub
0060:fixme:advapi:ReportEventW (00000000CAFE4242,0x0004,0x0000,0x00000064,0000000000000000,0x0001,0x00000000,00007FFFFE7D1F50,0000000000000000): stub
0060:fixme:netapi32:NetGetJoinInformation Semi-stub (null) 00007FFFFEDBFAC8 00007FFFFEDBFAC0
00b0:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
00b0:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
00b0:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
00b0:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
00b0:fixme:wineusb:query_id Unhandled ID query type 0x5.
00b0:fixme:wineusb:query_id Unhandled ID query type 0x5.
00b0:fixme:wineusb:query_id Unhandled ID query type 0x5.
00b0:fixme:wineusb:query_id Unhandled ID query type 0x5.
00b0:fixme:wineusb:query_id Unhandled ID query type 0x5.
00b0:fixme:wineusb:query_id Unhandled ID query type 0x5.
00b0:fixme:wineusb:query_id Unhandled ID query type 0x5.
0138:fixme:sync:SetWaitableTimerEx (00000000000001E8, 00007BAF46F4FB58, 0, 0000000000000000, 0000000000000000,0000000000000000, 100) semi-stub
00e4:fixme:file:NtLockFile I/O completion on lock not implemented yet
0088:fixme:mountmgr:query_property Faking StorageDeviceProperty data
0088:fixme:mountmgr:query_property Faking StorageDeviceProperty data
0088:fixme:mountmgr:query_property Faking StorageDeviceProperty data
0088:fixme:mountmgr:query_property Faking StorageDeviceProperty data
0088:fixme:mountmgr:query_property Faking StorageDeviceProperty data
0088:fixme:mountmgr:query_property Faking StorageDeviceProperty data
0088:fixme:mountmgr:query_property Faking StorageDeviceProperty data
0088:fixme:mountmgr:query_property Faking StorageDeviceProperty data
wine: Read access denied for device L"\\??\\Z:\\", FS volume label and serial are not available.
0088:fixme:mountmgr:query_property Faking StorageDeviceProperty data
0088:fixme:mountmgr:query_property Faking StorageDeviceProperty data
0088:fixme:mountmgr:query_property Faking StorageDeviceProperty data
0088:fixme:mountmgr:query_property Faking StorageDeviceProperty data
0088:fixme:mountmgr:query_property Faking StorageDeviceProperty data
0088:fixme:mountmgr:query_property Faking StorageDeviceProperty data
0088:fixme:mountmgr:query_property Faking StorageDeviceProperty data
0088:fixme:mountmgr:query_property Faking StorageDeviceProperty data
wine: Read access denied for device L"\\??\\Z:\\", FS volume label and serial are not available.
yabridge host version 5.0.5
Usage: yabridge-host.exe <plugin_type> <plugin_location> <endpoint_base_directory> <parent_pid>
yabridge-host.exe group <unix_domain_socket>
serqetry
Established Member
Posts: 24
Joined: Mon Jan 22, 2024 8:45 pm
Has thanked: 2 times
Been thanked: 6 times

Re: Trying to use Plogue Chipsounds VST but getting Direct2D error

Post by serqetry »

Here's some console output when I start the standalone chipsounds exe file. These lines at the end seem particularly bad:

01b8:fixme:vulkan:X11DRV_vkCreateWin32SurfaceKHR Application requires child window rendering, which is not implemented yet!
err: D3D11SwapChain: Failed to recreate surface: VK_ERROR_INCOMPATIBLE_DRIVER

But is this something that is fixable?

Code: Select all

info:  Game: chipsounds x64.exe
info:  DXVK: v2.2
info:  Vulkan: Found vkGetInstanceProcAddr in winevulkan.dll @ 0x6ffffc3f3f90
info:  Built-in extension providers:
info:    Win32 WSI
info:    OpenVR
info:    OpenXR
info:  OpenVR: could not open registry key, status 2
info:  OpenVR: Failed to locate module
info:  Enabled instance extensions:
info:    VK_KHR_get_surface_capabilities2
info:    VK_KHR_surface
info:    VK_KHR_win32_surface
warn:  Skipping CPU adapter: llvmpipe (LLVM 16.0.6, 256 bits)
info:  AMD Radeon RX 6950 XT (RADV NAVI21):
info:    Driver : radv 23.3.5
info:    Memory Heap[0]:
info:      Size: 32058 MiB
info:      Flags: 0x0
info:      Memory Type[2]: Property Flags = 0x6
info:      Memory Type[5]: Property Flags = 0xe
info:      Memory Type[6]: Property Flags = 0xe
info:      Memory Type[8]: Property Flags = 0xc6
info:      Memory Type[10]: Property Flags = 0xce
info:    Memory Heap[1]:
info:      Size: 16368 MiB
info:      Flags: 0x1
info:      Memory Type[0]: Property Flags = 0x1
info:      Memory Type[1]: Property Flags = 0x1
info:      Memory Type[3]: Property Flags = 0x7
info:      Memory Type[4]: Property Flags = 0x7
info:      Memory Type[7]: Property Flags = 0xc1
info:      Memory Type[9]: Property Flags = 0xc7
01b8:fixme:system:NtUserQueryDisplayConfig flags 0x2, paths_count 0x7ffffe1fef38, paths 0x7453f8e3b450, modes_count 0x7ffffe1fef3c, modes 0x7453f8e2dd40, topology_id (nil) semi-stub
01b8:fixme:system:NtUserQueryDisplayConfig flags 0x2, paths_count 0x7ffffe1fef38, paths 0x7453f8e3b450, modes_count 0x7ffffe1fef3c, modes 0x7453f8e2dd40, topology_id (nil) semi-stub
warn:  D3D11DeviceFeatures: External memory features not supported
info:  D3D11CoreCreateDevice: Maximum supported feature level: D3D_FEATURE_LEVEL_12_1
info:  D3D11CoreCreateDevice: Using feature level D3D_FEATURE_LEVEL_10_0
info:  Device properties:
info:    Device : AMD Radeon RX 6950 XT (RADV NAVI21)
info:    Driver : radv 23.3.5
info:  Enabled device extensions:
info:    VK_AMD_memory_overallocation_behavior
info:    VK_AMD_shader_fragment_mask
info:    VK_EXT_attachment_feedback_loop_layout
info:    VK_EXT_conservative_rasterization
info:    VK_EXT_custom_border_color
info:    VK_EXT_depth_clip_enable
info:    VK_EXT_extended_dynamic_state3
info:    VK_EXT_fragment_shader_interlock
info:    VK_EXT_graphics_pipeline_library
info:    VK_EXT_memory_priority
info:    VK_EXT_non_seamless_cube_map
info:    VK_EXT_robustness2
info:    VK_EXT_shader_module_identifier
info:    VK_EXT_shader_stencil_export
info:    VK_EXT_transform_feedback
info:    VK_EXT_vertex_attribute_divisor
info:    VK_KHR_pipeline_library
info:    VK_KHR_swapchain
info:  Device features:
info:    robustBufferAccess                     : 1
info:    fullDrawIndexUint32                    : 1
info:    imageCubeArray                         : 1
info:    independentBlend                       : 1
info:    geometryShader                         : 1
info:    tessellationShader                     : 1
info:    sampleRateShading                      : 1
info:    dualSrcBlend                           : 1
info:    logicOp                                : 1
info:    multiDrawIndirect                      : 1
info:    drawIndirectFirstInstance              : 1
info:    depthClamp                             : 1
info:    depthBiasClamp                         : 1
info:    fillModeNonSolid                       : 1
info:    depthBounds                            : 1
info:    multiViewport                          : 1
info:    samplerAnisotropy                      : 1
info:    textureCompressionBC                   : 1
info:    occlusionQueryPrecise                  : 1
info:    pipelineStatisticsQuery                : 1
info:    vertexPipelineStoresAndAtomics         : 1
info:    fragmentStoresAndAtomics               : 1
info:    shaderImageGatherExtended              : 1
info:    shaderClipDistance                     : 1
info:    shaderCullDistance                     : 1
info:    shaderFloat64                          : 1
info:    shaderInt64                            : 1
info:    variableMultisampleRate                : 1
info:    shaderResourceResidency                : 1
info:    shaderResourceMinLod                   : 1
info:    sparseBinding                          : 1
info:    sparseResidencyBuffer                  : 1
info:    sparseResidencyImage2D                 : 1
info:    sparseResidencyImage3D                 : 1
info:    sparseResidency2Samples                : 0
info:    sparseResidency4Samples                : 0
info:    sparseResidency8Samples                : 0
info:    sparseResidency16Samples               : 0
info:    sparseResidencyAliased                 : 1
info:  Vulkan 1.1
info:    shaderDrawParameters                   : 1
info:  Vulkan 1.2
info:    samplerMirrorClampToEdge               : 1
info:    drawIndirectCount                      : 1
info:    samplerFilterMinmax                    : 1
info:    hostQueryReset                         : 1
info:    timelineSemaphore                      : 1
info:    bufferDeviceAddress                    : 0
info:    shaderOutputViewportIndex              : 1
info:    shaderOutputLayer                      : 1
info:    vulkanMemoryModel                      : 1
info:  Vulkan 1.3
info:    robustImageAccess                      : 0
info:    pipelineCreationCacheControl           : 1
info:    shaderDemoteToHelperInvocation         : 1
info:    shaderZeroInitializeWorkgroupMemory    : 0
info:    synchronization2                       : 1
info:    dynamicRendering                       : 1
info:  VK_AMD_shader_fragment_mask
info:    extension supported                    : 1
info:  VK_EXT_attachment_feedback_loop_layout
info:    attachmentFeedbackLoopLayout           : 0
info:  VK_EXT_conservative_rasterization
info:    extension supported                    : 1
info:  VK_EXT_custom_border_color
info:    customBorderColors                     : 1
info:    customBorderColorWithoutFormat         : 1
info:  VK_EXT_depth_clip_enable
info:    depthClipEnable                        : 1
info:  VK_EXT_extended_dynamic_state3
info:    extDynamicState3AlphaToCoverageEnable  : 1
info:    extDynamicState3DepthClipEnable        : 1
info:    extDynamicState3RasterizationSamples   : 1
info:    extDynamicState3SampleMask             : 1
info:  VK_EXT_fragment_shader_interlock
info:    fragmentShaderSampleInterlock          : 1
info:    fragmentShaderPixelInterlock           : 1
info:  VK_EXT_full_screen_exclusive
info:    extension supported                    : 0
info:  VK_EXT_graphics_pipeline_library
info:    graphicsPipelineLibrary                : 1
info:  VK_EXT_memory_budget
info:    extension supported                    : 1
info:  VK_EXT_memory_priority
info:    memoryPriority                         : 1
info:  VK_EXT_non_seamless_cube_map
info:    nonSeamlessCubeMap                     : 0
info:  VK_EXT_robustness2
info:    robustBufferAccess2                    : 1
info:    robustImageAccess2                     : 1
info:    nullDescriptor                         : 1
info:  VK_EXT_shader_module_identifier
info:    shaderModuleIdentifier                 : 1
info:  VK_EXT_shader_stencil_export
info:    extension supported                    : 1
info:  VK_EXT_swapchain_colorspace
info:    extension supported                    : 0
info:  VK_EXT_hdr_metadata
info:    extension supported                    : 0
info:  VK_EXT_transform_feedback
info:    transformFeedback                      : 1
info:    geometryStreams                        : 1
info:  VK_EXT_vertex_attribute_divisor
info:    vertexAttributeInstanceRateDivisor     : 1
info:    vertexAttributeInstanceRateZeroDivisor : 1
info:  VK_KHR_external_memory_win32
info:    extension supported                    : 0
info:  VK_KHR_external_semaphore_win32
info:    extension supported                    : 0
info:  VK_NVX_binary_import
info:    extension supported                    : 0
info:  VK_NVX_image_view_handle
info:    extension supported                    : 0
info:  Queue families:
info:    Graphics : 0
info:    Transfer : 1
info:    Sparse   : 0
info:  Memory type mask for sparse resources: 0x7ad
warn:  DXVK: No state cache file found
info:  DXVK: Graphics pipeline libraries supported
info:  DXGI: VK_FORMAT_D24_UNORM_S8_UINT -> VK_FORMAT_D32_SFLOAT_S8_UINT
01b8:fixme:vulkan:X11DRV_vkCreateWin32SurfaceKHR Application requires child window rendering, which is not implemented yet!
err:   D3D11SwapChain: Failed to recreate surface: VK_ERROR_INCOMPATIBLE_DRIVER
err:   DXGI: CreateSwapChainForHwnd: Failed to create swap chain, hr -2147467259
01b8:fixme:vulkan:X11DRV_vkCreateWin32SurfaceKHR Application requires child window rendering, which is not implemented yet!
err:   D3D11SwapChain: Failed to recreate surface: VK_ERROR_INCOMPATIBLE_DRIVER
err:   DXGI: CreateSwapChainForHwnd: Failed to create swap chain, hr -2147467259
serqetry
Established Member
Posts: 24
Joined: Mon Jan 22, 2024 8:45 pm
Has thanked: 2 times
Been thanked: 6 times

Re: Trying to use Plogue Chipsounds VST but getting Direct2D error

Post by serqetry »

Finally found out what the issue is. There was an old closed issue on the yabridge github:

https://github.com/robbert-vdh/yabridge/issues/90

I don't quite understand it yet but I need to make a separate wine prefix to use Plogue plugins... and apparently direct2d is not actually enabled by default? I don't get that...

Anyway at least I found some information on this.

serqetry
Established Member
Posts: 24
Joined: Mon Jan 22, 2024 8:45 pm
Has thanked: 2 times
Been thanked: 6 times

Re: Trying to use Plogue Chipsounds VST but getting Direct2D error

Post by serqetry »

Woohoo! I figured it out...

So it's actually really simple. I guess Direct2D isn't enabled by default on Wine... apparently for reasons, so I didn't want to mess up my main prefix which is set up for gaming. Apparently yabridge can figure out your prefixes from your plugins locations, so I just created a new prefix specifically for audio plugins. Then with winetricks and winecfg, I added D2D1.dll to the libraries. Reinstalled Chipsounds in the new prefix, and amazing... working perfectly.

Post Reply