The DRM-free version of the game available at GOG.com and on the GOG Galaxy client.
Application Details:
Version: | GOG |
License: | Retail |
URL: | http://cupheadgame.com/ |
Votes: | 0 |
Latest Rating: | Bronze |
Latest Wine Version Tested: | 7.0-rc2 |
Maintainers: About Maintainership
No maintainers. Volunteer today!
What works
At 98% complete, you may notice, as I did, that the textures start disappearing. For example, you might not be able to see the fat bad guys with little wings that the devils picks up and aims at you. In the console, I see many errors from Cuphead that I am out of Video RAM. I'm not sure what's wrong as Cuphead is supposed to use only 512MB of Graphics RAM, but my machine has much more than that.
What does not
(All of the above have workarounds).
Workarounds
Create an AppDefaults override for Cuphead.exe to disable DirectX 11:
wine reg add 'HKEY_CURRENT_USER\Software\Wine\AppDefaults\Cuphead.exe\DllOverrides' /v 'd3d11' /t 'REG_SZ' /d '' /f
This will ensure that Cuphead falls back to DirectX 9.0c, which works great.
To play Cuphead with controllers instead of the keyboard, I used github.com/KoKuToru/koku-xinput-wine. This also adds SDL2's gamecontrollerdb support for recognizing and configuring different gamepads and joysticks. Note that koku-xinput did no seem to work for newer versions of Wine, for example wine-4.9.
Koku-xinput-wine is a little bit tricky to compile, but works flawlessly once installed. Personally, I copied mine into ~/.local/lib/koko-xinput-wine.so and then made a cuphead.sh script for wine:
cd ~/.wine/drive_c/GOG\ Games/Cuphead [ -r gamecontrollerdb.txt ] || cp ~/.local/share/gamecontrollerdb.txt LD_PRELOAD=~/.local/lib/koku-xinput-wine.so wine Cuphead.exe xrefresh
You probably don't need to copy gamecontrollerdb.txt. I did it because the absolute best controllers for a retro run-and-gun game like Cuphead are the SNES (Super Nintendo) controllers. I have my own homebuilt device to convert SNES to USB, so I had to have my own modified version of the gamecontrollerdb.txt.
I recommend the following gamepad mapping:
That mapping makes it more natural to hold down fire (right trigger) while jumping and dashing to dodge the bad guys.
One problem, with Wine 4.0.1, that did not exist in Wine 2.x is that when exiting Cuphead, the screen doesn't get refreshed. So it looks like Wine has frozen.
A workaround is to run xrefresh, immediately after wine. I do this in my cuphead script, see above.
What was not tested
Nothing
Hardware tested
Graphics:
Additional Comments
If you don't want to hassle with the workarounds, use an older version of Wine.
The Wine 2.x series, for example, required only the koku-xinput kludge.
The framerate and freezing problems did not exist.
Operating system | Test date | Wine version | Installs? | Runs? | Used Workaround? | Rating | Submitter | ||
Show | Void Linux | Jan 02 2022 | 7.0-rc2 | Yes | Yes | No | Bronze | Bob | |
Show | Ubuntu 20.04 "Focal" (+ variants like Kubuntu) | Sep 26 2021 | 6.0.1 | Yes | No | No | Garbage | Andrew | |
Show | Debian GNU/Linux 10.x "Buster" x86_64 | Dec 15 2019 | 4.21-staging | Yes | Yes | Yes | Gold | B Wong | |
Show | Debian 9 (Stretch) | May 30 2019 | 4.9 | Yes | Yes | Yes | Bronze | B Wong | |
Current | Debian 9 (Stretch) | Jun 09 2019 | 4.0.1 | Yes | Yes | Yes | Gold | B Wong |
Bug # | Description | Status | Resolution | Other apps affected |
Please when submit results add hardware specs like as: cpu - mount of ram - videocard and videocard driver used
Remember another versions different to vanilla wine or wine staging dont accepted by wine in submited results
Comments for this application have been disabled because there are no maintainers.