Wine works really well on popular games. But when I want to run a more obscure program I have spotty luck.
On a few of occasions I was able to get a few programs to run via Wine, but after an OS wipe I was unable to get them to work again. In those circumstances I know the programs CAN work, & I realize how terrible I am at troubleshooting Wine problems. Internet searches turn up very little advice for how to go about troubleshooting.
Do any of you have any procedures, rules of thumb, advice etc for troubleshooting Wine issues?
I prefer to set up each program in its own Wine prefix if possible - each Wine prefix is like a new “install” of Windows. When they’re all separated they don’t have any chance of breaking each other when they need special configurations. If you run Wine without specifying a prefix, it will use your default system prefix. If you use e.g.
WINEPREFIX="/arbitrary/path/to/a/prefix"
as an environment variable it will create a new prefix at that location.You’ll also want the winetricks package, which is probably in your distro’s repos. Then you can run e.g.
WINEPREFIX="/your/prefix" winetricks -q -f dotnet48 vcrun2022 dxvk vkd3d
to install DotNet stuff, Microsoft’s C++ stuff, and DirectX->Vulkan translators. Installing these will solve a lot of potential issues for a Wine prefix right out of the box. After those are finished setting up, you can run your programs by declaring your WINEPREFIX before you callwine
, e.g.WINEPREFIX="/your/prefix" wine /your/program.exe
If you want to use a prefix manager to handle some of this for you, you can try Lutris or Bottles. Lutris is primarily built for gaming but it can handle regular applications all the same.
As for running specific programs, you probably want to search the internet to see if anyone else has run them in Wine and if they did anything special. Wine+dotnet48+vcrun2022+dxvk+vkd3d can get you a long way for compatibility, but it will quickly spiral into the bizarre if that doesn’t work.
Thanks for the advice! I’ve made a habit of using individual prefixes for games & non-games alike (via Lutris), but I’ve rarely installed anything extra besides just the program/game in-question. Twice you mentioned
dotnet48
,vcrun2022
,dxvk
, andvkd3d
. Are those particularly common “must haves” to include on the prefix in addition to the game/program?Not all programs will need those but as a shotgun method it’s a very easy first attempt at solving problems. If you’re already using Lutris it’s probably handling
dxvk
+vkd3d
for you, so you can just adddotnet48
andvcrun2022
to see if that helps. You can also run winetricks through Lutris itself with this option, but there’s no way to “force” it via the-f
flag like you can in the CLI. The-f
flag is currently required to installdotnet48
IIRC because Winetricks is confused about which versions of Wine can accept that install.If you’re specifically trying to get a game to work you can also try installing
physx
andxact
, which are sometimes required for older games. Another tip for games is that occasionally certain games get freaked out about NVAPI being enabled, so you can try disabling NVAPI under the “runner options” tab in Lutris configuration to see if that helps. Also, try using the latest Wine-GE Wine version in Lutris, if you’re currently just using stock system Wine. ProtonUp-Qt can download this into the right directory for you if you’re not sure how.You can always report a bug https://bugs.winehq.org/ and lots are being fixed so you never know your luck!