this post was submitted on 12 Nov 2023
4 points (100.0% liked)

Linux Questions

1066 readers
19 users here now

Linux questions Rules (in addition of the Lemmy.zip rules)

Tips for giving and receiving help

Any rule violations will result in disciplinary actions

founded 1 year ago
MODERATORS
 

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?

top 4 comments
sorted by: hot top controversial new old
[–] [email protected] 5 points 1 year ago (2 children)

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 call wine, 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.

[–] [email protected] 3 points 1 year ago (1 children)

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, and vkd3d. Are those particularly common "must haves" to include on the prefix in addition to the game/program?

[–] [email protected] 3 points 1 year ago

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 add dotnet48 and vcrun2022 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 install dotnet48 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 and xact, 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.

[–] [email protected] 2 points 1 year ago

You can always report a bug https://bugs.winehq.org/ and lots are being fixed so you never know your luck!