Bottles icon indicating copy to clipboard operation
Bottles copied to clipboard

[Bug]: Proton not able to run apps with WineD3D, missing dependencies

Open SeongGino opened this issue 5 months ago • 2 comments

Describe the bug

When running a prefix using Proton instead of Wine, if an app uses WineD3D (namely anything that uses DirectDraw/ddraw.dll), Proton will not be able to run it due to missing two libraries: libvkd3d-1.dll & libvkd3d-shader-1.dll. The issue is only resolved by falling back to a different version of Wine rather than Proton - alternatively, symlinking/copying the files to $PREFIX/drive_c/windows/[system32/syswow64] resolves the issue for Proton and the application will run.

For what it's worth, the libraries are included in {PROTON}/files/lib[64]/vkd3d

Tested with GE-Proton9-11 downloaded from inside Bottles, and Proton - Experimental symlinked from a working Steam install.

To Reproduce

  1. Create a new Prefix using a version of Proton.
  2. Start a game that uses wined3d.dll rather than DXVK/VKD3D.
  3. Observe the error attached.

Package

Flatpak from Flathub

Distribution

Arch Linux

Debugging Information

Official Package: true
Version: '51.13'
DE/WM: plasma
Display:
    X.org: true
    X.org (port): :1
    Wayland: true
Graphics:
    vendors:
        nvidia:
            vendor: nvidia
            envs:
                __NV_PRIME_RENDER_OFFLOAD: '1'
                __GLX_VENDOR_LIBRARY_NAME: nvidia
                __VK_LAYER_NV_optimus: NVIDIA_only
            icd: /usr/lib/x86_64-linux-gnu/GL/vulkan/icd.d/nvidia_icd.json
            nvngx_path: /usr/lib/x86_64-linux-gnu/GL/nvidia-560-35-03/extra/nvidia/wine
    prime:
        integrated: null
        discrete: null
Kernel:
    Type: Linux
    Version: 6.9.8-273-tkg-pds
Disk:
    Total: 8339234816
    Free: 8339066880
RAM:
    MemTotal: 15.5GiB
    MemAvailable: 9.2GiB
Bottles_envs: null

Troubleshooting Logs

21:59:46 (INFO) Launching with URI: None 
21:59:46 (INFO) [Activate] request received. 
21:59:46 (INFO) Bottles Started! 
21:59:47 (INFO) Performing Bottles checks… 
21:59:47 (INFO) Dxvks found:
         - dxvk-2.4
 
21:59:47 (INFO) Vkd3ds found:
         - vkd3d-proton-2.13
 
21:59:47 (INFO) Nvapis found:
         - dxvk-nvapi-v0.7.1
 
21:59:47 (INFO) Latencyflexs found:
         - latencyflex-v0.1.1
 
21:59:47 (INFO) Runners found:
         - soda-9.0-1
         - ge-proton9-11
         - sys-wine-9.0
 
21:59:47 (INFO) Bottles found:
         - Test
 
21:59:48 (INFO) Catalog installers loaded 
21:59:48 (INFO) Catalog dependencies loaded 
21:59:48 (INFO) Catalog components loaded 
21:59:49 (INFO) Setting Key sync=fsync for bottle Test… 
21:59:49 (INFO) There is no running wineserver. 
21:59:55 (INFO) Launching an executable… 
21:59:55 (INFO) Using EasyAntiCheat runtime 
21:59:55 (INFO) Using BattlEye runtime 
wine: using kernel write watches, use_kernel_writewatch 1.
fsync: up and running.
wine: using kernel write watches, use_kernel_writewatch 1.
wine: using kernel write watches, use_kernel_writewatch 1.
wine: using kernel write watches, use_kernel_writewatch 1.
wine: using kernel write watches, use_kernel_writewatch 1.
wine: using kernel write watches, use_kernel_writewatch 1.
wine: using kernel write watches, use_kernel_writewatch 1.
wine: using kernel write watches, use_kernel_writewatch 1.
wine: using kernel write watches, use_kernel_writewatch 1.
00dc:err:module:import_dll Library libvkd3d-1.dll (which is needed by L"C:\\windows\\system32\\wined3d.dll") not found
00dc:err:module:import_dll Library libvkd3d-shader-1.dll (which is needed by L"C:\\windows\\system32\\wined3d.dll") not found
00dc:err:module:import_dll Library wined3d.dll (which is needed by L"C:\\windows\\system32\\DDRAW.dll") not found
00dc:err:module:import_dll Library DDRAW.dll (which is needed by L"<redacted>") not found
00dc:err:module:loader_init Importing dlls for L"<redacted>" failed, status c0000135

Additional context

I've mostly noticed this with regards to apps using DirectDraw in some form, and it applies to a few different games, mainly older titles (like the 1998 PC port of Final Fantasy VII).

SeongGino avatar Aug 29 '24 02:08 SeongGino