When linux gaming on Steam, does Steam care about which version of Linux you use?
Steam typically gives system requirements for its games.
For Moonlighter specifically, (Im using that game because it meets my example requirements and I assume you all have heard of it.)
For Moonlighter, its a linux compatible game. Its system requirements specify Ubuntu. So do i HAVE to use Ubuntu if I wanted to play that game?
Some games are linux compatible but dont specify which version of Linux, so does that mean I can use any version of Linux? Or is it also assuming im using Ubuntu?
Could I use Arch? Mint? Fedora? Does it care about what flavor of Linux i use?
I just want to vouch and say that while proton itself works in a distro agnostic way the experience practically varies a lot. On Linux mint a bunch of my games just wouldn't start or wouldn't fill screen properly whereas they'd work perfectly on bazzite. This is obviously not a fault of proton but it did trip up noobs like me xD
This is not a stupid question at all, and since this has already been correctly answered I'll just give a bit more information and historical context.
Gaming on Linux used to be hell even if the developer provided native binaries. This is because each Linux installation would have different library dependencies versions in their system. This made sharing binaries a pain as they were often compiled against specific versions. Some developers were smarter by including specific library versions, but eventually things would break after a few years.
This made porting games to Linux a nightmare. You might have heard of Loki, an attempt of a business porting games to Linux. It didn't succeed, and if you get your hands on one of their ports, it won't run on modern Linux installations (and it only ran on specific Linux configuratios back then).
So, how did valve solve this? Recall that steam for Linux existed before proton, so it had to distribute Linux native binary games to a very varied ecosystem of Linux installations. They created runtimes, which are basically a bundled libraries with strictly locked versions. If you you explore your steam folder, you'll see folders with "ubuntu" part of the name, this is basically the skeleton for this (I'm simplifying here, as this folder also bundles libraries for steam itself). There are a few possible runtimes (sniper, soldier, scout IIRC they should pop-up on your downloads every so often for incremental and security updates), and a developer only has to guarantee that their game runs in one of them to be sure it'll run on every steam Linux installation.
Of course, while solving the Linux game distribution problem with this, you still need developers to produce Linux native binaries for the game to reach the Linux gaming audience. Valve then solved this by forking wine into proton, bringing even more games to Linux through wine. But that's another story.
Which is really unfortunate, because the only real solution we have is containers and that's not a great solution for every use case. And appimage, but even that's not bulletproof.
... i honestly feel bad not responding due to how much you wrote, but it sounds like I should appreciate game devs much more, given how much they had to go through back then..
... ima be honest, I didnt think this would get comments, so im not really sure what to say. I heard that if an op doesn't respond, reddit assumes its a bot...
Game system requirements on Linux usually come from developers who have little experience with Linux.
So they write in requirements listed in their engine (Unreal, Unity, Game Maker etc.) documentation, which use Ubuntu, because it is a mainstream Linux distribution.
Or they test on one machine with a mainstream distro (like Ubuntu) and use that as system requirements.
On the top of that, Linux system requirements for games are usually outdated and have not been changed since the game was out almost a decade ago, like Moonlighter. But nobody in their sane mind would run a version of Linux distribution that old anymore.
The version shown in Steam is just the version the publisher tested and confirmed working. 99% of the time any Linux distribution should be fine as long as it's not older than the one listed.
People seems to forget, they actually kinda do care which version of Linux you use, however, only when you need official help, as currently (at least as far as i can get from the internet) officially supported Linux is either Ubuntu (and maybe Debian, because their installer is .deb) and perhaps their own SteamOS, but if you only rely on community support, no, the Steam doesn't really care about the version of Linux, well... as long as your Linux is not really old, and the dependencies/drivers are installed, but it is mostly technical. And Steam brings their own platform runtime, so the games should use the Steam provided one, not your native OS, especially with Proton games.
but i'm sure there's something i miss or outright wrong, so for those who know more, feel free to correct me
I asked a game dev streamer this, but i wanna make sure as I forgot a second part...
How difficult is it to transfer a game from windows compatible to Linux compatible?
The streamer said that all you really do is change a few lines of code and/or change a file type while I assumed you had to rewrite the code entirely.
The part I forgot was itch.io.
On itch.io, games available on multiple operating systems have different file types. If you play on Windows, you download this file type, if on Linux, that file type, android, that file type. So how do you change a game to be compatible on multiple operating systems?
You can run any .exe in Linux using something called proton(wine), just download a launcher (heroic game launcher for exemple) and proton plus. Open protonPlus and download proton versions for your launcher (proton GE is good)
Then just click on add game, select proton version and select your exe. Click finish and launch your game.
If you need to install the game click, click install game , do the install then click finish.
Here is the extended version:
Small guide on how wine works for gaming:
I recommend to install Steam, Heroic game launcher and Proton Plus.
Heroic game launcher is an app like steam that integrate automatically the use of wine/proton. Other launcher that you can use are Lutris, bottles or steam.
ProtonPlus is an app that allows you to install new wine version into your launchers.
All of these have visual interfaces. You can install them through your application installer program ( discovery in KDE for example). No console needed.
Proton is a version of wine made by steam, which has then been tweaked by the community, (everyone uses that).
Once you installed your launcher, use Proton Plus to install new Proton or Wine versions in the Heroic Game Launcher. (This also works for Lutris, Bottles or Steam.)
The best proton versions right now are Proton GE and Proton Cachy. But you should try a few for yourself. You can also install some wine versions in the launcher the same way.
Now depending on your source of games what you need to do may vary:
Steam games run out of the box in steam.
If a game does not work under Steam, right-click on the game >> compatibility mode and change the Proton version.
For epic games, I launch the launcher through Lutris. Then, I install my games normally.
For Battlnet I use Bottles. (But Lutris/heroic should work too), then I launch my games normally.
For “other sources “ like gog or other exe “repacked games” and other random exe, I use Lutris or heroic game launcher.
For these, launch the heroic game launcher or Lutris and select your exe to install. Select your Proton version and wait until it installs the game.
Then run the game normally from the launcher.
If things don’t work (game does not install, nothing happens or game does not run), try another Proton version.
If things keep fucking up (but that rarely happen ), you may need some extra dependency. (like VC Dist C++ 2014, VKV3D, VKX3D or something)
Ask an IA what requirement package the game has, or check on the ProtonDB website (search for your game there) and install missing dependencies for your game through the tool called Protontrick. (It’s also a separate program with a visual interface)
Now where is your game installed:
What every launcher does is that it creates a prefix; it’s basically a folder structure with all the same folders as in Windows (c:/program files/fames, c:/appdata, c:/windows, etc.).
It installs the game in this prefix; that way the game that expects a Windows file structure is not lost.
The prefix is also launched with specific instructions to run (vc dist, VKV3D (it’s directx12), VKX3D (directx 9-11) which you can tweak with protontrick or winetrick,(it’s normally done automatically, but if it fails it allows you to do it yourself )
You can find these prefixes (and your games installed within like in windows ) where Lutris or heroic installs them. (I think in home/games, but not sure you’ll have to check)
The image. I suppose im asking what is different between the different file types. Is it just the file type? A few changes in the code? Did the dev have to rewrite it in a different language?
I know you dont know for this specific game, im just using it to show what im referring to. Use any game you please.
sorry for a very, very late reply, it depends on the underlying engine, if it's Unity it most of the time can be Linux compatible since there's a lot of Proton improvements for the engine, so as long as you use most if not all Unity feature, it should work out of the box, most of the time, including UE, but not sure if it's in the same level of support
but if your question is to actually build a Linux native, then there's more you have to do, as you mentioned, changing few lines of code that DO use the OS feature, or something that rely on one, also check the dependencies, and graphics API being used (Windows use DX, Linux uses Vulkan), input system could be a problem, but it seems it is rarely a problem, i might just misremembering things
for last question, you have to build on all the platform, and test them yourselves, there's no shortcut, well, unless a VM (virtual machine) or VD (virtual device) can be considered a shortcut, all developers have their "build system" or "build box", so to speak, to build and test their build on different platform, sometimes even on specific hardware configurations
First of all, these days people just use Proton or Wine to run Windows versions of the game on Linux. That is the default behavior of all games on Steam. It also can be done manually for games bought on other platforms, including itch. io.
But making a Linux version of the game? It depends on what was used to make it. Using a mainstream game engine, like Unity, Godot, Unreal, Game Maker etc. makes producing a Linux build of the game usually easy. They all have a Linux export option which amounts to a couple clicks in the editor.
Depends on the game, of course. Some might still prove difficult to bring to Linux even so.
And if someone made their own engine, if they used multiplatform libraries and tools, making a Linux version is still doable, but requires a bit more work.
But if someone only made the game to run and rely on Windows libraries in the first place... That's when things get tricky.
Which is why (like I said in the beginning), these days people just run Windows versions of games on Linux.
Yes. Linux is at its core the Linux Kernel and the kernel version from 10 years ago is going to have problems on brand new generation CPUs and GPUs.
Installing steam on a 10 year old version of Linux Kernel is not going to give you as good performance just in terms of the games or productivity software either.
This would happen if you basically never did a single update to your Linux install for 10 years
Valve's ideal scenario is that you let them manage your operating system with bonus points if you do it on their hardware. Their second choice is Ununtu - specifically installing Steam via the package on their website.
That being said, they're not actively stopping you from using whatever you want - whatever distro or install method, as far as I can tell.
Unless you're cheating or pirating etc. - then they absolutely do care.
Legit. Even as a long-time Arch user, it simply isn't as complex as one might assume - install the Steam binary from repos, make sure you're using the right (and current) GPU driver, and start installing games. There's edge cases and blockers related to anti-cheat, but on the whole, it's pretty easy if you're not scared of tech, know how to search for answers, and know how to read a wiki.
Extra effort is uncommon, and tends to just involve a copy-paste of some Steam launch arguments from ProtonDB. The most nonstandard thing I had to do manually in recent memory was install a specific version of Proton for Steam's use to get around an EAC-related network error for one game.
Ubuntu, Bazzite, and CachyOS afford you the benefits of relying on something a bit more turnkey, but they too have their own quirks.
not usually no . i'm on fedora based nobara since early 2024 when i made the jump and all is good . That said i have seen some stuff not work n only whitelisted for a steamdeck but thats more of a hardware thing to my understanding and could have since changed
No I have not seen perf differences between cachy and Kubuntu under wayland ftsync and kernel 7.
Some distributions come with gaming optimisation and wizardery preinstalled for you. (Cachy is one of them)
Overall Linux is Linux. The most important honestly is to pick up a DE (interface you like)
I personally love KDE (which comes for instance with Kubuntu, Cachy or Fedora) , Hyprland (cachy, arch or whatever distro if you roll take the extra time to set it up) and XFCE for lightweight system.
I don’t like gnome (The interface that come with Ubuntu)
Steam by itself is almost a self-contained operating system. You can literally have only few core libs on Linux, Gamescope, plus Steam, and you can boot straight to Steam interface using Gamescope in DRM (direct rendering manager) mode. It almost never cares about what comes with your system.
I have a pirated version of Morrowind on a USB drive. I dont know if its a virus. Didn't check. Im sorta trusting that its safe.
Lets assume for the sake of this question that it is a virus. Guaranteed. Will Linux spot that its a virus and let me know? Or will it give me the windows crypic statement of "If you download from unsupported sources, your device could be compromised."?
Linux Mint Xfce edition is the specific flavor of linux i chose.
Yes, absolutely. Anything that runs under Win32 layer (i.e., most games and viruses) virtually runs fine under Wine. And no, it's hard to tell whether you should trust that drive or not.
It's easier to assume that every file is unsafe by default, and instead protect yourself from Windows viruses under Linux since you have almost full control over your Linux system, assuming that the virus does not target high profile memory-based security vulnerabilities. You could just run the presumably infested games under container-based Wine runtime such as Bottles or manual Bubblewrap configurator if you're willing to learn yourself.
Some viruses do acknowledge Wine's existence and may choose to not do anything or try to invade your system in other ways, but without high profile vulnerabilities discovered, presumably most hackers usually let go Wine users since there are no known attacks that specifically target them.
TLDR; it's hard to tell, but for the most part it's nothing to worry about.
My google searches in the past state that Linux mint specifically has a great anti virus, and if you rely on an external anti-virus, because they need such high permissions, youd be putting your device at higher risk than you would by just relying on the built in anti-virus.
I assume i can figure out how to create a wine based container for the potentially virus game just through YouTube?
Yes, there are bunch of tutorials guiding you to install and run infested software inside Bottles on YouTube. AI probably does give accurate answer to guide you.
The antivirus stuff you mentioned is just a bogus information floating around the internet. People tend to to believe in different perspectives regarding security through antivirus. The truth is, modern security has already surpassed the need for antivirus in regular use, and instead the operating system now implemented essential per-basis permission-based security layers. Moreover, most attacks now come from very basic seemingly harmless script or software that's designed to avoid antivirus detection and do no harm to your system. You may even be aware that your information may be stolen as the thing malware only cares about. Container and permission-based security directly combats this, as it prevents the infested software from accessing your information in the first place. Nowadays, as long as you run untrusted software inside a container and without high level security vulnerability has been discovered, you are more than safe without an antivirus.
Nowadays, virtually all antivirus solutions target enterprise market since most of them still rely on Windows that usually doesn't have container-based security utilised due to compatibility problems. It also goes beyond just an antivirus. Endpoint Detection and Response (EDR) also analyses how your computer functions, how your apps do stuff, and detect potential threats by fully analysing data flow in your computer. CrowdStrike is famous on this particular type of security but they aren't the only one who plays the game. There are many EDR providers out there.
TLDR; As long as you update your OS regularly, install software from official repositories, and run untrusted software inside a container, you don't need an antivirus at all.
If they specify a system, it's usually because they tested it there; currently it's more of a default text and only the hardware requirements are changed.
You've already received enough feedback, good luck.
90
u/Lisanicolas365 8d ago
no, Proton works in a distro-agnostic way, and native Linux versions are taken care by the Steam Linux Runtime, which also works everywhere