GOG.com version of the game. Number taken from the 'Options' screen.
Almost everything what was tested.
What does not
Gamepad (xinput) was not detected ingame although detected by Wine itself.
You'll probably be greeted with no image at all, albeit sound working and input processed.
It seems that the game uses shaders heavily, so it requires a d3dcompiler_43.dll override (just download and add with winecfg; note that it wasn't d3dx9_43, it was d3dcompiler_43 for me! It's not in winetricks even, you must download dll and override it manually). And maybe also discrete graphics card with proprietary drivers (tested on Nvidia Quadro NVS 5200 via Bumblebee-Primus, Intel HD4000 was drawing garbage even with override).
With override and Nvidia card results are altogether flawless here.
Also occasionally game would crash if on 'Fullscreen' setting or when changing this. 'No Border' fixed it for me.
What was not tested
Use caution when using d3dcompiler workaround, as I couldn't undo this override at all (even after removing file itself and all linked wine settings â€” that's a bit strange, huh?) and it broken many other games until wineprefix was remade anew. Best way to handle it in my opinion â€” make another clear prefix with this single override exclusively for Shovel Knight.
|Operating system||Test date||Wine version||Installs?||Runs?||Used|
|Show||Ubuntu 17.04 "Zesty" amd64 (+ variants like Kubuntu)||Sep 19 2017||2.16-staging||Yes||Yes||Yes||Gold||RafaÅ‚|
|Show||Ubuntu 17.04 "Zesty" amd64 (+ variants like Kubuntu)||Sep 01 2017||2.15-staging||Yes||Yes||No||Garbage||RafaÅ‚|
|Show||Ubuntu 12.04 "Precise" amd64 (+ variants like Kubuntu)||Aug 11 2014||1.7.24||Yes||Yes||Yes||Garbage||an anonymous user|
|Current||Arch Linux x86_64||Jul 08 2014||1.7.21||Yes||Yes||Yes||Gold||SAXAHOID|
|Show||Linux Mint 17.1 "Rebecca" x86-64||May 29 2015||1.6.2||Yes||Yes||Yes||Gold||an anonymous user|
If game shows nothing (black screen, no image) consider getting d3dcompiler_43.dll into wine windows32 directory and adding native override for it with winecfg.
Be warned though: in at least one case this override somehow messed up wineprefix where it was added.