protonscr

Cuphead DirectX error

protonclosed
ValveSoftware/Proton#4535 · opened 2021-01-09 by ChrisNevilleSmith · updated 2021-01-09 · 2 comments · github
CChrisNevilleSmith 2021-01-09 github

Compatibility Report

  • Name of the game with compatibility issues: Cuphead
  • Steam AppID of the game: 268910

System Information

  • GPU: VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Richland [Radeon HD 8570D]
  • Driver/LLVM version: radeon
  • Kernel version: Linux 5.8.0-33-generic
  • system information report:
    Failed to initialize graphics.
    Make sure you have DirectX 11 installed, have up to date
    drivers for your graphics card and have not disabled
    3D acceleration in display settings.
    InitializeEngineGraphics failed
  • Proton version: Experimental (tried 5.13 too, but this didn't even give the error window)

I confirm:

  • [X] that I haven't found an existing compatibility report for this game.
  • [x] that I have checked whether there are updates for my system available.

info: Game: Cuphead.exe
info: DXVK: v1.2.1-6-g894515f6
warn: OpenVR: Failed to initialize OpenVR
info: Enabled instance extensions:
info: VK_KHR_get_physical_device_properties2
info: VK_KHR_surface
info: VK_KHR_win32_surface
err: DxvkInstance::createInstance: Failed to create Vulkan instance
info: Game: Cuphead.exe
info: DXVK: v1.2.1-6-g894515f6
warn: OpenVR: Failed to initialize OpenVR
info: Enabled instance extensions:
info: VK_KHR_get_physical_device_properties2
info: VK_KHR_surface
info: VK_KHR_win32_surface
err: DxvkInstance::createInstance: Failed to create Vulkan instance

Symptoms

Game doesn't launch, get this error message:

Failed to initialize graphics.
Make sure you have DirectX 11 installed, have up to date
drivers for your graphics card and have not disabled
3D acceleration in display settings.
InitializeEngineGraphics failed

Tried reporting it to Steam, hoped they would pass on the relevant information to you, but they made me log this myself, so here I am.

Reproduction

Kkisak-valve maintainer 2021-01-09 github

Hello @ChrisNevilleSmith, Proton uses DXVK to translate DirectX 9/10/11 to Vulkan and you have a Terascale 3 generation video card. All Terascale cards do not support Vulkan and that makes your hardware unsupported by Proton in general.

You may get lucky by adding PROTON_USE_WINED3D=1 %command% to the game's launch options, which tells Proton to use wine's DirectX to OpenGL render path. However, this runtime option comes with a significant performance penalty and is not considered supported.

CChrisNevilleSmith 2021-01-09 github

Worked! Adding this comment so that anyone else looking for a solution knows to try this.

(I've previously managed to get Cuphead to work via Lutris and Wine Steam, but the problem with that was the Wine Steam is very intermittent with reliability. This route should be more reliable.)

EDIT: Coming to think of it, this sound like it would be a useful reference for anyone with with kind of video card running any Steam Proton game - is there any way I can make this more useful to anyone searching for a solution to the same problem?

Launch options

Launch lines