One of the biggest things holding me back from jumping definitively on Linux is possibly getting rid of the apps/games i’m comfortable with and know well. How do you exaclty use Wine/Proton? You install it, launch the app with it and pray it works? Are there ways to know what is not working and possibly try to fix them googling or reading the documentation?
Don’t you worry about it, wine has been around since the 90s. So many desktop apps you like on windows will be really functional, and you can see their individual compatibility ratings on https://appdb.winehq.org/ For games, it’s another mater. But most of the time it’s fine wether it be on steam proton or wine-ge. Try it for a few weeks and you’ll find yourself happy, but still harassing devs for a native Linux release :)
For steam, it’s identical to windows. Literally do nothing other than install steam, install game, and hit run. The only time it’s a problem is if a game offers a native Linux version but the native version has been hamstrung by the publisher (see: rocket league). In which case all you do is go to the properties of the game, force a proton version, and it will redownload the windows version and work just fine. The only other exception would be for multiplayer games that have not upgraded their anticheat version to one compatible with proton. That’s starting to be more rare thanks to steamdeck.
As for wine, Lutris is a great example of an application with community maintained/driven configurations for popular games and applications to be installed in a couple simple clicks and works the majority of the time.
For other applications, it really depends. My general rule is— if it’s not on steam and nobody has made a script for Lutris, I’ll look for native and open source alternatives. If I can’t find one, then look for instructions on setting it up with wine by hand as a last resort. Finally, can I just live without the app instead?
proton: in steam settings go to compatibility and check steam play. wine: download the installer, then depending on your desktop environment either double click it and install as you would on windows, or right click the background in the folder the example.exe is at, open terminal here, type: wine example.exe and follow the installer.
For Steam games, it’s simply a matter of checking the “Enable Steam Play for all Other Titles”, and you’re all set. Depending on your library, 50-80% will work with no discernable difference, besides maybe a slightly longer download and open time. Check out protondb.com which will give you an idea of how many you can expect to work at least somewhat, including using your own Steam public profile if you wish.
Some games will need a couple small tweaks, ie a specific Proton version to manually copy in, a game setting like Borderless Window, or worst case a few terminal commands but they are set and forget in every instance I’ve encountered. Protondb has comments of others who will share their experience and sometimes how they got something to run well if it doesn’t out of the box.
Non-Steam games also work. Lutris is the easiest way to set it up, but it can be done manually too. Both wine and proton will work, let me know if you want a tutorial for manual set up but it’s too long for one comment.
Now for issues:
Drivers are okay for most general stuff (mic, headset, mice, keyboards, gamepads), specialized stuff requiring proprietary drivers is a crapshoot. I’ve a 2nd hand DAC I can’t use on Linux for Rocksmith.
Games that will not work and likely will never rely on invasive anticheat. So it’s a waste of time to try and run Rainbow 6 Siege, Fortnite, Valorant or League of Legends. Without the anticheat the games could run perfectly fine.
Gaming: I just Steam for most games, I use Proton GE for better performance in some games
General SW: For things that are light and work with Wine, I will use just that. For SW that needs the Windows “runtime” like the Xbox Accessories SW for my Elite controller, I use a VirtualBox.
Most of my needs are covered by regular Linux apps, such as a Browser, Development environment and Media.
To use Proton, install Steam and then download any game through Steam. Most games will just work. Check ProtonDB, that’ll usually list what games do or don’t work, and common workarounds.
To use Wine, install Wine through whatever software store comes with your Linux distro of choice. Then download the .exe you want to run, and double click it. That should open the executable in Wine. The first time you use Wine, you may get a popup to let you install Gecko; click OK and it’ll sort itself out.
Every once in a while, a Wine update may also show a little window about updating your profile when you execute a .exe, but you don’t need to do anything with that. Just give it a few seconds.
If things break in Wine, you have four options: find an alternative that does work without going through a whole mess, launch Windows (in a virtual machine, in a dual boot configuration, whatever), deep dive into things like Wine version management and redistributables, or give up. I know enough about Wine and the Windows API that I can usually figure out what the problem is, but fixing it may not be possible without writing code so I often just give up.
I’ve only ever run into issues with video games and Microsoft Office. Neither are fixable for the mere mortal, but other games and other office programs do work, and for me that’s Good Enough.
Also, install ProtonUp-QT so you can stay up to date on the all the versions. Sometimes a game or app might not work and two days later a new version of Proton/Wine comes out with full support fir said game/app.
Both tools can be used from the terminal like most Linux programs, which should also give you better control during troubleshooting and also in the rarer cases of having to set up/run some more temperamental games. There are also graphical programs that handle Wine/Proton in a more friendly way, such as Heroic Launcher, Lutris and, specifically for Proton, Steam itself.
Bottles
At it’s simplest you just start the programs with Wine. So when you have Wine installed you can just select to run an exe file with Wine. By itself it will install them to a hidden folder where a mock-Windows-folderstructure is created and add entries to your start-menu equivalent.
Most people use helper apps that add a separate mock-Windows environment for every program. Makes it easier to manage them, especially if one program needs different settings from another to work.
Bottles is such a helper for general programs. Heroic is mostly for GOG and Epic games. Lutris generally for games. And Steam uses it’s own Wine version Proton automatically for verified games and you can trivially configure it to automatically use it for every Windows game.
Look at https://protondb.com for games and https://appdb.winehq.org/ for general programs.
Yes, I actually just use Wine with a default prefix and pray it works. If it doesn’t (rarely) then the game gets his own prefix to tweak the settings.
Proton is easy. On steam, go to your settings (you can do this on individual games or your settings for your entire library) and enable the use of a specific compatibility tool. It’ll default to proton experimental or the most recent version, which is fine. You might have to try older version with different games or poke around online for forked versions, but that’s rare.
If you do make the switch, I’d suggest bookmarking ProtonDB and AreWeAntiCheatYet. These two websites will tell you what you can and cannot play, as well as reported solutions to games that don’t work.
Wine is a little harder, you’ll have to go to your package manager (most distros have a GUI, but you might have to use the CLI depending on what you pick), and actually download WINE. From there, you open up wine and tell it what it’s supposed to be translating and where to send files and whatnot. It’s a lot more involved than proton, but it is better for some cases (mostly for things other than games)