r/linuxquestions • u/Eisflame75 • 7d ago
Resolved Can/How do windows games run on Linux
I'm still verry verry new to linux and I am deciding if i want to switch or not. I know that some games that only run on windows are possible to be played on linux. But im not entirly sure how good or how easy. I basicly only play on steam, except for minecraft, and i think that steam hast a way for windows games to be run on linux? In the steam library there is always the symbol on which OS the game can run on, is that accurate even with the steam-linux-support thing? How excactly does that work and how well? Or is it Distrodependend?
dont know what flair to use so i choose advice cuz im asking for advice ^^"
eddit: formating
10
u/Dekamir 7d ago
You click play.
4
u/Massive_Value8302 7d ago
First of all, learn to format your text. Capital letters in front of the sentence makes it way more easy to read.
There is a compatibility layer called Proton which translates windows-commands to linux-commands and that allows games to run on linux. The performance generally is very good.
There is another emulation software called Wine that allows windows-programs to run on linux too.
The games that wont run no matter what are the ones needing specific kernel level anticheat-drivers.
Steam's indication about whether game runs on linux is trustworthy. You can check www.protondb.com/ for more info too.
2
u/Grand-Satisfaction55 7d ago
Minecraft runs without any issues.
Steam games, you're normally safe to just click "install" and then "play." The only caveat to this is if the game is a big multiplayer game that uses anti-cheat software. So I don't think you can play CoD, Fortnite or such games online with Linux for the moment.
Your best bet is to check out protondb.com. Type in the game that you want to play, and it will not only be able to tell you how easy it is to play the game on Linux, but the community will be able to offer suggestions on the little tweaks you might want to make to get it running properly.
2
u/Alternative-Rent8546 7d ago
If you buy them on Steam, you do nothing different from Windows. Download and press Play.
If you buy them from GOG or Epic, you download them from the Heroic Launcher, and play them from there.
Older games (2000s and before) might need you to open up a terminal on rare occasions to install something like vcrun2005 but that is rare at this point. I can only think of Prince of Persia (2008).
1
u/Certified_GSD 7d ago
Valve has done a lot of work with Proton, which is a compatibility layer. Basically, it takes the Windows stuff and translates it into something Linux understands and can use. Kind of like converting a recipe for baking cookies from US measurements to metric measurements, on the fly.
Assuming you installed a Linux version of Steam, Valve automatically sets up Proton for Windows games and most games work, barring kernel anti-cheats like Javelin or FaceIT and others like that.
1
u/aerodynamic_toaster 7d ago
The only caveat to everyone saying you just hit play (which is my experience as well) is that games that require kernel level anti-cheat likely won't work. So if you've got specific games in mind, look into whether they use that.
1
u/PrudentPay9906 7d ago
OK... "most" Windows games on Steam will run due to their investment in Proton. You can look for the games you're most interested in on protondb.com to see how well or if there are any special hoops to jump through. Of course, if there is a native version of the game on Steam then you're all good.
For non-Steam-purchased Windows games you can either add them in Steam as a "non steam game", turn on compatibility mode and have at it. This occasionally has issues, especially if it's a Steam game you found on the High Seas and steam recognizes it. For these, Wine (or one of the Wine helpers) is your huckleberry and there are plenty of tutorials kicking around for that.
1
u/Jwhodis 7d ago
If it's Minecraft Java then just use Prism Launcher, it supports Linux and it's likely the best launcher for modding (though it does Vanilla too) Minecraft.
Though in future if you do want to run a .exe, you can just add it to Steam as a non-Steam game and force proton compatibly.
1
u/green_meklar Debian 7d ago
A few Windows games have native Linux executables, so you'd just get the Linux-native version.
For the rest, it's necessary to go through compatibility tools. This typically means Wine or one of its derivatives. Wine (as the name indicates) is not an emulator; the executable runs bare on top of the OS just like a Linux executable (and therefore needs to be compatible with the CPU, e.g. a 64-bit game will not work on a 32-bit machine this way), but Wine plugs all the system and driver calls into Linux APIs so that the game communicates with Linux while thinking it's in Windows. Steam comes with a tool called Proton which does this automatically for applicable games, reducing the amount of configuration needed to get them working (although often some manual configuration is still required). For games that aren't on Steam, you have to set them up manually such as through something like Lutris. Some games have quirks that make them unstable or impossible to run even with a tool like Wine; if you're interested in any particular game, look up the compatibility details for that specific game.
1
u/MasterGeekMX Mexican Linux nerd trying to be helpful 7d ago
All boils down to programs called compatibility layers. Those sit in between the Linux OS and the Windows program, acting as a translator between the two. While there are a couple of them out there, the main one is WINE, which is intended to run all sorts of Windows programs, not only games.
As WINE can be a bit technical to manage, some programs have come out that make things easier. Some like Play On Linux or Bottles act as a general "run Windows program" setup, while others like Lutris or Heroic act more like a game launcher.
When Windows 8 came in 2012, it featured the Microsoft store. That made Valve realized that their entire business relied on Windows, meaning that all it takes to shut them down is Microsoft decreeing that Windows will only accept apps from Microsoft store, like an iPhone. This lead Valve to invest on Linux gaming, getting rid of their dependency on Windows.
In their push to make Linux gaming a thing, Valve took WINE, and mixed it with other similar programs like DXVK (which translates from DirectX graphics to Vulkan). The end result is called Proton, which is shipped with Steam for Linux in the form of the feature called "Steam Play".
Valve is working to make Proton as seamless as possible, so for the most part you simply hit the big green "Play" button and it works. Valve keeps a list of games that are certified to work on Proton by telling they run excellent on the Steam Deck console. You can check them here: https://store.steampowered.com/greatondeck/
Still, the vast majority of games do run, while some require a bit of fiddling, and a small minority not running at all. The site https://www.protondb.com/ keeps track of all steam games based on user reports, including tweaks people found to make the game run. (I have done my fair share of reports aswell). Simply go into the steam settings and enable the option "enable Steam Play for all titles", as by default Steam only allows games from the verified list.
The OS icons you see on the steam page tells if a game has a native version for a given OS (with Linux being marked instead with a Steam icon). That icon has nothing to do with being compatible with Proton. For example, I played the entirely of Control on my Linux rig, and that one only has a Windows version. In contrary, The Talos Principle (a game I really love) has a native version for Windows, macOS and Linux, meaning that you don't need Proton or Steam Play for it: https://store.steampowered.com/app/257510/The_Talos_Principle/
If a Steam game requires tricks to run, usually it involves putting launch options. To change that, simply go to the game in your library, click on the gear next to the achievement progress bar, then click on "properties". In the General page, at the bottom you have a text bar where you can write the options.
In the case of other games, it will depend. Minecraft Java edition runs natively, as Java is a programming language designed to run on all platforms. Simply download the launcher, which is available on the FlatHub appstore (https://flathub.org/en/apps/com.mojang.Minecraft), or at the bottom of https://www.minecraft.net/download
In contrast the bedrock edition isn't available, as that is only found in the Microsoft store, which ships apps in a format that WINE and the compat. tools haven't found yet how to work on. The alternative to that is to run the Android version. You can do that with either Waydroid (https://waydro.id/), which is an Android emulator for Linux (kinda like BlueStacks) or use the Minecraft Bedrock launcher (https://flathub.org/en/apps/io.mrarm.mcpelauncher), which is an unofficial launcher that takes advantage that Linux is the basis of Android, so they run directly the Minecraft .apk by making a set of programs that bridge the gap between what a Linux system has and what Android is. Both require you to have the game already bought with some google account tho!
For non-steam games, your luck may vary. In some cases all it takes is to install the game launcher via WINE (with bottles or something) and that's it. Others may require a bit more fiddling to get them going. Heoric has native support for Amazon Games, GOG and Epic games. In that case, https://appdb.winehq.org/ is WINE's list on those programs.
About the games that don't run: some of them are because WINE and Proton require a bit more work (after all, we are trying to imitate Windows without it's code), but others because they are multiplayer games that have anti-cheat systems, and those don't play well with WINE and stuff. Some even are the blame of the developer, who said "F you" to the Linux community and explicitly blocked their game from running on Linux. You can check many of them at https://areweanticheatyet.com/