Proton is Wine with Valve's gaming patches. Bottles is a GUI that manages Wine environments for you. Both are excellent, and if your games run, there is no reason to leave them.
The reason to learn raw Wine is the day one doesn't. When Bottles shrugs and Proton gives you a black screen, a tool that hides the machinery leaves you with nothing to try. So after two parts of this series on Proton and on Bottles, here is the same job done by hand, with each command mapped to the button that was running it for you.
Nothing here is new behaviour. It is the same layer, with the lid off.
Install
sudo pacman -S wine wine-mono wine-gecko sudo pacman -S winetricks wine-mono and wine-gecko cover .NET applications and anything embedding a browser, and you want them from the start rather than when something fails confusingly. For newer patches:
sudo pacman -S wine-staging Multilib has to be on first. Plenty of Windows games are still 32-bit, and Wine cannot run them without it:
grep -E "^\[multilib\]" /etc/pacman.conf The prefix is the entire idea
Every command below starts with WINEPREFIX=. That is not boilerplate, it is the whole concept.
A prefix is a folder holding a fake Windows install: its own C: drive, its own registry, its own installed libraries. Wine defaults to ~/.wine if you say nothing, which is how people end up with one shared prefix where a dependency installed for one game breaks another.
Bottles calls these bottles, and gives you a Create button. Proton makes one per game, silently, under your Steam library. Doing it yourself is two lines:
mkdir -p ~/wine/my-games WINEPREFIX=~/wine/my-games winecfg winecfg builds the prefix and opens a settings window where you set the Windows version and per-library overrides. That window is the same thing Bottles exposes as its Compatibility tab.
One prefix per game, or per small group of games that need the same dependencies. That is the habit worth forming, and it is also the thing the convenience tools were quietly doing right.
What the one-click tools install for you
DirectX translation
Bottles pulls these in when you create a bottle. Here, you install them and point them at your prefix:
yay -S dxvk-bin vkd3d-proton-bin WINEPREFIX=~/wine/my-games setup_dxvk install WINEPREFIX=~/wine/my-games setup_vkd3d_proton install DXVK converts Direct3D 9 through 11 calls into Vulkan. VKD3D-Proton does Direct3D 12. Without them you are on Wine's own Direct3D-to-OpenGL path, which is slower and will show it.
The Windows runtimes
This is the part Bottles' installers and Proton's bundled components handle invisibly, and the part that produces the cryptic missing-DLL errors when it is absent.
Visual C++ runtimes, all of them, because games pick whichever they were built against:
WINEPREFIX=~/wine/my-games winetricks vcrun2005 vcrun2008 vcrun2010 vcrun2012 vcrun2013 vcrun2015 vcrun2017 vcrun2019 vcrun2022 If vcrun2017 collides with the newer ones, install those separately:
WINEPREFIX=~/wine/my-games winetricks --force vcrun2017 vcrun2019 vcrun2022 Then .NET, DirectX helper libraries, and fonts:
WINEPREFIX=~/wine/my-games winetricks dotnet48 dotnet472 WINEPREFIX=~/wine/my-games winetricks d3dx9 d3dx10 d3dx11_43 d3dcompiler_43 d3dcompiler_47 WINEPREFIX=~/wine/my-games winetricks corefonts Skip corefonts and you get games with missing or mangled text, which looks like a rendering bug and isn't.
Launching
WINEPREFIX=~/wine/my-games wine "path/to/game.exe" That is it. No install step, no library entry, no launcher. Point Wine at an executable.
Games I run this way on Arch: Far Cry 3 Remastered, Need for Speed Heat, Death Stranding 2 On the Beach, and Ori and the Will of the Wisps.
If you want the middle ground
yay -S winegui WineGUI manages prefixes graphically while leaving them as ordinary folders you can still drive from a terminal. Useful when you want the overview without giving up the command line, and it sits closer to Wine than Bottles does.
When this is actually the right call
Honestly: not for daily gaming. For a Steam title, use Proton. For an Epic or GOG game, use Bottles. Both will be faster to set up and will work.
Drop to Wine when something refuses to run and you need to see why, when you want a genuinely clean prefix with only the libraries one game needs, or when you want to understand the layer the other two are built on. That last one pays off every time you troubleshoot afterwards, because you stop guessing at what the GUI is doing.
The full guide
The complete walkthrough with screenshots, the WineGUI prefix workflow, the Wine architecture breakdown and a long FAQ is on my site: Run Windows Games on Arch Linux with Wine.
It is part 3 of a series. Part 1 covers Steam and Proton, part 2 covers Bottles, and the Linux Gaming Roadmap indexes all of it.
If you keep a winetricks verb list that saves you time, I would like to see it in the comments. Mine is above and it is certainly not optimal.
Originally published on MusaBase.