Hacker News new | past | comments | ask | show | jobs | submit login
With Proton and Steam Play, many Windows games now work on Linux (protondb.com)
938 points by OJFord on Dec 7, 2020 | hide | past | favorite | 544 comments



Another Linux gamer. I seriously don't miss windows anymore.

At this point I'm not worried about compatibility, but rather shitty game companies banning you the second they figure out you're playing on linux.

This is especially an issue in PvE heavy games that have only small PvP elements. Looking at you Destiny 2.

I really wish companies stopped their draconian policies about Linux gaming. Or at the very least just restricted PvP game play when Linux was detected. Heck I'd manually go in and press a button certifying that I'm a Linux player and I understand that I won't have access to every portion of the game if that's what they need me to do.

But these limitations have also pushed me to explore more indie, or small publishing games that are multi-player. Shout out to Northgard and Deep Rock Galactic (even though it doesn't support Linux natively) for making an awesome cooperative experience that I can have with my friends on Linux.

Also, for developers making games out there. PLEASE test your game with the steam runtime OS thing, not with Ubuntu or a specific distro. The steam runtime is open source and can easily be bootstrspped for any game, even outside of steam. It also ensures optimal compatibility with every distro out there.


I was seriously considering adding Linux support for my game, that already has turn-based multiplayer, and this thread was the last thing I needed to convince myself it could work.

Performance may be an issue. I wonder if people would be ok with electron games sold on steam running on linux...


One of the games I run the infrastructure from had an issue with Proton. It caused issues with the multiplayer parts of the game.

We were forced to disable support for Proton a few months ago. We posted a bug in the Proton GitHub repo and got a great response from the Devs. The issue was resolved in the very next patch and we were able to enable Proton support again.

Other than that issue our players very rarely come to us with Proton specific issues.


Normally electron apps bother me on linux because they don't use my carefully selected GTK/QT/Openbox theming like most native apps do (whereas on windows I don't care because I don't have the ability to make anything look how I want).

But I expect games to be fullscreen and have their own bespoke UI look and feel anyway, so it's not really an issue with them.


Electron apps bother me because nobody bothers to make Linux builds for proprietary electron apps. Running windows builds of electron apps under wine doesn't always work. At this point windows applications using Microsoft APIs are more cross platform portable than electron apps.


Do you have consistency between GTK/Qt, or only within each? I've never really bothered to set it up (just installed some theme I pulled a name from Arch wiki for, so buttons look like they're from this century) because I assumed I could go to a load of effort and still notice which is used for each program I use.

And then find myself caring which I install if I have the option, or not wanting to if it's only available in the wrong one.. whereas I'm presently free of that.


With a bit of effort it’s a solved problem, however as soon as that was sorted, developers started using snaps and flatpaks that just Do Not Care about your system settings... and we’re back at square -1, because now you won’t even get consistency between Gtk apps and Gtk apps.

The Linux desktop sometimes is like a bad comedy sketch.


Well now I've gone from not caring about snap/flatpak (only selling point seemed to be ease of install; I've never had a problem with arch & the AUR) to making mental note to steer well clear if the temptation ever began to set in.


Yes snap is bad. Compared to the AUR qhere you can read the build script, snap is compiled by someone else and the build script isnt available to perform yourself, at least as far as I looked.


The advantage here is that malware can't be shipped as part of the build process.


I tried Ubuntu for a couple of weeks because I felt that the installation procedure for Arch would take some time for me to set up and I wanted to be up and running a bit faster.

After 4 weeks and every app having so many hoops to jump through because of snaps to get them working together I jumped ship and went back to Arch and the AUR. It's just such a difference in user experience. I feel that Ubuntu is doing a big disservice with snaps (haven't used flatpack that much) to the Linux Desktop community. If it's impossible for me to understand how to use it efficiently, then there is no way in hell I will point my father towards Ubuntu.


Out of curiosity, which apps do you use that come packaged in a snap? My Ubuntu 20.04 tells me this:

  $ snap list
  Name                 Version                     Rev    Tracking         Publisher   Notes
  canonical-livepatch  9.5.5                       95     latest/stable    canonical  -
  core                 16-2.48                     10444  latest/stable    canonical  core
  core18               20200929                    1932   latest/stable    canonical  base
  gnome-3-28-1804      3.28.0-19-g98f9e67.98f9e67  145    latest/stable    canonical  -
  gnome-3-34-1804      0+git.3556cb3               60     latest/stable    canonical  -
  gtk-common-themes    0.1-50-gf7627e4             1514   latest/stable/…  canonical  -
  snap-store           3.38.0-55-geb45541          498    latest/stable/…  canonical  -
I think it's the bare minimum before utterly removing all support for snaps [1].

I installed everything I need either as .deb or docker. BTW, slack has a deb on its download page.

I installed another 20.04 on my old laptop from 2006 yesterday because I read that its kernel would finally support again the old ATI X1600 graphic card. It does. When I run emacs and thunderbird from terminal it told me "command not found" and something along the lines of do you want to install as a snap or with apt? I run the apt commands.

[1] https://www.kevin-custer.com/blog/disabling-snaps-in-ubuntu-...


Thunderbird, Kdenlive, Darktable, Gimp, KeePassXC, VLC, Minecraft

Those are the ones I remember. I needed to install them via snap because the deb packages were too old to be able to open my files which I copied over from my Arch installation.


This prompted my to investigate. I'm on Thunderbird 68 and the latest release seems to be 78. I think I only need the features of Thunderbird from 15 years ago, so that's ok.

VLC is 3.0.9.2 and GIMP is 2.10.18. No Kdeenlive, Darktable and Minecraft. I'm using KeePassX (not XC) version 2.0.3.

Of course I would install snaps if I absolutely needed an app distributed only as snap but I'd rather use debs.


> I'm using KeePassX (not XC) version 2.0.3.

Note that KeePassXC is the continuation of KeePassX, which is defunct (last release in 2016, only two commits since for new Qt versions)


I mean, it's just back to the state of windows where even most of Microsoft's apps aren't consistent with each other


Windows actually used to be decent and fairly consistent, but I agree that it's gone to shit in the last decade. They botched scaling to HiDpi and fragmented their UIs in the sad attempt to chase convergence with touch UIs.


did it ? except win 3.1 (but then I was a small kid) I remember a huge majority of apps having their own little fancy skins in 98, XP, etc


Majority? Not as I recall it. Some, yeah - famously winamp, which made it compulsory for music players (hence generating a river of tacky UIs). But in my world the majority of apps had the good old “top-bar-menu-icons, File menu, Edit menu, etc” format.


They are my last hope to get a decent UI now.


Do snaps/flatpaks really not look at your local configs? Thats... terrible. I've avoided them already anyway because they seem like wholly unnecessary (and quite significant) bloat.


Flatpak does respect your GTK+ Theme - but you have to either have it installed in ~/.local/share/themes or youbhave to download your theme as flatpak package aswell. But that implies that someone has to maintain the flatpak packge.

While the most popular themes are available, more "niece" themes are missing. Do a `flatpak remote-ls flathub | grep --color "org.gtk.Gtk3theme"` to see all available themes.

Note: I'm maintaining a theme on flathub.


Maybe it's just me, but distro repo usually has only esoteric and metro themes, so if I want something usable, it ends up in .local.


No, probably because that's outside their scope and so they're not allowed to read them.


Surely the sane thing to do security wise would be to mark each flatpak as needing config files foo and bar, and sticking those into the sandbox as well on launch. The app itself doesn't need filesystem access at runtime. Linux apps suddenly not reading standard config files on my system would be a pretty big downside.


I think part of the issue is that technically you cannot guarantee that config files written by the system-installed toolkit can be safely used by the flatpak-shipped toolkit. This said, I think flatpak actually makes an effort to use the ones available in the user’s home folder, whereas snap just does its own thing and screw everyone else.


They do by the way of an xsettingsdaemon (so not accessing directly) for security reasons. The obstacle instead is that they are self-contained, so they should not depend on the theme files outside their system. Hence, they will read what theme you are using and then inside their system look for a matching one.


You can set up QT to use GTK themes (seems like this is the default in KDE Plasma): https://wiki.archlinux.org/index.php/Uniform_look_for_Qt_and...

I currently just don't have any QT based apps on my Arch system though I don't think.


I came at it the other way - make GTK apps look like Qt ones. Everything on my system uses Breeze Dark. The only way I can tell GTK programs from Qt ones is the "About" dialog, or the file picker. (Oh, how I wish I could use the Qt file picker in GTK programs)

(edit: QT -> Qt. Seasons greetings to the flagkilled throwaway who informed me of my mistake.)


It's not actually translating GTK themes to QT, its special themes with both QT and GTK versions.


The linked wiki page lists both.


It lists both for Qt 4, but afaiu for Qt5 you need to use special combined themes.


Ah, thanks, I think it's adwaita (mentioned there) that I picked at (pseudo)random, so maybe I already have it.

Not sure if I have any either to be honest, but that's what I mean, I like not worrying about it.


I'm a big fan of the Arc theme.


Yes: https://wiki.archlinux.org/index.php/Uniform_look_for_Qt_and...

(Distros that are not Arch usually set up one of these solutions out of the box).

It works very well for traditional QWidget/GTK style desktop apps. However, with both QtQuick/QML apps and modern Gnome apps, they have more divergent paradigms and particularly the QML apps tend to be less consistent with each other, never mind other UI toolkits, for much of the same reason webapps also are.


Maybe I'm weird but I would rather use a wine app than a native electron app.


I've never thought that Linux Desktop provides unified desktop experience.


It does out of the box on a lot of distros, and you absolutely can DIY it to the point where you have a consistent look and feel with even totally custom theming. Check out /r/unixporn for some examples. (Although they often lean towards a very specific aesthetic - bitmap fonts and anime girls are a bit of a meme there)


It's spelled Qt, not QT.

QT means QuickTime.


I feel such persistence in the face of adversity should be rewarded :)


Not sure if you've seen crosscode, but they released on steam and other platforms with impactjs and they're doing very well. (Not quite electron, but still html tech) If it runs well, who cares about the tech :-) People seem to complain about electron in tools and background apps. If it's the main/fullscreen app, it shouldn't be a problem.


Never in my life would I have expected crosscode to be anything like HTML/JS based. That’s one of the most fluent games I’ve played.


It took a lot of work to make it performant on something like a switch. In the end I'm not sure if it's quite HTML/JS based anymore. I can't find the tech talk video where the porting guy goes into all his work to make it work on a switch.

Save yourself some hassle, just make your game with gamemaker, UE4 or unity if you have any ambitions of going cross platform in the vague future unless it's really simple point and click slow paced strategy games, a dating sim / story game or similar.


It runs on top of a multimedia library called Kha while running on consoles (https://github.com/Kode/Kha).

Here's the talk you're (probably) talking about: https://www.youtube.com/watch?v=KfBzlzvt8RU


Eh, I loved it but for a 2D game I had an awful lot of slowdowns on my gaming laptop (https://www.newegg.com/matte-black-with-gold-diamond-cut-msi...)


Don't know if that's the best analogy. Most Electron application's performances are "good enough"; there's still room for improvement, but it's not as important as performance in video games.


Crosscode ran badly when I tried it.


There's some issue with the build of nodejs they're using on macs, but otherwise it should be quite good. No issues across multiple machines I've played on. May be something specific to yours?


Linux gamer here. I spend a lot of money on the steam store.


Now you have to tell us how much money so we have an idea what unixhero boldly confesses on a forum where the A+ players hangout.


Get ready for 2% of your player base to make 50% of the support requests.


Plan B worth it, Valve invest his resources not just for fun.


you will have the same bad performance of electron on Windows, Linux and OSX.


Thank you! At the very least please try to make it work with proton :)


Go for it. Others already do that use Electron. Shapez.io is one such title and it's open source too so you can get some pointers if needed from it.


Haven't heard of Shapez.io before, so went to try it out.

Going to Shapez.io though gives a Cloudflare error: "Error 521: Web server is down". :(

Trying the Wayback Machine, there's "something" on there but it doesn't seem to work. (?) eg:

http://web.archive.org/web/20201120204614/https://shapez.io/


Just checked, https://shapez.io/ works fine here. There's the GitHub too: https://github.com/tobspr/shapez.io


very weird to have this as my most upvoted post, but eh. If there is a time to shill out, it's now:

A game inspired by Nuzlocke Challenges + Slay the Spire

discord: http://discord.gg/u64Mg4X

twitter: https://twitter.com/_ldd

mailing list: tiny.cc/dxx5tz


If it can run in Electron, why not just make it a PWA?


Discord and spotify are both electron on Linux, so I would imagine it would work.


Spotify used to be Qt, has it changed?


Yes, yes it has. The UI is still quite good, and doesn't seem to have the downsides that many Electron apps have, except for the amount of memory used by it (still much less than Slack or Skype)


One of the selling points of Electron was making easy to port apps between platforms.


Performance is not an issue.


Some games seem to report measurably better performance on Linux, even. I imagine outside the steady-state, loading times could be a boon for Linux given that Linux filesystems are "faster"


Almost all games use their own VFS layer which heavily lean toward "few huge files with a lookup table" to work around NTFS' deficiencies. They used to be often chunked into 2 GB files, but since a few years developers stopped doing that. Some games even ship all their assets in a single file.


Historically they do that because of consoles, not NTFS.


We always appreciate the effort.


Forgive my ignorance, but why do game servers ban Linux players in pvp games? Fear of some sort of modding only available on Linux?


Modern anticheats are basically kernel rootkits which go even to the point of trying to checksum your drivers and inspect how they work. They're basically as invasive as they get.

They obviously can't hook into Linux kernel so they react by just banning the player.


This is why I have a separate Windows PC for gaming, that I do not ever put personal information into, or use even to sign into my personal, non-gaming accounts (e.g. Gmail). Perhaps not a good solution for everyone, but I think that's what the world has come to.


This is why I settled with a PS4 last year. Even on a Linux PC, I would feel "dirty" with games and steam installed, and I can't afford a PC exclusively for gaming. A PS4 costs 300€ and runs Skyrim, so I am quite happy. I am also speculating that the PS4 will become completely owned by the community and ultimately runs Linux without anything missing.


At one point I built a "Steam Box" that ran Windows (because, at the time anyway, lots of things didn't run on Linux), and hooked it up to the TV. The only problem I ran into was that lots of games don't do controllers well, either.


I have the same setup and controllers aren't really issue on modern games anymore - they're all released for consoles as well so they usually feature good controller support.


I did the same thing. It ended up being used mostly for watching streaming services instead of gaming for social reasons (the TV is in a shared area). I ended up buying an even bigger more powerful gaming PC with dedicated gaming keyboard and mouse and no controller. Linux for work, Windows for streaming TV, Windows for gaming.


I have installed Windows in a dual boot configuration with Linux. I now have a better time separating work and play, win-win!


Something that I find interesting is that anti-cheats are needed when either 1) the input can be somehow enhanced (think fps aim hacks) or 2) more information than the player should have is being sent to client (think fog of war or wall hacks). That's hard to avoid in shooters, where you need that behind-the-scenes information to reduce perceived latency. But games that don't have that low-latency-hungry "twitch" element, like strategy games, turn-based, etc., can make do without information that would enable hacking (and they usually don't benefit from input hacking either). I'm currently working on a pvp strategy game that uses an exaggerated input delay as a game mechanic, which also gets rid of the need to send information that the player shouldn't have: ground-truth is computed server-side and after pruning and transforming according to each player's perception, streamed to the clients. That's unhackable in the game hacking sense.


While technically correct, first person shooters might be the most popular multiplayer genre. In practice it's more accurate to says special cases are the games which do no qualify to the categories you outlined above.

As for turn-based games, they work better as board games unless you have a pandemic going on. In theory simultaneous turn games are possible but rarely observed in practice. Dominions games, Laser Squad Nemesis, etc. Sequential turns (A/B/C/D) scale very badly and human face to face contact makes up for that.


Also, if you're going to automate bots on a large scale (for resource farming or just interfering with other players), Linux makes more sense for the same reasons it makes sense for other server based software. Combined with a lower player count, devs decide actual Linux gamers are acceptable collateral damage sometimes.

Or anti-cheats looking for unusual factors of the execution environment that might indicate cheats using DLL hooking, or just something wine does differently to windows.


This would be an interesting use case for eBPF.


Given that the JIT may or may not have to be turned off for security reasons, you'd have to be very careful i.e. eBPF-ing userspace code is quite slow


Capitalism at its finest. Harmful measures to ensure profits, and mostly getting a pass because.. shiny things.


What are you talking about? Game makers are trying to make fun games for people to spend time on and enjoy


Now I'm biased because I'm an anti-cheat developer, but I really can't see how checking the integrity of your installed kernel device drivers is at all invasive.


I use a generic xbox 360 wireless receiver for my PC. The device drivers are an unsigned version of microsoft's drivers. Should I really have to buy the identical dongle for double the price, so that developers can dig into the depths of my OS to confirm that I'm not using a clone receiver?

I honestly see both sides of it, but at the end of the day, I am always hesitant to trust software with black-box functionality deep access to my computer. When I see a sudo command

We are already at the point of computers being able to balance a ping pong ball on a flat surface using just cameras. I can't imagine we are far from cheaters using entirely decoupled computers to physically control devices.


We're already there! See hardware like the EvilController or the ConsoleTuner Titan


It doesn't seem those take the game output into account, maybe I missed something but they just seems to be controllers with scripting capabilities.

The idea of a decoupled cheat would be to acquire the game state from outside the computer running it, either by filming the screen or taping into the video output or the network input, then analyze it and run some aimbot (or any other kind of cheat) on it and finally send the cheat commands as if it came from a legitimate controller, through usb.


I have a similar generic receiver, with some "not genuine" hardware ID. I just force select & install the signed microsoft drivers. The trick works in all versions of windows that I tried.


It's none of the game's business what other software my computer is running.

These checks have in the past been notoriously buggy, and can interfere with other operations.

This kind of crud is what remote attestation is for, and Microsoft should be responsible for developing it, not every different gaming company competing with each other for kernel access.


I agree, but at some point you have to decide if the tradeoff between the freedom to run whatever you want is worth the invasiveness of having an anticheat software analysing your system in-depth for cheating softwares is worth it.

In a way, it's true that it's none of their business which softwares you use, but it's also their business to make sure the multiplayer experience is fair for the entire userbase.

I guess that's the beauty of games consoles, where the execution of softwares is tightly controlled to minimize piracy and cheaters.


Maybe that trade-off should be more flexible and dependent on the "league" a given player wants to play in. The criteria could be more strict for the "pros" where cheating can lead to significant gains, like professional athletes who have to pass regular anti-doping tests, but you wouldn't expect the same invasive checks from (for example) people participating in a charity run.


The problem with your idea is that nobody wants to play with cheaters.

Everything that makes the game fun is defeated by a single cheater.

So people are just going to choose between playing with 0 cheaters or go play a different game.


Years ago I read about some game service that detected cheating and put cheaters into games with other cheaters. The author said it was pretty effective.


Reminds me of Game Dev Tycoon's clever anti-piracy trick, where they released a "cracked" version of the game on file sharing sites shortly after launch. The "crack" disabled the copy protection but also changed the gameplay so that NPCs would pirate your products in-game and drive you out of (virtual) business.


Good point, I haven't played games much since the late 90s and I'm returning to gaming only now (partially thanks to Proton), so my experience with multi-player is based mostly on modem or LAN parties with friends, where the social aspect helped to prevent cheating. I guess it's very different now when you can play with random people on the other side of the world.


Historically this is what game developers did, and the servers without anti-cheat enabled were rife with cheating.

When games switched from server browsers to matchmaking, they just defaulted to using the anti-cheat system.


Fwiw, my solution does actually take advantage of remote attestation, and if that is validated, a large part of kernel integrity checks are skipped. The problem is that many “gaming” consumer motherboards don’t ship with TPMv2 or secure boot, and we still have to support those computers.


I understand that, fundamentally, anti-cheat involves taking some form of control away from the player. But when the solution involves deeply embedded hardware modules that take that control away globally, introducing their own host of problems, I think that goes too far, and the cure might be worse than the disease. As a player, I wish there was a way to make sure that the anti-cheat only runs when the game runs, and only checks stuff related to the game and nothing else.


How does tpm or secureboot assist in anti cheat?


When you can remotely prove that the entire boot chain has not been tampered with, it’s much harder to load cheat software in the kernel layer. Of course, still possible, just harder and easier to detect.


How does this address the fact that windows has 100s of badly written drivers that allow r/w to kernel? This seems to only stop the most advance cheats that actually execute at or before boot.


Secure boot addresses other specific security concerns that are unrelated to exploitable drivers. For instance, it eliminates a whole class of PatchGuard bypasses.


Sorry to derail, but how often does anti-cheat development involve buying access to a cheat just for the purpose of reverse engineering it? Is that pretty much most of the time or is there enough evidence collected from logs to be able to infer what was happening?


This is largely dependent on the passive collection capabilities of a particular anti-cheat. Sometimes getting a copy is useful to just to make 100% sure the detection you wrote works as intended. Sometimes it's because the techniques used are novel. Most anti-cheat vendors do this.


Not parent, but have seen this before, or some competitor/pissed off outed person/partner in crime/etc hands it to anticheat team.

Private cheats usually require being vouched in, sometimes with ID scans, sometimes physically shipping you hardware.


> It's none of the game's business what other software my computer is running.

I get the sentiment here but we're specifically talking about a mechanism specifically designed to detect other software that is used for cheating.

The alternative is a world where games will only run on machines with SecureBoot, a signed kernel with kernel security on, and only whitelisted signed modules.

There isn't a good solution for how to run games where the clients have to be semi-trusted on a hardware and software stack controlled by the user. If you give me total control over the environment in which a program runs I can make it do and believe anything.


Maybe the game servers could not send the whole game state to each client and validate input it receives from each client? Banning blatant aimbots is just a pure statistics thing. Also, you could just train ai to detect patterns of cheating via an adversarial model where you pit normal ai against ai that uses the cheats you currently detect via rootkits. Games should not be part of my ring 0.


Game companies do take a similar approach to what you're describing, but still feel the need to run anticheat. If you ban aimbots based purely on statistics, you'll just encourage cheat developers to change the statistical properties of their aimbots. Cheats are a fairly big business — even detecting them with anticheat software in ring 0 doesn't seem to be a surefire guard against cheating.


Well, if an aimbot is only statistically as good as a good human player, does it matter anymore whether the player actually plays or a good bot?

If it is only as good as a real player than it won’t be invincible and will be equivalent to playing with a few AIs in a multiplayer game - which already happens.

Also, I believe the exact mouse movement will not be the same for a human and an aimbot - so not only statistics can be used to ban players


> Banning blatant aimbots is just a pure statistics thing.

So you have two choices here. You either ban the best players or the aim bots just behave with a success rate close to the best players.


If you can't distinguish between cheaters and the best players statistically, can the regular players tell the difference? Does it matter at all then?

And when I'm talking about statistics here, I'm not referring to the kill/death ratio, but rather all input data received from a cheater.


If a player consistently has a sub 100ms response time, it is a bot. There are plenty such values to be found that have clear superhuman markers (100ms on average is already realistically too low, so I'm being mild), and you can use those to detect cheaters.


So, if you allow bots that behave exactly like humans, then what's so bad about that?


I remember playing a first person shooter called Red Faction on PC maybe 15 years ago. Through some poking around I (and many others) discovered that when a client joined a multiplayer game, the server would instruct each client to load a large .dat file local to the client containing presumably a bunch of global assets. Within that were numerous object, physics and game state variables in plain text ripe for the picking. The server would proceed to accept any .dat file that contained the necessary declarations regardless of their value.

I recall seeing players hovering in the air and spinning while shooting rockets out at hundreds of rounds a second. There was also a way to modify your files such that you could crash a game just by joining it. The experience was as interesting and fun as it was awful.


What if they gave you the ability to disable anti-cheat checks but put you up against others who do the same?


I play various games where they developers try hard to prevent cheaters and they still get through and ruin a small but significant percentage of the games. I can't imagine how crappy an experience it would be if there was no cheat protection at all.


It's the game'd business what you are running if you are ruining the game for other players.


I'm going to point out that if you want to go down this route, it is insufficient to just check that the base drivers are untampered with and signed by Microsoft or whatever vendor still.

You now maintain a list of potentially vulnerable drivers that can be used as a jumping off point (such as virtually every motherboard RGB or fan control system), and ban users that have these or hard-disable them at boot. There are some games that have caused machines to overheat by disabling cheat-jumpoffable fan controllers.

On top of that, you effectively have to maintain a whitelist of acceptable drivers, because cheat vendors are registering limited companies by the thousands (only $20 in the UK), getting an EV/codesigning cert, and signing their own drivers. Higher end cheats cost enough to offset this, and there might be less than 5-6 people using a particular certificate. Some of the people behind these also release vaguely-useful legal tools signed with the same certificates to get a large install base for them so they don't stick out.

That being said, IMO as a player, this is invasive as hell, and you should not be crawling through my flash drives, identifying my mouse, killing LogitechMacroSoftware.exe, etc. I'd rather you just collect snap/targetting/click timings server-side and run anomaly analysis on those rather than digging an asshole into my computer.

Also, now I have 5 different "kernel anticheats" running 24/7 simultaneously, half of them are horrifically written and known-insecure, and the other half need to figure out how to not explode spectacularly when the broken half tries to probe and kill it.

Korean MMOs are particularly bad for this and when forcefully uninstalled might permanently destroy disk access, make Windows non-genuine and deactivate it, and send all their data over plaintext (no TLS) with a bizarre, homegrown "encryption" method that is trivially breakable to a bare IP somewhere.

With KMMOs as an example (many of these reward you for staying logged in, have daily rewards, and similar; the game itself is fairly low resource when minimised), GameGuard and HackShield and XIGNCODE constantly have slap-fights where they bluescreen or flop over or die if you try to run multiple of them simultaneously and they try probing and killing each others' services for trying to tamper with themselves. It's like that ridiculous "what happens if three programs all try to demand Always On Top for their window", except give all of them heavy weaponry. These also have severe NIH syndrome for things like homemade shitty crypto and plaintext everything.


Before I “switched sides” to anti-cheat, I used to write and sell cheat software for CS:GO. I had a registered company and purchased an EV code signing certificate just as your post suggests, even getting my cheat drivers signed by Microsoft. I am very familiar with the process given than I’ve seen both sides now.

While other anti-cheats maintain white lists or blacklists of vulnerable drivers, I’ve chosen a different route that doesn’t have the same pitfalls you suggest. Our anti-cheat also doesn’t run 24/7, only when the game is running.


I'm guessing this is a mix of attestation and inspecting what they actually do instead of just blindly checking the certificate and that the signature is verified? I'm curious how well executed that works when it comes to less well behaved anticheats (like Riot's Vanguard generally stays hands off, but GameGuard will immediately heartbeat a "ban me" and intentionally cause a bluescreen to cause you to "lose any data collected by your debugger" when it notices it's being looked at).

This type of BS is super common in Asian countries/published MMOs and a bit less acceptable in the west (you still have EAC and battleye, but at least they make an attempt to use TLS?)

Another insane example: xigncode has long since advertised a feature that the game developers can remote control into your PC like VNC. I don't know whether any developer has chosen to actually enable it, but the fact that they push it as a feature is some serious clown-egg-face.


I’m not going to comment on the specifics of what we do besides what I’ve already said. I will say that I’m really pushing to change the perception that all anti-cheats are bad and are user-hostile. I’m trying to build a product that shows that anti-cheats can actually respect user privacy and provide a positive player experience. And I’m trying to do it by better engineering.

Vanguard I believe would intentionally bluescreen you if it detected you’ve disabled PatchGuard. They had very good reasoning to do so, but I wouldn’t do something like that since I believe it’s user-hostile. Battleye I believe actually doesn’t use TLS last time I checked, using some sort of home brewed XOR cipher which is a bit scary. And of course remoting into computers is unacceptable under any circumstance.


I appreciate that you are trying to do this with respect and hope you succeed.

I've done both sides (largely MMO-stuff as a kid), and for me, I'm done dealing with all this invasive garbage, and just spin up a fresh EC2 GPU instance when I want to play something, and simply don't play the games that choose to disrespect and abuse players to the point of not even allowing GPU passthrough (I can somewhat understand banning emulated GPUs; have dealt with people farming referral accounts a hundred at a time each queuing for games at <5 FPS).


Without details, could you easily bypass your own anti-cheat with your past experience?


As a guy who plays games that have a lot of cheaters, it is incredibly frustrating. Riot's rootkit shit is a small price to play enjoyably with friends. I care more about the experience than I do about the risk of Riot fucking up my Windows install.

Keep doing what you're doing. Just, if you'd leave the anti-cheat off friend-to-friend-PvP games, that would be cool. I don't care if my younger brother 'cheats' against me. He's not going to and if he is 'cheating' it's probably some mod or something.


The problem with Riots anti-cheat (at least to me) was that it runs all the time not just when you're playing the game. This is completely unnecessary and a pretty huge security issue.

They've sort of fixed this now by letting you disable it, but it requires a reboot so I'm still avoiding Valorant for now.


It’s usually down to the game developer to implement features like that.


Ah, you're a vendor of the product, not an in-house shop. Makes sense makes sense.


I've not had issues with cheaters on Dots 2.


Assuming you mean Dota 2 I haven't played for some time but it used to be somewhat common 3 or 4 years ago for people to run scripts to instantly cast hex as soon as opponent appeared on their screen this effectively gave people inhuman reflex times.

You could tell they were cheating because if you watched replay from the cheaters point of view their mouse cursor would jump from current position to hovering over the target instantly and then immediately jump back to cursors original position all within a frame or two.


It is still a problem, although admittedly I haven't seen cheaters myself. Valve will soon™ take Overwatch's replay analysis aproach[1] for anti-cheating, though.

[1] https://blog.dota2.com/2020/11/upcoming-updates/


Because anti-cheat software is buggy, triggering a kernel crash which makes the whole machine unusable is a real possibility, additionally by running in kernel mode, the software bypasses all the OS protections, this can end up terribly if there's an exploit.


Most drivers suffer from this. There's nothing special about anti cheat drivers. It's probably much better tested than the random driver that a hardware manufacture might provide to control some random fan LEDs.


The difference being that a graphic driver is essential to make the hardware work whereas anti-cheat software isn't.


Anti cheat is essential to keep multiplayer games fun


What if I use open source drivers? How are you going to do that? What business is it of yours that I might write my own? Or (more likely) patch my own? What about my HID drivers? Sensitive keystrokes?

Yeah, I just don't see games needing access to such kernel level items.


There’s nothing stopping you from using open source drivers, actually. Plenty of open-source projects like Dokan will typically run fine with an anti-cheat (ours will, certainly). What stops you from running a patched version is actually Windows itself, since Windows requires drivers to be signed with an authenticode codesigning certificate. Plenty of open-source projects and people have one, though. So it’s not an anti-cheat blocking you, it’s Windows itself. Of course, if you go out of your way to disable driver signature enforcement, most anti-cheats will prevent you from playing, but this is a mode strongly discouraged from Microsoft and does weaken your computer’s security.


If anti-cheat is the thing that cares about whether windows is running without driver signature enforcement then anti-cheat is the thing that's blocking me.

My own example: I have an xbox 360 dancemat, which is unusable with the official drivers (they map the arrows as axes, so treat left + right as nothing). So I have to use the open-source XBCD, which frankly I'd treat as more reputable and better code quality than most signed drivers. But since no-one's paying the $100+/year to sign it, it's not signed. And while I understand why Microsoft wants someone to have skin in the game before they issue a driver signing certificate, they really need to find a way to ensure that reputable, established open-source driver projects get signed if they want users to accept driver signing; I wouldn't even mind being stuck on an old "certified" version or something.


I sympathize with you and wish it was possible to support your situation and those similar situations like yours. It’s just disabling signature enforcement effectively removes a key security boundary between kernel and user space, something that that would just be too easy for cheats to exploit.


> What business is it of yours that I might write my own?

If they're providing online servers for you to play on with other people, under the condition that you aren't cheating and they are responsible for stopping cheating for everyone, they very much do care and it is their business, if you want to use their servers.

Having custom drivers is how you get wallhacks or custom mouse control macros that eliminates some of the challenges imposed by the game (e.g. automatic recoil control).

For a single player game, I agree, who cares, but for online games that live and die by competitive play and stopping cheaters so people can enjoy it, there's only so many options of how to find cheaters and so much resources to put towards it, so you get stuff like this.


That's one of the less invasive things, but I also don't see why a game needs to know what drivers I have.

Hence I just stay away from AAA games with anti cheat at this point.


Because the preferred deployment method of a lot of these cheats is via drivers so they look transparent to the game and are harder to detect from a userspace application.


The preferred deployment method of real cheats is outside of a virtualisation boundary. Driver-based is essentially entry level.


Unfortunately, your model is just fundamentally broken. Non-system software should never have that level of access to the whole system, and a good operating system should block it for stability, security and privacy reasons, just like any other malware.

No doubt there will continue to be intrusive anti-cheat software in use with some games for a while because some people are disturbingly desperate to play those games and they use operating systems that are junk. Some people still pre-order games too, even though it's illogical to extend that old physical world idea to downloads.

But in the long run, this kind of software is a liability. Better operating systems and more gamers moving to them will eventually kill it for that reason if nothing else does first.

Given that cheating only matters if it actually affects gameplay unfairly, it has always made far more sense to look for cheating through its effects on gameplay anyway, which is something you can observe server-side in an online PvP game. Trusted client-side security checks make no more sense in this context than any other. So it's not even as if killing off the intrusive client-side anti-cheats will lose anything of value in the long run.


I think the reason why anticheat gets a very unsympathetic hearing is because it's frequently buggy or unpermissive, and people fundamentally don't like being locked out of their games. As a Linux gamer who's just unable to play some titles that run fine on my PC because the anticheat doesn't, any perceived flaw in anticheat immediately winds me up.


On Linux, you can check to see if the kernel is operating in lockdown mode to verify the integrity of the system. Lockdown mode forces all modules to be digitally signed and trusted by the kernel keyring before they can be loaded. This would functionally be equivalent to what you do on Windows.



No, that's something completely different. The kernel is tainted when you load out of tree modules and only means they won't look at your bug reports. Lockdown mode is something similar to the Windows driver signing https://www.phoronix.com/scan.php?page=news_item&px=Linux-5....


https://www.reddit.com/r/VALORANT/comments/g3yqxd/comment/fn... when the anti-cheat developers dictate what you can install and run on your computer, i would argue thats invasive. Running kernel level rootkit for this purpose is also insane. These things are very easy for cheaters to bypass anyways, and only cause problems to the honest players ironically , in addition to blocking out players using wine.

The best way to handle cheating is to give the players moderation powers.


Players have a hard time telling if someone is cheating or not. Especially in game when you're not spectating. Did they see you through a wall, or is it just good game sense? Did they use an aimbot, or is their aim that good, or they did they get lucky?


Has worked well ages for games that had replay and spectating capabilities. MMOs are usually slower paced than fps games so in those server-side checks alone are enough. (Most asian mmos are lazy though and just trust the client and hope their shitty anti-cheat keeps cheaters away, of course it doesnt)

Games for some reason today want single central server, instead of dedicated servers with user maintained communities is part of the problem. (E.g. cs:go vs older cs)


User maintained communities are not friendly to new users. CS:GO has user maintained communities, but most players do not use it. You can't build a community without new users, and new users want to play the game, not build a community.

Especially with team gameplay, players want proper skill based matchmaking. So that they don't have someone on the other team who destroys them. Or someone on their own team that is dead weight.


CSGO relatively heavily suppresses "user maintained" community servers, the entire experience from onboarding to client launch prioritses the Valve-run official matchmade servers for casual/competitive/etc and any special game modes.

Server browser is a hidden afterthought behind a dropdown.


I was active player during CS 1.6 era. I really didnt see the issues you mention and rarely actually met cheaters. When i did they were quickly vote kicked or banned out.


And times have changed. The spread of skill levels has increased with better players getting better, and more and more new players.

As well as more structured games that are not 10v10, but rather smaller 5v5 or 6v6 games, where each player can make a difference.

Cheaters are better at hiding too. Toggling aimbot for a quick kill or two isn't enough to arouse suspicion, and can be passed off as a lucky headshot. Just because you think you've never run into a cheater doesn't mean you haven't.

On the other hand, a really skilled player might be good enough to make you believe he is cheating. Getting vote kicked or banned out for that is not good either.


And anti-cheat doesn't really help the problem either at all. They are easy for cheaters to get around, and it's possible to even have cheat that the anti-cheat can't detect at all as it would use the same inputs normal player would use. Anti-cheat is same as DRM, the only people that suffer are the actual players, not the cheaters or pirates.

It's another social problem that engineers try to solve with technology.


No, 100000s of cheaters get banned every year, it works. Normal players actually enjoy not playing with tons of cheaters.


I would like to ask you to present some proof for those numbers. There's also tons of legitimate players that can't play at all since the anti-cheat system thinks their install is not good. At which point is it okay for anti-cheat developers to tell customers to get a new PC (with their approved hardware and drivers) and install nothing but clean copy of windows and their game on it?

Consider game like Dark Souls 3, it has very simple anti-cheat system and trusts the client completely. Yet you rarely see actually cheaters online, this is purely a social problem.

You can search any rootkit based anti-cheat software and find just how many people have issues with them. Just some examples from the infamous riot vanguard which developers boast it being "user-friendly" rootkit.

* https://www.reddit.com/r/pcgaming/comments/gead0n/riot_vangu...

* https://www.reddit.com/r/VALORANT/comments/geqc73/have_you_d...

* https://www.reddit.com/r/VALORANT/comments/gbebt0/if_riot_is...

* https://www.reddit.com/r/VALORANT/comments/g5aem3/vanguard_a...


Here is 200k bans in one game: https://www.videogameschronicle.com/news/over-200000-modern-...

Anyway, it seems to me that most of those people just need to update their fan control programs. One example I saw was CPU-z which had a CVE in their driver a few years ago. They are using drivewrs with known vulnerabilities. You also need to consider that some cheaters will also spread mis-information.


"Anti-cheat" making their AIOs or fans stop seems more like virus like behavior instead of telling the user maybe they should update or buy different hardware (which even then is shitty behavior just for some damn game).


You literally have rootkit privileges and exist by the grace of most people not realising you get installed. Most EULAs that concern "anti-cheat" have big explicit entries in them about transmitting personal information. Anti-cheat software is the condoned malware of the modern age, similar to browser toolbars a decade or so ago.


Does anyone know a PC gaming website that regularly reviews anti-cheat software? I know review websites get free sample copies and stuff from game publishers... are there any review websites which serve gamers first??


Modern anti-cheat platforms can be pretty invasive and tie very closely into the operating system - ie, if designed for Windows, they often simply won't work at all through some other layer like Proton/Wine.

This is interpreted by many game companies as an attempt to cheat, rather than simply an unsupported use case.


It’s basically an anti-cheat “feature”. The assumption is that if you’re running a windows game on Linux you’re probably cheating.


I'd say there's some basis there. Discussed here prior: https://news.ycombinator.com/item?id=20445748


Not just about anti-cheat software.

Typically people who write bots will host them on linux servers, so it's easy to blanket ban linux as a whole, that will catch most bots.

Also, some multiplayer games's servers trust their game client's inputs - if that game client suddenly runs on a system that has full control over the game (like linux and the kind of tech savvy people that knows how to use linux to it's fullest), it makes it harder for them to trust that the 1000 players online are not exploiting the game by manipulating network requests right before it goes over the wire.

This is a compromise that devs have to make when integrating network code with their game: if you click the mouse, does it immediately update the server in a synchronous fashion and introduce latency but having guaranteed consistency of your world (while the game state lives on the server and the client is "dumb") OR do you make the game client smart and hold some portion (or whole) of the game world on the client and just send small updates to the server. In the last case there will be less latency but you have an occasional glitch when packets drop and it is more susceptible to attack, since more work is done locally (Path of Exile have/use to have this setting and you could choose which way you want the game to talk to the server - depending on your connection - I think it's automatic now, haven't played in a while). Why do I mention this? I'd argue it's easier to attack this compromise from a linux box or a compromised linux game client - so again, game devs just outright ban linux since that is the path of least resistance.

Another thing with multiplayer: some games, esp older ones, have to have some minimum fps to keep the game world consistent for all connected players. So between fps and network latency and the mitigations/compromises that the devs have to make here, the code becomes realllly messy/complex and can easily turn into a blackbox - a blackbox that maybe only work on Windows, or a windows specific gfx stack or network stack to guarantee the minimum conditions to make multiplayer playable. I mention this because there are quite a few differences in the network and gfx stacks between Windows and linux, add on top of that different windowing systems and compositors (X11, Wayland etc).. the devs will spend triple the amount of work to get their game stable on both platforms. And again, easiest path is to just ban linux since it is harder to guarantee that the game client behaves in a specific way. This is a hard pill to swallow but its true.

And this is why something like Proton exists: it is better in this case to emulate a Windows environment than it is for each game dev to write 2 implementations for their network/gfx stack in their game, and then hope that the two game clients have similar performance/behaviour traits that keeps the game stable (never mind safe against exploits).

Luckily for us things are getting better, esp in the indie space and in some single player games. Some game engines has also made it waaay easier to build to linux so that has become a non-issue at this point. I'd argue the main stumbling block is in the game clients as described above - the compromise between a stable game world in multiplayer games and possible exploits that can originate from linux hosts.

Anyone else have thoughts on this or want to correct me, please raise it. These are just off the top of my head, I'm not a game dev.

edit: another silly thing that differs between Windows & Linux: font rendering. Your gfx might work fine and when you start rendering text you realize you need to rebuild some portion of your gfx stack, which then maybe breaks on linux... so easier to skip linux then you know your text renders correctly.


I think their policies have more to do with support costs than anything else. As much as I love playing on Linux and wine, you have to admit there are more technical issues with Linux. People who have low tolerance for glitches and problem solving to get their games working would be up in arms. The last example is Hyper Light Drifter. No matter which forum, the latest threads include several about Linux specific problems. And that's a game with native support.

Another game I played recently - an ancient puzzle game "Riven" - seemed to have bad looking problems. I bought it from GOG because I didn't notice it only officially supports Windows and Mac. Very near the end of the installation, you have to click through a couple of errors that say the game didn't install properly (it did well enough). When launching the game, you get a nasty error if you run Riven.exe instead of Launcher_Riven.exe . During the actual gameplay, there is only one rare crash every few hundred attempts at brute forcing one particular puzzle.


Seems to me like there should be something like a "Docker for games" which uses container tech to create a lightweight, predictable execution environment for video games.

I suppose that's kind of what Proton does, although it focuses on emulating a Windows environment in particular.


Sounds like something that AppImage is perfectly suited for, given that each application is a one-click executable with automatic updating built-in and can optionally provide a predictable execution environment although it's not a container.

In one particular case, I packaged up Mirrors Edge into an AppImage with the AppRun script taking care to setup the environment and WINE. It worked surprisingly well.


That's awesome!

If anyone at Valve is reading, I think this would be an excellent feature for Proton or the Steam client.


They already have something like that. The steam runtime has been in development since at least 2013 now.


In all honesty, I ran Riven through wine, and Proton is a wrapper around wine and some other tools to cover the rough edges.


I went the opposite way and got rid of Linux for windows wsl2. I have the random issue but otherwise things run pretty well.


Did the same. Was just not worth the risk of waiting until an issue gets fixed. Or if it even gets fixed. I mean even in GTA 5 working perfectly, the overlay always had an issue of a missing mouse pointer.

Also Microsoft Store bought games do not work on Linux.

Well and in the end i just want to play my games. And if i want to start modding, don't get me started on the hoops you have to jump through just to get a modded Skyrim with everything installed how you like it.


I have mixed feelings about wsl because support requests from wsl users are usually due to issues in wsl itself. I guess that's how windows developers feel about linux.


How does Stadia strike you as an alternative? It works on anything (AFAIK) that runs Chrome.


Not op, but I think the biggest miss in cloud gaming is no one developing cloud first multiplayer games.

Currently in any kind of client-server multiplayer game out there you face n+1 game states (n is the number of players) and a lot of the art is in how to reconcile these. The n+1 is due to most games implementing some degree of client autonomy (e.g. in movement), and the reality of network round trips from each client causing everyone to be slightly out of sync. A concrete example of how this affects players is the experience of being shot after narrowly escaping behind cover in an FPS.

Cloud gaming substitutes reconciling these n+1 simulations with some input latency for each player. I think this could produce some qualitatively better experiences for certain games. In particular, Fall Guys is a recent game that I think would play better as a cloud first experience.

The interaction between players in Fall Guys is grabbing other players who are near to you. Due to the network latency many players have the experience of being grabbed by folks nowhere near them. A cloud first version of the game would eliminate this problem that simply can’t be solved otherwise.


The thing you're missing is that the point of client-side simulation and lag compensation is simply one of UX. It makes the game playable.

> Cloud gaming substitutes reconciling these n+1 simulations with some input latency for each player.

You're just pitching the naive networking model that every developer starts with (because it's trivial) until they realize how horrendous it is to wait 100ms on every single input.

Also, it's not "some input latency", it's the full latency of the entire round trip. From input to server (40ms) and then video to client (40ms) just to see how an action you did 80ms ago panned out.

You've eliminated none of the trade-offs, just exchanged one frustration (dying even though you shot someone before they shot you) with another (watching a delayed video feed of them shooting you while you wait for your input to cross the network).

There's a reason why client simulation is ubiquitous. Btw, lag compensation is really hard and nobody would want to do it if they could get away with the naive networking model.


A lot of people have a much better latency than 40ms.


There is more to latency than just the ping to the server.

The raw controller input latency / controller polling rate.

The time it takes for your packet to get to the server.

The number of packets per second you're sending to the serve (e.g. 100pps).

The server processing time per frame.

The server frame rate.

The time it takes for the packet to get back.

The frame rate of the client machine.

Whether Vsync is enabled (more latency).

The time it takes to transfer a frame of rgb data to the monitor.

The monitor frame rate and processing time per frame.

The pixel response time of the pixels on the monitor.

If we're doing cloud gaming. we also need to add latency stages for encoding and decoding video and how long it takes to download each frame of video.

By simulating everything client side you remove a ton of stages in this latency pipeline.


This is actually one of the selling points Google brought up at the original Stadia announcement: you can't pirate or cheat in Stadia games since it's just an interactive video feed.

Of course, most people who play games don't like that - including myself.


You definitely can cheat with Stadia, the earliest public Overwatch aimbots were just AutoHotKey scripts that detected pixels on screen and would adjust your aim so as to not make you look like an obvious cheater.


The MMO programmer in me fantasizes about making yet another MAG-like (ps3-era shooter with upto 128 players) game. That kind of thing would be so much cleaner to do on a completely server-side platform.

However, a large game like that would need a large budget to back it. Without Stadia being more popular I don't see anyone throwing all their eggs in that basket. Because it could only run on Stadia and nowhere else.

One way to mitigate risk would have been to build for both Luna (Amazon) and Stadia. But neither are very popular, and one is Windows-only while the other is Linux-only. So my risk would actually double, not mitigate since I have to develop for two platforms.

I'm ignoring xCloud since it's just a bunch of Xboxes and no thanks.

For smaller, mid-size/indie studios which are not building a massively multiplayer game, I just don't see the up side of making a Stadia-only game. They wouldn't be trivially portable to other platforms and players have learnt to live with network latencies.

So, unless a Google-owned studio does it, I don't see truly cloud-first multiplayer game happening. Assuming that's what you meant by "cloud first".

OTOH Ubisoft does ship their games on Stadia and I'd be curious to know if the experience in, for example, The Division 2 is any better. Even if the game doesn't scale the number of players in an instance, they should still get some benefit of being on Stadia. It doesn't seem to be a very popular mode in the game's subreddit though.


You know that PlanetSide still exist right? It's has it's flaws, but it quite playable even while being heavily client-sided. Also hardest issue for FPS games are aimbots and not even Stadia can solve this.


The recently released 'Outcasters' is the closest thing we've got to what you describe so far. I read an interview [0] recently by the devs describing their experience making the game on Stadia.

[0] https://www.thegamer.com/outcasters-interview/


How is this functionally different than any other game server dealing with player game states? Players would get even more warping and inexplicable behaviour as their state differed from the server state. You would just as likely get the same warping in Among Us as the game arbitrates the various players' states.


The conceit here is that rendering happens server-side, so visible game-state latency is replaced by input latency.


Many RTS games have already done this in a traditional client rendered setup with deterministic lockstep (e.g. [1]). The basic idea is to have an input at time t which has a fixed delay until t + x. During [t, t+x] everyone syncs what actions they will take, and so everyone renders the exact same state. Of course, if this sync fails then the game will stutter for everyone, unlike in the stadia case, and it has pros and cons for various types of game. It was largely rejected for action games in the past. The trick is you need to specify the minimum latency that everyone must get under for it to run smooth. In the server-rendering case you would be locked to the renderer's region and would have people with better internet having a strong advantage.

If you're interesting in this sort of thing, check out [2] which goes into depth on how to synchronise game simulations in a bunch of different ways.

[1] https://www.gamasutra.com/view/feature/131503/1500_archers_o...

[2] https://www.youtube.com/watch?v=Z9X4lysFr64


PC gaming is like the last bastion of quasi-mainstream general compute at home, so I seriously hope it doesn't go away.


I never bought another game on my girlfriend's console after considering the fact that I have games in my Steam library that I bought 10+ years ago while the $60 game I buy on her console just lasts until the hardware breaks and they shut down the eShop.

That's such a bad deal I'm surprised that I ever made it.

Aside, I wonder how much the jumbo-sized ATX / tower PC case market has sold consoles by making people think they have to pick between a stupidly big server-sized PC tower vs. a cute little console that fits under the TV. I think the ATX/tower form-factor has played a nontrivial hand in preventing culture of having a small but powerful PC at the center of the home entertainment system.

The small-form factor trend is finally picking up steam (https://old.reddit.com/r/sffpc/) and it amazes me that this isn't yet the standard.


SFFPC is still too much hassle for an average builder, plus "ITX tax" is not very attractive too. I have built my first SFF last winter and I had to read that sub for a long time to find out all compatibility issues, and even then I ran into incompatible cooler mount and MB, I had to use a bit of force to set CPU cooler on a crooked mount. And latest trend of AIB GPU manufacturers to abandon 2-slot format is also not good for SFF.

Another issue are thermals. I can find out that my SSD is overheating to 105* in the nice looking ITX case and mitigate that a little (I have to hope now that 82-83* on a working SSD won't kill it too fast). Average user will see this by a blue smoke coming out of the case :)

I wish there was more initiative from big manufacturers in that area.


Not OP but anything that mentions Chrome is an instant loud no for me these days if I can avoid it somehow.

Just like MS 15 years ago.


It's not Chrome specific though.


afaik Stadia is chrome specific. try visiting http://stadia.google.com/ on another browser. I can't even login and view my previous screenshots, let alone play a game.


Most every cloud gaming is Chrome specific. Heck the Amazon cloud gaming doesn't even work on Chrome on Linux....


You're right, I only checked with Edge forgetting that is just Chrome too.


For what little it's worth, Stadia is opening to play through Safari (on iOS) soon.


Cloud gaming is just not really good enough for me for fast paced games.

I've tried GeForce Now, Stadia, and Shadow. So far GFN is my favorite and Shadow is my least favorite but tbf I'm not in the proper region for Shadow.


Haven't tried Stadia, but I can certainly vouch for GFN. The lag is comparable to consoles on TV (and in some games, better), so while it would be a handicap in PC-centric fast-paced games, I was damn impressed with it. If I had a reason to pay the $5/month premium for unlimited gameplay away from home, I certainly would.


Stadia is really sensitive to lag. In my urban home, with a reliable high-speed broadband connection, it works pretty well when physically connected by Ethernet, but the stuttering is intolerable on wifi.


I tried GeForce Now with a high speed internet connection (Comcast) with Counter-Strike and I found the game to be unplayable from the lag. I double checked my speed test and router settings, it should’ve been fine.

Ultimately I believe these services represent the future of gaming, but without net neutrality or alternative ISPs it’s going to be awhile before that future is realized.


My experience with GFN has been MUCH better than I expected. I've also come across similar sentiments as yours, which leads me to think it's a proximity to the DC issue.

E.g., my RTT to my ISP's gateway, on average, fluctuates between 8-11 ms (currently ~14 according to pfSense) and a ping to google's closest response is usually about the same. I'm sure others have it better, but I am quite impressed, given a little bit of this latency would probably be eliminated by not having a virtualized router as is the case with my setup.

Twitchy MP shooters and twitchy platformers are the 2 subgenres that aren't suited for this arrangement. Most everything else is perfectly fine (under the aforementioned ideal conditions).


Did you use wifi or wired ethernet?

I have a super stable 1 Gb/s fiber connection with like 5-7 ms to a close by AWS data center where I ran Parsec on a VM. I got ≈ 400 Mb/s to the VM, with < 10 ms ping over my 5 Ghz wifi. But I could still never get a stable setup. As soon as I went wired everything worked great. I think jitter is a big problem.

With a wired setup I could also move to further away DC's (like 20 ms) without any issue.


It was wifi, my connection speed with speedtest over wifi was 100Mb down and 30Mb up.

I should probably note I was also sitting next to my wifi router, so I’m not sure that a wired connection would’ve made a noticeable difference.


Even right next to the antenna, wires will have less latency and packet loss than wireless.


Sure but it shouldn’t be noticeable. For example, I can play Counter-Strike on my computer itself just fine over wireless without the latency issues.


From my experience, I think it is. A non-small part of multiplayer game engineering is to handle latency. With streaming you have none of that, and even if the connection just stutters for a few 10's of ms you will get a horrible playback experience.

Game streaming is most comparable to live video streaming with a frighteningly small buffer (< 10 ms).


The GeForce Now client itself told me my connection was good enough for gaming... I’m not arguing that wired cables aren’t faster, but these streaming services aren’t advertising based off of that and their own clients aren’t requiring that level of performance either.


I've tried GeForce Now also, the client told me everything was fine over Wifi (but it wasn't). Switched to wired, and again everything worked perfectly. I'm in the same room as my router.

I'm just saying that my guess is that this probably has nothing to do with your ISP or net neutrality, and more with technical limits of wireless connections. But I could of course be wrong... Try it with ethernet and see how it goes, I just have a long cable I temporarily run through the room when I wanna play :-)

(And yeah, I think it's kinda fishy that they don't make it clearer if/that wired connections can make big improvements. Look around the subreddits about these services, or their support pages and you'll see that people recommend ethernet, and the vendors first recommendation when having trouble is to use wired ethernet [0], [1])

[0]: https://support.google.com/stadia/answer/9595943?hl=en&ref_t... [1]: https://nvidia.custhelp.com/app/answers/detail/a_id/4504/


I have Ubiquiti home networking, and sometimes play GFN or Steamlink over wifi a few feet from an AP, but just trust me that wired is always better than wifi, regardless of what a rudimentary connection test tells you. If you have the option of trying wired, just do it and see for yourself.


Not OP.

I can't wait to see Google dump Stadia.


Curious why you care about this?


I don't like the concept of not owning anything anymore. I don't like paying subscriptions for everything to big companies.

It's detrimental to consumers.


So why aren't you complaining about Steam then? At least that's somewhat tangentially related to this article.


If a game dev team thinks they can stop people from gaining an unfair advantage from just preventing people from running Linux they are morons. Even if you were in Windows you have to do is setup an inverse Linux VM to operate on the local host network in which case it would essentially be a daemon. Even with cigwin and a few other tools, you can use strace to inject system calls and override values right into the PID of the game


I'm kind of worried we've peaked on Linux compatibility however. We've seen some of the big franchises that supported it in Valve's initial push (Hitman, Football Manager being the two I'm aware of) back away from it in future iterations and Valve themselves now have Epic as a more immediate threat than the Windows store.


It doesn't even matter whether someone is cheating. All that matters is whether they're ruining the game. You don't need a rootkit to determine that.


Would you ban tower rushers in starcraft/warcraft2/warcraft3?


Maybe! The real problem is to help people avoid people they want to avoid, not banning clients on technical grounds. A genuine attempt at solving the problem wouldn't be based on universal bans. There could be groups who have their own blacklists. Find the groups you agree with and tick boxes to subscribe to their ideas of who should be banned.


> restricted PvP game play when Linux was detected

WTF? Why?


What distro do you use?


PopOS


While I do share your frustration on linux gaming I thought to give sound to the opposing side who simply had this coming oit of a risk analysis.

TL;DR - it's indeed much easier to cheat on linux

After decades of fighting wars with crackers/reversers and all anti-debug/anti-cheat methods proven unusable against russian teenagers, AAA companies reached out to microsoft to get their undocumented binary "drivers" into the system which you cannot inspect from userspace.

With linux coming into the party, even if with the amazing work by Wine you do manage to get the desired anti-debug behaviour on the emulated userspace app, linux people can make arbitrary hooks on their kernels.

So instead of risking major reddit shitstorms over that 1% players that can cause 3% profit loss, it's better to ditch that 1%


I don't even know where the start with this.

First off, undocumented binaries, and inspecting kernel drivers from user-space is absolutely no barrier to RE/Cracking/Cheating on any platform. I'm pretty sure 50%+ of the people on this site can put arbitrary hooks on the windows kernel, given some motivation, and importantly, when they actually control the hardware they own.

From what I know (not an expert) the state of the art in DRM for games is Denuvo which uses undocumented idiosyncratic CPU instructions, that the activation server has a database of and sprinkles some magic patch to activate the game for that CPU, ie, nothing to do with OS. Anything else AAA is cracked pretty much immediately.

Whatever about the technical details, we can do risk analysis on a lot of things. We can do risk analysis on whether a kid is likely to commit serious violence to other people later in life and lock them up, or otherwise exclude them from society in anticipation of that, but we don't.

Some things are important, some things are not. Personally I rate open computing hardware a lot higher than some game company's 2% profit, and imo any company employing the tactics described in the GP should be rightly called out on it, and they should just make better solutions to the (very small) problem of people cheating in online games.


I agree with you. But there is another aspect to this, it's not just about profits. Online multiplayer games can truly be ruined by cheaters. That hurts a lot of innocent people who paid good money for the game and just want to have an honest shot to test their skills against others.


in which case, server authoritative state is the only way to prevent cheating.


In a competitive game don't let clients dictate what the server does. Although I understand there is a performance issue. But clients should not be trusted.


Would that work for lag? I assume there is some predictive aspects to a fluent gameplay these days. Also for the server to decide which e.g. player someone can see or not, seems quite intense.

This seems inadequate to prevent aim assistance too.

I mean it's a moot point anyway, since it's probably not too long until bots can play all games better, without additional information or help.


Prediction in online multiplayer games has been around since real-time multiplayer games existed. From my own first experience the first versions of counter-strike 1.x had it, but I'm pretty sure it started quite a while before that.

And yes its a classic arms race, in the simple example I can connect my bot to the display output and to input as keyboard and mouse / gamepad and you could probably pretty easily get an aimbot that's superhuman.

The solution is not a technical one, just like DRM: https://en.wikipedia.org/wiki/Analog_hole


Just to follow this up a bit

Who the fk cares if people cheat in online games? Funnily enough, a hell of a lot of people, but they are generally not talking about online video games, instead they are talking about protocols like DNS, HTTPS, amplication DoS attacks, cryptocurrencies, elections, any number of other things, and it turns out these really hard to impossible to solve, and they definitely don't lend themselves to real time multiplayer games easily.

For games it much easier, you just let people host their own servers, you let them own the compute, you let them manage and mod the servers, you let them build communities of people they want to play with. See Minecraft. Pretty sure that made a bit of money without worrying about losing revenue to some inventive kids who priate/mod/whatever the game. -_oo_-


Would aimbots be impossible to make if there was no anti-lag / network prediction code? As a thought experiment, imagine a game which has only single player and LAN multiplayer (Local Area Network), where you have to physically connect computers to each other. Games used to be played like that decades ago, and today we have PCs that are much more mobile - notebooks and laptops. As far as I know, LAN has super good network latency and it could work without lag compensation code. Didn't DooM work like that? Also Quake before QuakeWorld.

You don't have to lecture me about the practicality of releasing a game that has LAN only multiplayer, or that people have jobs, kids and responsibilities. I get that.


Aimbots are simple, you reskin the other players head, then detect where on the canvas that color is. As others have mentioned you could probably use external tools like a video camera aim system. You can't do much about aimbots. But you can make it so that the game takes more skill then "point and click". I used to play a lot of Unreal Tournament (the classic) in instagib mode which meant one shot instant kill, but even then I was able to win over players with auto aim. You just waited for them to shoot someone else, then you killed them while their weapon was cooling down. You couldn't shoot them in the back as they used 360 field of view, so you had to know the map well. Players/athletes that cheat usually do it because they want a shortcut, and thus can not become very good. Or there is a financial incentive, where you cheat just a little bit in order to make a living doing what you love, and those cheats are the most problematic as they are hard to catch.


> This is especially an issue in PvE heavy games that have only small PvP elements. Looking at you Destiny 2.

About half of Destiny’s active playerbase PvPs. In content drought times, it’s pretty much what keeps the game alive. So yeah, simply false.


I don't know why you're up in arms about this, but it's clearly not false. Almost all of the games content is PvE based. The PvP mode is very small in scope compared to everything else that's available.


Again, because I can't just play the PvE content on linux. I get banned upon a few minutes of just launching the game.


I think GP is defending your initial statement, not arguing against it. They're responding to the person who disagreed with you about the game being mostly PvE.


Ah yeah I misread. Thank you!


Right. But I don't care for PvP. I've never wanted to play PvP.

I enjoy the raids and the cooperative strikes with friends.

Even if it's what keeps the game alive, they have one less active player because I don't have the ability to play with my friends.


But you could play destiny as PvE game if you want


I could, but I would still get banned because of the anti cheat.


Gaming on Linux has been so fucking good. I switched from Windows to Linux a month ago and literally haven’t found a game I can’t play. Even Red Dead Redemption 2, Hades, Fallen Jedi, Ghostrunner...

Oh the really icing on the cake is just how easy it all is. You literally just install the Windows version and things “just work.” Its amazing.

I’ve said this a lot of times now but it’s pretty amazing to write code and play games on the same machine. Truly, I don’t think I’ll ever have a bare metal install of Windows again. I don’t even have a VM with it right now even.


Agreed, however after months of being "Linux only" (Manjaro KDE + Proton), just this weekend I broke and installed a Windows as a dual-boot option.

90% of games with Proton "just work" like you said. It is amazing.

But then there's that one game that doesn't work, or works but with half the fps... for me, it was Death Stranding. It runs at 60+ fps at 1440p on Windows, but runs at half that on Proton, with horrible artifacts/frametime on Linux + Proton (even the community mod "GloriousEggroll" Proton version).

If CyberPunk is any good, I'm going to buy it and want the best experience... for now, that probably means Windows, unless by some miracle it works on Proton with no issues.


For me it was Fallout 4, the voice sounds don’t work on Ubuntu and it was a shame because I’m dying for that Elder Scrolls itch. After a decade and a half I’m just not using Windows, though, so I messaged Steam and they refunded me within an hour. That and Mass Effect are the only two games I’ve ran into trouble with which is a definite improvement over just five years ago.


If you're privileged enough you could buy another GPU, pass it through to a Windows VM, install looking-glass to pass display output over a shared memory buffer, barrier for mouse sharing and bam, you have Windows in a window in your Linux machine running close to bare metal performance. (It does eat memory bandwidth linearly with refresh rate though).


This won’t get passed anti cheats though.


I've heard of noone so far getting banned for playing in a VM. The anticheats can install their kernel modules as they want, and the lookingglass capture is using the direct X capture API, so nothing weird there. A SHMEM device is nothing out of the ordinary either.

I mean sure they could detect that you're running in a VM, but I'm yet to hear about any cheats where you edit the memory of a VM, so until that's a thing i safe.

There are companies like shadow.tech that builds their entire business around this implementation, so one can only hope it stays this way.

Personal experience: Playing both Overwatch and Counter Strike without any issue (VAC enabled servers)


You can do DMA from outside the VM into the VM. This is why most of the more serious anti cheats won’t allow it - vanguard, EAC, battleeye, EASA, ...


VAC and whatever Blizzard uses is enough for me, but thanks for the tip. I'll keep this In mind if Im ever to encounter either of these ACs


It will if you configure it correctly.


Nah, there are many ways to detect virtualization


I know you are wrong (as in I have not seen the detection not beaten, it's probably hypothetically possible in some edge case - at least for a while), so you can only be speculating about the "many ways".


I would think that Cyberpunk 2077 would have good Proton compatibility on day one. It runs on Stadia, which uses Vulkan.


There's been no word of Vulkan support in the public Windows build though, as far as we know it only uses DirectX 12


So they have Vulkan support because of stadia but won't release it publicly? That's kinda stupid


It wouldn't be the first time, there's a bunch of games on Stadia that have no public Linux build or Vulkan support in their Windows build

Maybe Google are licensing a proprietary DX->VK wrapper for Stadia developers to use, so they can't release it elsewhere?


> Maybe Google are licensing a proprietary DX->VK wrapper for Stadia developers to use, so they can't release it elsewhere?

If they are using a wrapper it is probably just dxvk with extra stadia specific patches. ( https://github.com/doitsujin/dxvk )


DXVK is for DirectX 11 and earlier, not for DirectX 12


Sometimes your Stadia build is done by another company, or is using some obscure Stadia_VK extension, or your renderer is statically linked, so you'd have to do another build to switch to VK. Whatever it is, it's probably just enough work, and DX11/DX12 works better enough anyways that there just isn't enough incentive to spend the effort to get your VK backend running on Windows.


> DX11/DX12 works better enough anyways

DX isn't performing better than Vulkan, is it? The performance of Vulkan titles has been almost absurdly good.


It's entirely possible that the Stadia version is a separate version of the game contracted out to some other studio, with heavily invasive changes that would break if blindly rebased on top of the Win32 version.


I think people should start thinking of Stadia as "a console that happens to use the Linux kernel," not as a server running a Linux distro. It's getting the equivalent of a console port.


Cyberpunk only uses DirectX12 on Windows.


> If CyberPunk is any good, I'm going to buy it and want the best experience...

from past experience with CDPR games, you should really wait a good year for all the patches to happen. TW3 was only really playable, like, two years after release


After playing many Bethesda titles I think I can handle CDPR bugs. Skyrim and Fall out are about the buggiest games I’ve played and I never played on launch. Still fun to play.

Once Cyberpunk gets unlocked I might change my mind but for now I’m hopeful.


This is true for nearly all AAA games now. They're buggy garbage when they come out.


I remember watching the DXVK developer work on Witcher 3 support. Progress was lightning fast and then, suddenly, Proton appeared. Even VR games work!

Thank you, Valve. You guys are my low key hero's.


I've been playing Witcher 3 on Pop!_OS 20.04 recently using Steam/Proton. There's a few edges that occasionally popped up. For example, the wireless keyboard I was using would freeze the game when I tried to change the volume, but that's not an issue with the wired one I have. Overall, the experience over a couple hundred hours (oh, quarantine) of play has been overwhelmingly positive. I don't have a Windows machine, so if it can't be played using Proton, I can't play it. Valve are also my low-key heroes.


I recently ordered a Valve Index + gaming PC. How's the VR support on Linux looking like? I'd rather not install Windows if I have to.


I own a Valve index and have eben running it exclusively on a linux gaming PC for the last couple months. There are problems. The VR games themselves are generally good. Games generally "just work" but some of the other VR bits and pieces are troublesome. Each time I play I have to bounce around menus to enable sound through the headset. And very few media players work in linux (codex issues). Skybox VR works, but not on the latest version of proton. I still haven't figured out how to watch youtube in VR.

I would still recommend VR gaming under linux for all the same reasons I would recommend linux over windows generally, but not to a casual gamer expecting a seamless experience.


You usually have the sound using HDMI/Display port output ? I suggest enabling simultaneous sound output.


It works, but still beta quality. Steam still crashes every time I start SteamVR (restarting Steam afterwards works though). There is no official way to play VR videos. Half-Life: Alyx has enough bugs that Valve still does not advertise that it supports Linux on the store page. SteamVR and Half-Life: Alyx have both not been getting many updates on Linux. Maybe I'm wrong and there are fixes coming up but honestly it feels kind of like whoever at Valve got VR running on Linux lost interest.


Is there a Linux version of Half Life Alyx without Proton?


Yes, but as I said it still has some bugs and Valve themselves don't advertise it on the Store page.


It works somewhat, but the more advanced VR features like async reprojection or motion smoothing don't work, and there's a definite performance hit. The FPS drop for general gaming is less noticeable, but it's really important for VR.


Through proton, it's fantastic. The native Linux stuff is hit or miss unfortunately.


Agreed. Watching Philip pump out release after release, and getting to test and see the daily progress was a game in itself. Whatever Valve paid (pay?) him wasn't enough.


Yeah it's so good that I haven't bothered to boot Windows in months. The odd game doesn't work (Horizon, Zero Dawn for example) but it's so convenient to use Linux for everything I would rather just not play the game than to have to boot into Windows.

Linux is just such a more quiet and less pushy experience, I find it relaxing.


I've not tried it myself, but I think Horizon:Zero Dawn was mentioned as explicitly fixed by Valve in the latest Proton runtime.


Lots of the crashes are fixed but it still needs performance work. Not quite playable but seems to be improving regularly.


Good to hear...was thinking this last week about making the leap just from all the good news from Proton.

Now that Davinci Resolve works well on Linux I don't see why not to make the shift.


I haven't been able to get any game that requires Origin or UPlay to work.

I can't even get either of those to install via steam. I can install them via, e.g., Lutris or PlayOnLinux, but then steam doesn't see the clients.

Otherwise, yeah, I used to run a GPU passthrough to a Win guest for a few games. Now I don't even do that. Gaming on Linux is quite good. Mostly good enough, anyway.


I've probably spent 100 hours trying to get Uplay to work on Linux. It's a nightmare and I would recommend just not purchasing Ubisoft games at all. Even if you get it to work, their games seemingly have more problems with wine/proton than most, and multiplayer has never worked at all (again, due to Uplay).

Nearly every other game I've tried has worked great with proton though! Even multiplayer games (through steam) tend to work very well.


Rdr2? Fuck, I'm in. I built a PC that i couldn't get windows running on due to some stupid uefi or something, i can't figure it out so it's sitting in the corner and I'm using a PlayStation now. I'll try putting Linux on it so i can use them games i bought but couldn't use because software is a fucking drm nightmare these days.


Okay, while I'd definitely suggest just saying "fuck off to windows" 100% at this point... I mean it plays RDR2?! That was the moment I said "holy shit, I'm never going back" haha.

Anyway to the point... If you do ever really need to install Windows from a USB stick the only fucking thing I swear always works is using Rufus:

https://rufus.ie/

Last time I had to like bootstrap a Windows install without an existing one; I could not get anything to fucking make the usb drive bootable using MacOS or Linux at the time (I could be an idiot though). Eventually, I created a Windows VM, passed the thumb drive over to it, and used Rufus... worked immediately no fuckery to be had. Has worked every time since...


Fucking fuck FUCK! Oh and by the way which distro do you use?


Can you explain that "UEFI thing"? There was a listing on ebay recently where the guy was selling his i7 8700+mobo+ram combo way under price because he said he couldn't run windows at all, only linux. It seemed so weird but google was not helping too much. What happened that you "bricked" it or was it factory setting?


Perhaps he was trying to install Windows 10 using a USB stick.

The various software for that builds the image for either legacy BIOS or UEFI, and they're not interchangeable. Rufus, for example, lets you specify the mode.

Alternatively, if you can't install it in UEFI mode, you can switch to legacy BIOS/CSM mode in your machine's BIOS (or vice versa).

It gets worse - some Win10 ISOs themselves are made for either UEFI (most common) or legacy BIOS, and they can't be set up the other way.

You can clone or run Win10 legacy BIOS/CSM installations on other machines/drives (useful if you plan on swapping/upgrading), while UEFI will only run on the specific motherboard/CPU you installed it on.

I've also noticed Win10 in UEFI mode can BSOD with no chance of recovery when undervolting too much and causing it to freeze/BSOD. Something must be getting corrupted, and it won't run again, ever. Legacy mode works fine.


> Perhaps he was trying to install Windows 10 using a USB stick

I was, yes, but even switching to legacy didn't help at all. I spent weeks trying to get it working, I looked at everything I could and tried every combination of settings (I had a grid).


How did you build the USB? I always have to use woeusb to install Windows via usb for my moms PC as just creating the disk will run but then throw a missing drivers error.


I meant the eBay seller. But yeah, the W10 bootloader is finnicky as hell, GRUB has nothing on it. Did you try an older version of W10, like LTSB or LTSC?


It was settings. I had a combo of AMD ryzen 2, nvme drive, windows 10, and couldn't for the life of me get windows to discover the drive and install, whether using uefi or bios. I haven't ever dealt with Windows without it just working, so I was unprepared, and my Googling did nothing. I'm not a dumb guy, but I determined with this combo of hardware it was impossible for me to get Windows installed. Combine that with a new kid, and I decided just to get a Playstation 4 (this was months ago) and not have to mess with anything.


Not OP but I had a terrible experience installing Windows 10 on my machine. UEFI boot, NVME root disk. Windows would boot the installer, but would refuse to install. Disabling UEFI would cause it to install but there were issues so I had to bite the bullet and keep trying UEFI.

I had to install linux(because Windows recovery is terrible and can't do much), fiddle around with pre-creating a partition table on the format it wanted, and then eventually got it to work. Don't ask me how, I spent hours trying every combination under the sun. Windows error messages are very cryptic and not at all helpful.


FWIW I’m having trouble installing Windows on my AMD B450 system where Linux also runs fine. It locks up during the boot process after the first reboot.


I have the same MOBO. Does it lock up entirely, or just gets stuck in that screen with the spinning white thing? If the latter, it just takes a really long time.


What do you install it from and what software do you use to build the installation image?


USB 3.0 flash drive made with Microsoft's own installer tool from their website (from another Windows machine). So just to be clear, it fully completes the installation and boots normally the first time, but fails to boot after I install the first Windows Update. I have successfully run Windows 10 on this particular device in the past, which is weird. I only reinstalled it to use a larger SSD.

Some Googling suggests it might be a USB device issue. I also have a weird issue where out of nowhere my onboard Realtek Ethernet stopped working in Windows (though works fine in Linux), so I've been using a USB 3.0 Ethernet dongle.

Something's rotten with my machine. But I'm not exactly sure what. I'd likely use it more for work related tasks, but it's so frustrating dealing with this crap that just plug my MacBook into my monitor and call it a day.


Well, sadly I can't think of anything that could help... but I will say that some update made my Win10 installation hibernate randomly (event log says due to "CPU overheating" - there is no overheating).

I thought it stopped when I converted 2 disks from dynamic (mirror mode) to basic (2 independent drives), but it still happens, albeit way less frequently. Create a mirrored volume and it's 2-3 times a day.

I sure as hell am not blaming my hardware, Win10 used to work fine, Linux works fine, Windows 7 works fine.


I fiddled with it again last night and found that enabling “Ultra Fast Boot” fixed the boot issue I was having. I think I disabled it when I was doing some Hackintosh silliness. My Ethernet is working again too, for some reason.


My issue usually has been with random indie games just refusing to work. Like Party Animals, which either refused to launch for me or my friends or had horrible performance. Among Us as well.

Also any multiplayer competitive games that use anti-cheats are impossible to play. Valorant, for example.

IMO it is well worth it to maintain a dualboot for windows games.


Agree. It’s odd that among us causes problems since there’s not a lot there and it works on android.

Most recent frustration for me was Firefighter Simulator. Ended up trying out a VMware product and playing it through a VM. Wasn’t great.


Which GPU do you use? I haven't been up to date on the state of drivers, specially for newer cards. Historically for me AMD has been better.


I've used both an AMD RX580 (90% of the gaming so far) and just got a 3090. Both of the graphics cards have had no issue, but I also didn't even hesitate to mash the "install proprietary drivers" option to a yes.

Even switching graphics cards was painless... Like it was easier than I could have hoped for. Download drivers, mark weird driver.run file as executable and ./driver.run my way to victory.

My motherboard is being a pain in the ass or I'd let you know how the GPU passthrough was working with the RX580 feeding the host... ugh that's tonight's adventure.


I'm to the point where I'll buy a game even if it isn't supported (yet) because I assume it will be eventually. They really have been doing a great job.

All of my computers are windows-free now.


Wait, what do you mean you can just install a windows version on linux? Were talking about a windows only game correct?


Yes. In steam you just hit "install" et voila! It installs. Using Lutris you can install games from Origin or the Epic Games store the same way... just download and hit install.

I honestly didn't think I was gonna get to play Fallen Jedi with ease since I bought it on Origin (regrets) but turns out I was wrong. Was easy as hell just like everything else on Linux :)


Trying to play anything through that requires the Origin client fails for me at trying to install OriginThinClient or something. Lutris install of Origin was fine though.

Mostly everything else works pretty easily.


That is insane. I'm going to have to try that. One of my colleagues is a linux nerd and he'd probably freak if I told him that.


That's what proton does. Runs windows .exe games on Linux.


Adding some context: in Steam on Linux, you can right click on a Windows game you've installed and in the properties, you can select various alternative runtimes for the game. If you select a compatible Proton runtime, then you are able to launch the Windows game on Linux and it usually works.

I don't have modern hardware but I'm easily able to play things like Mass Effect with Proton with no serious issues on an older graphics card (Radeon 7790). I'm not so confident that brand new titles would just work (even if I had a modern gfx card), but people tend to have good success overall. It's really good.

In case it's not clear, Proton is a Valve fork of the Wine project. The one problem I've run into is if I don't have the right dependencies installed. I didn't play any games for a long time, then went back and started playing some again, and through several `apt update` runs something had gotten out of whack; Proton is Wine, so you can still get into difficult "what does this error even mean" situations.


The only issues I've seen are with some games with third party libraries. Project Winter has been working on Linux for several months now, after some impressive efforts between the devs and the Linux fanbase.


That's so good to know. No wine etc needed?


Proton is Wine.


Escape from Tarkov


Something else that works super nice for gaming on Linux: GPU passthrough (gaming on a VM that has direct access to the GPU).

I've been doing this since 2017. Back then I had built my first desktop computer powered by ryzen 1700 + 2 GPUs.

Creating this setup had some challenges, but after the initial hurdle everything has been working perfectly (I imagine things must be easier nowadays).

Created a windows 10 VM, assigned 4 of my 8 cores, 16 GB of RAM (got 64 on the host) and a GTX 1070. This setup is enough to play pretty much any AAA game with max settings on full HD.

Besides having every game working perfectly, I get another nice side effect: sandboxing. No games (mostly proprietary software) have access to my personal/work files.


I thoroughly agree, Linux KVM and GPU passthrough is amazing.

I was disappointed with USB for guests though, I found it impossible to restore my iPhone via iTunes on a Windows VM, because the USB device wouldn't automatically bind to the VM. Which is something even VirtualBox can do well. But maybe the tech has progressed, or there's a better solution to that issue now.


I "solved" that issue by getting a pcie usb card and passing that through.


This is the best way to connect VR headsets as well.


True, though you'd have to do some research on usb controllers that are supported. I had to do that for my Rift s.


I can't speak for Apple products, but passing USB devices with libvirt/qemu worked nicely so far for me (devices attach/detach automatically when the VM is powered on/off).

My main experience is with a Logitech g933 headset, which requires windows-only software to control certain parts of the device.


Do you run two gpus? Or can you handoff to the VM when it boots and back when you shut down? Mind sharing your libvirt xml or qemu script? I've been meaning to give this a try!


The host GPU is a Radeon rx460, the GTX 1070 is only used by the VM (when the VM is running). Here are the most significant configuration files involved in my setup: https://gist.github.com/tarruda/2ea928b90cdecb6f77c2f9ca65ba...

Note that modprobe configuration is important, as it assigns stub drivers to the GTX that allows it to be handed on demand to the VM.

Note that this is made for a debian 10 system (kernel 4.19), other distributions might have different requirements.

As for running the GTX 1070 on the host when the VM is not running, I'm not sure if it is possible.


Man, look at all that config. And this is considered a success story?

On Windows it's (1) install steam (2) play. To develop with my headless freebsd dev machine, it's just (1) install ssh (2) install x11 client (3) open term.


90% of that is just making a virtual machine, the equivalent would be acquiring/assembling your dev machine.


That big XML file is just how libvirt represents a VM. If you create a VM using libvirt GUI, most of the XML is generated.

I made some tweaks based on level1 forums information, but most of that is auto generated by a GUI.


Depending on your motherboard you might need two GPUs. In my case I use Proxmox and control VMs through is web GUI.


do you do anything special to sandbox the games?

I've been wanting to try out linux gaming and this makes it more interesting.

I've also been thinking about videoconferencing/etc on linux running in the same manner.


I am using Windows VM with GPU passthrough too. If you want it out of the box (well, kinda) I would recommend Proxmox. Proxmox is amazing hypervisor OS. Otherwise you need to study tricky things a lot: QEMU, Kernel configuration for VFIO.

Also you may need hardware, especially motherboard that supports VFIO groups well.

Fortunatly there are quite big communities like Reddit in this topic. Just google "VFIO"


Thank you for the pointers. I run proxmox right now, but mostly containers and it's a headless server. I've never thought about running it as a desktop system, which sounds intriguing!


With passthrough you could harness the power of the gpu for a plex vm/container on proxmox to help with transcoding.


Nothing special except what comes by default on debian 10 qemu setup, which I think has SELinux or AppArmor profiles enabled. I had to disable seccomp sandbox because it was causing random host freezes (might have been fixed on newest debian updates though).

Maybe it is not perfect sandbox for running malicious code, but surely it is enough to make games and anti cheat systems think they are running on a real computer.


It's seriously astonishing how much progress has been made in the past few years regarding gaming on Linux. When I first made the jump to using Linux as a daily driver circa 2016, I had to keep a Windows partition to be able to play any game in the Steam library that wasn't native on Linux. With steady improvements to Wine and Valve's release of Proton however, I can play most games out of the box or with a minimal amount of tweaking.

However, the games industry is still largely hostile to gaming on Linux. I've always had the best experiences with indie games or FOSS projects, and the only trouble I've had is with newly released AAA titles. I wouldn't even bother with newer multiplayer-only games or MMOs, as anti-cheat on Linux is a pretty reliable way to be falsely detected and instantly banned (not to mention requiring kernel-level access, which is utterly ridiculous).


>not to mention requiring kernel-level access, which is utterly ridiculous

Not a troll question: how do you detect cheats run at the kernel level without kernel-level access?

If you answer is "I don't want a game to have kernel level-access even if it means some cheats can't be detected", I respect that, but can you accept that others can make a different decision and not be "utterly ridiculous"?


I think the point here is that "Others" (i.e. My non-programmer friends who play Valorant, for example) don't know what a kernel is. I wouldn't have an issue installing something like Vanguard to play Tournaments but having a single point of failure like that (and totally unverified?) just to play casual is not good.

The bomber will always get through. I think the only way forward is by using a weaker anti-cheat combined with an ML and player-based (Like in CSGO) system to find cheaters. If cheaters get through, but they have to play within the bounds of what could be reasonably could be expected of a regular player, it doesn't really matter.

Push comes to shove you could make a fully visual triggerbot that doesn't even draw power from the machine (i.e. HDMI->Magic->MouseInput)


People do this. But the latency can be bad and your fake mouse can also be detected. Inputs from two mice would look pretty suspicious


I only play two games at the moment and neither of them are viable on Linux. Call of Duty Black Ops Cold War is a non-starter even with Proton. Assetto Corsa Competizione will work, but not with my Thrustmaster wheel.

Both of these are deal breakers on their own, but the real deal breaker is the uncertainty that comes with running Linux as a gamer. For example Cyberpunk 2077 comes out this week. Will it work? I have no idea. With my Windows machine I don't even need to check - of course it will.


Both of the latest COD games have absolutely enormous stability issues on their supported platforms. Infinity Ward (and possibly Treyarch to a lesser extent) seem to be only just in control of their games - rampant size on disk, instability, etc. When the game works it's rather good, but it really seems like COD's time out of the spotlight hasn't kept its developers sharp.

Cyberpunk is DRM free so it should be OK on launch and only a matter of time if it's not.


BOCW was in development hell and the developer was switched very last minute (with only a year until release IIRC).

Of course it was going to be a mess. They had to recycle and hack-and-slash assets to pull something together to meet the ambitious release date.

According to rumor, Sledgehammer Games was essentially unable to produce the game and has been demoted to a second tier support studio as a result.


In fairness, Call of Duty Black Ops Cold War crashes constantly for me on Windows. It's not a polished game on any platform.

I agree though, the uncertainty is definitely an issue. Maybe if enough games start to get played on linux, this will be the push that's needed for game devs to start supporting games on linux (even if that means it's through wine).


The game may be unpolished and unstable but I can still boot it up and play it with my friends, which is more than I can say about Linux gamers.


It is not that Linux is not a viable gaming platform. It is just developers not publishing games for Linux.

Why? because:

1. Windows comes preinstalled on many computers.

2. People do not install Linux because they cannot play games on it.

3. Game developers won't publish on Linux because there are not enough users.

Is 3 the real problem, or is it 2? 2 is the real problem. If everyone committed to use Linux, game developers would follow immediately.

If you use Windows only for gaming then just buy a console, it is cheaper.


"If you use Windows only for gaming then just buy a console, it is cheaper."

It's cheaper to spend money on a console, controllers, games, and a yearly online subscription than to use my existing pc? I find that hard to believe. Especially with games routinely going on sale and overall costing less on pc. Even on my Switch, games are more expensive on average.

I game as much as I can on linux (debian bullseye) but dualbooting to windows for specific games is rather easy. Unrelated, but I would not recommend debian for gaming purposes. Steam didn't even start correctly due to some static dependencies until about a month ago.


> It is not that Linux is not a viable gaming platform. It is just developers not publishing games for Linux.

As a user this makes it a non-viable platform.


Cyberpunk, like any other single player title is much more likely to work than games like COD, Apex or Fortnite. Most multiplayer games use some additional components like the EAC that explicitly is made to not run on Wine AFAIK. IIRC, EAC did work on Wine until Epic games patched it so it wouldn't anymore.


Every anti-cheat is hit or miss with Wine depending on the methods they use. Even Valve's own VAC continues to have issues with Proton: https://github.com/ValveSoftware/Proton/issues/3225

Like VAC, EAC does have a native Linux version, but that does require a native Linux port of games.


>With my Windows machine I don't even need to check - of course it will.

Anecdote: I've bought games at launch that failed to boot. I've bought many games that required fiddling with settings (locales, drivers, etc.) to get them working. Linux is a more extreme afterthought but PC is also rarely a first-class citizen.


It will probably run it, but better be prepared for a bumpy/glitchy experience: https://www.pcgamer.com/how-buggy-is-cyberpunk-2077-really/


its just part of being a simracer i think. doubt any of the big games; iracing, ac, rf2, will ever get proper multimonitor/peripheral driver support linux


ACC uses Unreal Engine so they really should.

rf2's tyre model is almost awe-inspiring for a game, the game itself is not, sadly.


I switched back from Pop!_OS about a month ago, after nearly a year of using it exclusively.

My previous laptop broke, so I got a new one. Of course I immediately created a Pop! partition and started installing stuff. I tried Doom Eternal... and it was running extremely slow for what you'd expect from a RTX 2080. Surely enough, I switched to my Windows 10 partition and the game ran smooth like butter over there. I spent some time looking at the issue but couldn't figure it out.

I decided to love back to Windows for the time being, enjoy the laptop and try again later on.


Thats interesting. I am running on a GTX 1650, so not what you would consider a real powerful card but it will run at just above 100fps at 1080p with everything maxed out. But that is with some frame stalls when it comes to, what I assume, shader compilation/texture load-transcoding.

I am interested to see were the bottleneck could be.


I was thinking either thermal or power throttling. That's the biggest hurdle for high-end graphics cards on laptops.


This mirrors my experience. Proton gives frequent issues including both crashes and slow downs.

But it's worth a try. Some games run well enough for me that I don't bother booting into windows to play them.


I'm a bit skeptical of all the positivity here.

Heck if I can't edit mouse acceleration with ease, how hard is it going to be to watch Netflix? Do I need to downgrade chromium to 30.4 just to install some plugin incompatible with the v32 chromium?

These are real issues that you'd expect Ubuntu to have working from defaults.

I'm not asking for every porn website to work, but all FAANG websites to work.


This line is getting really boring, especially on HN, which should be at least a bit more tech savvy than the regular forum.

I got a laptop. Removed it from the box. Installed Ubuntu, tweaked the dock drivers a bit. Everything works as it would on a Windows machine and no I don't need to downgrade Chrome to have Netflix, Spotify, Facebook, HBO or whatever work. Zero, zero compatibility issues and I can't be the only one since millions of people use Linux daily.


> Everything works as it would on a Windows machine

A fresh install came with ads, tracking, and forced updates?


Netflix not playing in Chromium is a Chromium problem, not a Linux problem. Don't blame Linux for Chrome and Netflix making the web a proprietary DRM shithole.

If you want Netflix in Linux it's as simple as installing the official Google Chrome browser.


Netflix works fine for me in Chromium on Kubuntu.


you probably have widevine installed.

https://github.com/proprietary/chromium-widevine

And I really can't believe I have to explain this at Hacker News of all places (jesus christ), but this is the difference between Chromium and Chrome.

Those people defending HTML5 DRM really have a lot to answer for here. "It'll be fine" they say. Proof right fucking here that consumers are oblivious.


> Heck if I can't edit mouse acceleration with ease

Not sure if this is you, but those of our community who are really into the objective sensory aspects are not a terribly good sell for Linux right now IMO. Usually they're looking to rep their OS to other people, whatever that OS ends up being, so rather than build on its strengths, they look for a specific set of strengths to which they're already attuned over time spent with other OSes. Ergonomics and sensory aesthetics are big preferences of this group. Good refresh rates, overall feeling of smoothness, little wastes of their time eliminated, etc.

Mouse acceleration is IMO a good pointer to this kind of sensibility. Unfortunately if that's really important to you (not that you can / can't tweak it, but the _way_ in which you need to do some perceived extra work to configure it) it's important to know that it may be best to build on and adapt to Linux's other strengths, or try it on the side in something less important, or stay with what you already like.

Other phrases like "people should expect" or "things like X should just work" are also good clues here. Nothing wrong with that, but Linux brings really huge subjective strengths to the table (a deeper connection to what do _you_ need or want, starting closer to bare hardware, vs. what do _people_ need or want, starting closer to end user experience) unless you are doing specific types of work where Linux is already a known dominant solution for groups of people.


I agree with you on the mouse acceleration part. Linux distributions are bad in some aspects, and mouse acceleration is one of them.

About the Netflix part, I don't think that's Linux's fault.


Netflix works, at least in Firefox.


> Heck if I can't edit mouse acceleration with ease

Mouse/trackpad/trackpoint configuration can be one of the most painful things to do on Linux. Netflix and friends are easy (unless you want HD sometimes >.>)


Something's off but I chalk it up to beefy config and some specific games. None of my games run on my laptop (hd 520 igpu) I can play games like the witness on windows, hl2, the cave, the talos principle, portal 2, dead cells, etc. and none runs easily on Linux. Except Dott and kentucky route zero.


Could be Intel's graphics drivers. I wouldn't be surprised if they weren't properly optimized on Linux. Out of curiosity, what distro did you try?


I am on Kubuntu 18.04.

Quite frankly I don't expect much from gaming on Linux regarding ease-of-use and I am okay with that. I am sure all those games could run but when I want to play a game I don't want to fiddle with config files so I either boot a console or reboot into windows. It's been my experience for years that ubuntu/Linux isn't as versatile and as accommodating as windows regarding gaming but it doesn't mean that those games couldn't run with a bit of elbow grease (they most likely would but it's not pain-free).

I always try to stick to Intel IGP because I read (and I suppose it's still true) that they have the best support for desktop usage. I don't want to fight nvidia or ati drivers, I don't even know wwhich's the darling of gaming GPU for Linux these days. Been there, done that.


The Talos Principle has had a linux version for years, never had any problem running it.


Good for you.

But I re downloaded it and it still doesn't work: https://postimg.cc/TygMLfX8


That's interesting...

On this end, it looks this way, when windowed: https://imgur.com/hlrBFc9

And it's not even Xorg session, it is under Wayland -- Wayland won't allow to set a display mode to apps, and for Xrandr it is faked using overlays with correct density.


I looked a bit and:

> I guess your videocard does not support Vulkan. Open game properties, Betas tab, switch to "legacy" version. Beware, it will download several gigabytes from internet. Legacy version has support of OpenGL unlinke modern one, which uses only Vulkan.

https://steamcommunity.com/app/257510/discussions/0/16409152...

But this option is behind a beta and I need a code to activate it (what ?).

edit: Digging a bit more https://steamcommunity.com/app/221410/discussions/6/17422272...

This did the trick:

    apt install libvulkan1 libvulkan1:i386 mesa-vulkan-drivers mesa-vulkan-drivers:i386
It now runs. I only did it because you lured me into it though :)p. My point still stands ^^.


Sorry for vasting your time :P

I actually run Steam inside flatpak - I installed Steam from flathub, launched it, downloaded the games and almost (see below) everything worked. Flatpak runtime has all the necessary Mesa drivers (for AMD and Intel, not sure how Nvidia and flatpak works). The only thing I had to configure myself in the host system was udev rules for Dualshock gamepad. That one breaks the otherwise nice experience of everything working out of the box.

And wrt the Vulkan requirement: that's why I bought The Talos Principle originally. It was one of the first games with Vulkan renderer and I was curious, how well it works.


Ah, I remember trying the Flatpak version of steam but the performance difference was huge (Dead Cells and the dishwasher - vampire smile) with the Steam version of the official site but it was two years ago with an HD4000. Now that you mention it I also remember not wanting to deal with DS controller setup (for games that need it).

I'd have to do some testing with Talos (vs windows version) but I think that The Cave runs smoother now.


Unity actually exports Linux binaries so most developers could do Linux natively.

The issue ends up being support cost vs sales.

If 1% of your fan base runs Ubuntu, but they're 50% of your big reports, it's cheaper to not worry about them.


It's also not as trivial as just flipping to "Linux" in a combo box and re-exporting. Getting the game to run well requires work, from writing additional platform dependent code, through fixing issues caused by changing the graphics backend (unless you use OpenGL on Windows, which you probably don't) to a lot of additional QA needed to make sure your Linux build still runs after the latest changes.

I'm a solo game developer (working on [1] right now) and while I get many more requests for a native Linux version than I expected, I'm still reluctant to invest the necessary development time. It's ironic, but the very fact that Proton is so solid makes it even less likely that a Linux build will exist, since I'm fairly certain people will be able to play Slipways under Proton with hardly any issues if they want to.

[1]: https://store.steampowered.com/app/1264280/Slipways


For your game did you open an LLC to publish it.

I'm debating doing that now, but it comes off as a ton of work where I don't particularly think I'll make money .


Admittedly I think it’s not a ton of work with there being things like Stripe Atlas (I think there are others as well) that automate a lot of it: https://stripe.com/atlas


You still have to legally file taxes for the LLC and stuff. Feels a bit silly if I'm ultimately not planing on making money


> Unity actually exports Linux binaries so most developers could do Linux natively.

It'd be great if it was that easy, last time (been over a year to be fair) we tried we had weird unexplainable shader errors and graphics glitches, windows build via proton works fine

Sadly not worth the dev time to investigate that more thouroughly at the moment


The bugs are probably still there on the Windows version but those users are less accustomed to filling bug reports.


Or Unity Linux is less stable ?

Like if y'all really want I can upload the Linux build and make it clear it's not going to work as well. I can't support every single distro after all


If you do decide to support Linux, keep in mind you don't have to support every distro. As long as you support Ubuntu it'll probably be good enough for most people. I say this as someone who doesn't use Ubuntu, because I run Steam (and games) in an ubuntu:20.04 docker container precisely because of how many games and direct-from-manufacturer software equates "supported on Linux" with "supported on Ubuntu".

(I don't have any problems, and I get the benefit of compatibility, not cluttering my host OS with 32-bit libraries, and controlling what information the software can access from my system - no worry about it stealing my browser cookies, for example. The only problem is I have to use the Proton runtimes instead of the new "Steam Linux Runtime", because the latter requires cgroups and thus would need a privileged container, but it's very rare to find games that don't work with Proton - recent examples I came across being Chip's Challenge and Hardspace:Shipbreaker.)


I honestly think that some game developers should seriously consider cutting off their games feet and open sourcing them. Nothing interesting e.g. just the parts that do the slow stuff that talks to the OS.

Especially in very niche games with small teams, there is 0 IP in the boring parts of the game. If your code isn't too much of a clusterfuck, I will happily try and fix the bug myself and make a PR.

That and I firmly believe that open source is by far the most efficient way to ensure a reasonable code quality.


Not really possible for many of us as we don't have the rights to distribute all the code.

Wouldn't make much sense from a commercial pov


Both of those were true for DOOM, but Id did it anyway. It did take 4 years for the initial source release and an additional 2 more for GPL though. It is worth noting that DOOM is still selling today.

Not that I'm saying any developer should feel compelled to do it.


And with Quake 1, 2 , 3 and Doom 3


Isn't the Steam Linux Runtime supposed to handle the distro support problem? Or are there issues with that too? I was under the impression that Valve had essentially solved the distro support issue for Linux games distributed on Steam.


It provides a runtime which developers can link their games against, but there is nothing which enforces or mandates this. You can ship a binary that makes 0 use of the steam runtime, and this binary could be blatantly broken on various distros (though Valve does have some testing in place to make sure games actually launch, but this testing might be limited to Windows)


I think that's better than nothing at all. But I'd make it absurdly clear, all tickets regarding Linux will be selectively completed at my [devs] whim.


If steam would give me the ability to make it so that reviews from users on "unsupported" platforms didn't impact my score I'd be a lot more willing to do that.


Yeah I would imagine Unity Linux gets a lot less attention within Unity than the Windows version.


Which means higher quality bug reports, e.g. logs.


Gaming on steam works on Centos/RHEL as well as Ubuntu too. While most folks would not think of Centos as a desktop OS, we end up using it for our dev workstations as it matches up nicely with production servers. Christmas time last year, ended up having a bunch of vacation time to burn through and set out on a quest to get a game running on my work rig.

The planets aligned with Centos 8, Steam, and AMD drivers somewhere around late January. Things went from crazy difficult to just working.

Over the Spring/Summer/Fall I've seen significant progress on what worked on Windows vs Proton vs native Linux. A significant chunk of my Steam library now plays on my primary box. When the day comes where I actually get my hands on a new CPU/video card... those will actually go into my workstation.


Thanks for this! I was wondering if it would work on CentOS. I had Ubuntu on my personal computer because I had Ubuntu in my mind as the easy one for personal use, but I was working with Cent on another desktop and was actually surprised how much I liked the desktop experience on Cent.


https://negativo17.org/steam/

Are the packages I used on my Centos 8 box. Looks like I had the rpm fusion packages (free and non free) and EPEL libraries. Hardest part for me was getting the video card working. Perhaps went down the rabbit hole of getting the AMD proprietary drivers in place - which was really rough early on. Not sure folks even use those now.

sudo dnf config-manager --add-repo=https://negativo17.org/repos/fedora-steam.repo sudo dnf -y install steam kernel-modules-extra


I've been using Linux as my main (and, really, only) personal OS since Windows 7 went EOL.

I have an HTC Vive. There are many VR games that don't work at all even with Proton. There are many games that do work though.

The only game that doesn't work that I truly miss is Planetside 2.

But your typical big name games do work, even ones that aren't on Steam. Doom, Factorio, Kerbal Space Program, EVE Online -- these all work wonderfully. Space Engineers works "okay" -- it has an issue where the process threads will linger in the background even after you exit.

Blizzard's Battle.net games also work great -- you just have to start it with Lutris and do some magic to enable Vulkan. WoW and Diablo III work beautifully.

If I have one complaint about Steam is that clicking the blue button to tell Steam to kill a game doesn't work. Space Engineers and World of Warships both have to be manually killed sometimes and it would be real nice if Steam would do it so I don't have to open a terminal and find the relevant Wine garbage to do it myself.


As many folks said, VR on linux is niche within a niche.

My biggest pain is that video drivers really suck when it comes to VR. On windows you have stuff like async reprojection, on linux you have frequent lags and fps spikes, and nvidia does not seem to be interested enough to fix this.


Awesome to hear! May I ask how you've gotten Space Engineers to work?


Space Engineers doesn't work out-of-the-box on Linux. But you can right-click on it in the list in Steam and check the box that says "Force the use of a specific Steam Play compatibility tool". Then select a version of compatibility tools from the list and see if it starts up. For me, it started fine with 4.11-13.

There's also a room in Keen Software House's Discord which is dedicated for unofficial Linux help. Sometimes a patch will break the game in an unexpected way. For example I remember a patch early this year that made it so that the version check would crash the game on Linux (something to do with KSH's HTTPS certificate) and the easiest solution was to just null-route the patch server address in iptables or blacklist the domain in pihole until a later patch fixed the problem.


You might know already, but https://www.protondb.com/ has user reports for Proton games, the reports often include tweaks if a game doesn't work without tweaking.


Yeah, I've checked there already, but the steps just didn't seem to work for me (it's a .NET/Mono app). Maybe it's just my specific system configuration or something ...


There's an unofficial script which installs a bunch of dependencies in the correct order [0].

Run the autoprefix-patcher.py. It's unofficial and it's magic that I haven't taken too much time to understand. Your mileage may vary.

[0] https://github.com/Linux74656/SpaceEngineersLinuxPatches


Thanks for the link! I'll be sure to try that out.


Ctrl+Alt+ESC and click the window of the game


No. That does different things in different desktop window managers.

In KDE it changes the cursor to a kill-cursor.

In Cinnamon it kills and restarts the GPU renderer.

Neither cleanly expresses what I want to do: kill a process which doesn't have a window but is owned by one which does.


Funnily enough, one of my most played games on Linux is Age of Empires 2: Definitive Edition, a Microsoft game. No rendering/frame issues and got the multiplayer working (manual steps needed [0]). Less and less reasons to boot on Windows!

[0] https://github.com/ValveSoftware/Proton/issues/3189#issuecom...


Everything works without any fuss if you use Glorious Eggroll fork of Proton. I've played 100s of hours of AOE2 DE this year on Linux. Before it took manual steps, but I recently switched to a new distro, used GE, and needed nothing more: https://github.com/GloriousEggroll/proton-ge-custom


I've been playing Halo Master Chief Collection on Debian in Steam. It is amazing that gaming on Linux has come this far. RDR2 and Skyrim run better, faster, and at higher graphics quality and framerates than on Windows 10.


What resolution? I've been very annoyed it's unplayable for me at all but the lowest resolution, despite it being a 2D game and I having 32 gig ram.


3840x1440. I'm running it on an AMD 3900X, 32GB of RAM and a GTX 1070 on Ubuntu 20.04.


Shiiiit. I would to do 3840 x 2160, after getting used to that with HD edition.

So I finally got the NVidia Intel switchover thing working, but it didn't help at all. I have a GTX 950M which is quite a bit worse/older if https://gpu.userbenchmark.com/Compare/Nvidia-GTX-950M-vs-Nvi... is to be trusted. Maybe GPU matters more than I thought, and mine is just too old and crummy? But I thought I read it was still software rendered.


For what it's worth, I don't think I had to do that for ubuntu on steam to get it to work back in April.


as i understand it the big roadblock for multiplayer AAA titles is anticheat, and dont see anyway that changes until linux eats into the MS marketshare (but it should.. linux is a joy!)


I have an anti-cheat startup, and Linux support is a big priority for us. The segmentation problem on Linux is a real challenge for us. It’s likely we will only ever be able to support the big distros, and we also are exploring using TPM remote attestation. Both of these things take away user freedom to tinker with their systems, an ability Linux enthusiasts enjoy. But with this freedom implicitly comes with the freedom to cheat in online video games. I’m happy to hear thoughts on this.


> and we also are exploring using TPM remote attestation

I can already tell this is very likely not going to work fully, or even work for a sizeable chunk of Linux installations out there. Many platforms don't have TPMs, or have TPMs from unknown CAs. Or firmware that you're not aware of. Or even worse, people might just be running a Linux distribution that you don't know about. Or a patched kernel. Or a bootloader that doesn't measure the next stage into TPM. Not to mention, even the most popular distributions allow you to do anything with root access, things that you just won't be able to measure, but that might allow people to cheat.

TPMs really only make sense for _very_ controlled environments if you want to prevent hardware tampering at this level. The diversity of Linux distributions (and PCs in general) truly works against you here.


how would you stop someone sticking in a dodgy PCI card (disguised as an innocent one) that can read the entire machine's memory using DMA?


I’m not going to go into specifics but there are several software methods to both detect and prevent these sorts of attacks, since DMA requires cooperation from the host CPU. There are several anticheats in production today that employ these techniques with great success.


> since DMA requires cooperation from the host CPU

Not really. I mean, yes, in the sense that the IOMMU has to be configured to allow it, but after that, it's fair game. Any PCI device can read within the inbound translation window.


Require video card PCIe passthrough and host the game on KVM? Take something like firecracker or some runt kernel, don't do a full system vm, just enough to run the game and anti-cheat?


I guess I don’t understand what the goal of that would be, since the kvm host still must be trusted.


Why would Linux be a priority with you when actually no one use that platform at scale where anticheat matters?


For the same reason that I have decided to have our CI build and test on ARMv8, even though hardly any (PC) games are on that architecture. I try to be forward thinking, even if it may be a longshot. Apple's M1 may just bring an era of even further segmentation of desktop platforms. I want to be prepared for that.


I work in AAA studios and I worked on online anti cheat, you won't be able to sell your anti cheat if you advertise it as working on Linux, studios don't want there game running on Linux / virtualization because of cheating.


If they don’t want it on Linux it’s up to them. I’m just providing the tools to do it if they decide to be on that platform.


> Both of these things take away user freedom to tinker with their systems, an ability Linux enthusiasts enjoy.

I just want to play video games and I use linux - in order to play multiplayer video games I need anticheat and this means giving that up.

I would also argue that other than a minority of vocal users no one wakes up in the morning looking forward to tinker with their system, we just sometimes have to, doesn't mean we like it.


Yes, this is the big problem. Indie games usually run just fine in wine and don't do anything too advanced and just work out of the box; your biggest problem is probably going to be them installing stuff into weird places or directly onto C:\gamename.

The rootkit, driver signing enforcement, driver ACLing of anything it doesn't like, vulnerable drivers, all forms of emulation detection, failing any of those = permanent ban is a whole other problem.


Anticheats are anti-consumer; They restrict what you can do on your own machine. It's better not to have these games.


They also make some games actually playable, which is a shame.

Ultimately anti-cheat within the application itself, I find, should be considered acceptable whereas Riot's Vanguard/rootkit solution is an ugly hack. Valve seem to be showing it's possible via both automation (ML) and community judgement to make achieve results - the aim needs to ensure all players look "normal", not stop all cheats (the latter aim is impossible).


I mean good luck getting rid of the biggest games around then. The majority of the top 10 games on Steam are multiplayer games with anti-cheat systems in place. Even outside of Steam, Riot and Blizzard have games with huge player bases and they all use anti-cheat systems.


Ahh yes I will surely miss COD and FIFA /s

My bigger concern would be a permanent ban on an indie game.


I still prefer anticheat to having a multiplayer game ruined by players that move at 10x normal speed and dual-wield fully automatic, infinite-ammo sniper rifles rigged to never miss.


Uh, no its not fun to play a multiplayer game full of cheaters


The problem with anti cheat is that those are literally rootkits.


yup. i wonder if there's room for a different paradigm in the Linux community that works via some alternative like reporting or karma instead of spyware


Getting just EAC (Easy Anti-Cheat) to work on Linux would immediately make so many titles work flawlessly. Too many games are literally unable to run on Linux/Wine because EAC won't let them. For example, Apex Legends.


Can confirm it can run crysis, though the video files are laggy.

Also runs vrchat, this is on a 960M mobile chip on ubuntu 18.04.

I couldn't get ubuntu 20 to have proper vsync for the main desktop so I downgraded to 18. The nvidia drivers were causing problems, such as the main desktop not having vsync and not enabling vsync settings even if set manually, until an ubuntu system update automatically pushed update 455 to me and fixed everything. A number of nvidia tutorials or suggestions online are entirely out of date.


Can you use Proton for games you've purchased on GOG? I've been funneling more (not all) of my purchases to the DRM-free store front lately.


Yup. Check out Lutris - you don't need Steam to get the benefits of Proton (and you don't need a specifically Proton Wine build for most games).


GOG is sadly not at all linux friendly. Not a surprise, given the owner.

You can look into lutris or GameHub and get the games to work via that.


GOG doesn't have to be Linux friendly if we're talking about Proton since the entire purpose of Proton is to be a Windows compatibility layer.

Though GOG is Linux friendly, there are tons of games with Linux versions on it. The only thing you miss on Linux with GOG is GOG Galaxy but at least personally even though i use Windows i do not care much about Galaxy and instead i just download the games from the website (which notifies you if there are any updates).


GOG is owned by a company that refuses to make Linux versions of their games, after one experiment gone wrong, voicing that they are offended by received criticism over a game that plainly did not work and was not the announced native port. They have a Windows only client and put exactly zero resources into improving the state of Linux as a gaming platform. Compare that to Valve with Steam and Proton.


Afaik GOG even release patches for some games so they work in Wine.

(Which however didn't help me on an older Mac, as Wine gaming seems to be sensitive to hardware and drivers.)


Apparently, yes, though I've never tried it: https://www.reddit.com/r/linux_gaming/comments/k2kyjt/is_it_...


The itch.io Linux client will use your existing install of Wine to launch Windows games. If GOG ever ported Galaxy to Linux, they could do the same thing. Just have the user install Wine from the distro repos.


Those of you praising Proton, what distro and what gpu are you using? Are the days of nVidia bad, AMD good for driver support over?


Nvidia has always had great Linux drivers, the main problem with them being that they are dkim based so every now and then things get a bit screwey when upgrading your kernel. Thankfully this doesn't happen nearly as often as it used to.

While I can't speak first hand for AMD as I've not owned an AMD/ATI card in decades I do know that AMD and Valve have dedicated Linux driver deveopers directly contributing them to the kernel and have heard nothing but good things (taken with a grain of salt because fanboys will fanboy).


actually AMD drivers are open source and works better that NVIDA proprietary blob.


You seem to be conflating open source and functionality. The proprietary Nvidia drivers are perfectly functional and maintain feature parity across Windows and Linux (minus HDR but that's not Nvidia's fault as HDR barely exists on Linux).

AMD drivers are open source but that alone doesn't make them "work better" than the Nvidia drivers.


I'm using ubuntu 20.04 and it's working great. I actually use it to play the game remotely from my linux desktop on my mbp via steam link. The desktop is currently using integrated graphic so I can only play indie games at the moment. I'm still waiting for my new gpu to arrive so I can't test any of the AAA game.

Funny thing is I sometimes use steam remote play to access my linux desktop since it's faster and has very little lag compared to VNC. I simply add nautilus to steam game library so I can launch it remotely via steam link, then press "super/⌘" key to access the desktop.


You may be interested in https://www.gamingonlinux.com/index.php?module=statistics&vi... — AMD is on the rise (40% vs 56% NVIDIA), Arch based on the rise (39% vs 39% Ubuntu based), Pop!_OS among Ubuntu based, though I do not think there would be much difference among distributions.

I am not gamer anymore. I've had NVIDIA GPU, binary drivers were not pleasant experience, so bad that I've switched to Intel GPU. Today open source AMD GPU driver is a clear path forward, and it would improve with each release.


Have used both manjaro and ubuntu. Have used an nvidia gtx 770 and an amd apu on ryzen 4700. I'd say I've had a few issues with both, majority of problems can be resolved with a days worth of tinkering. Glad to have done that, have been casually gaming on mah linux for over 5 years.


Gentoo w/ nvidia driver; only driver problems in 2019-2020 I've had are "sometimes I need to wait to upgrade the kernel because the driver doesn't support it yet."


Ubuntu 18.04 with GTX1070. Used the drivers that came with the OS and I might go play some Hellblade in a moment


Arch, nvidia 980ti, using the proprietary driver. I have had a really good time with it.


Ubuntu 20.04 LTS with an RTX 2070 Super GPU.


NixOS with amdgpu. Works really well.


Hmm, I'd like to see a macOS version of this..... with x86 translation via Rosetta2 !! :D

disclaimer: yes I know I'm asking for a free version of Crossover. Though not entirely "free" since I've already paid quite a bit of money to Valve over the years for games that no longer work on macOS Catalina. (And also for Steam Link hardware.)


Note that Codeweavers (the developers behind WINE and a good chunk of Proton) have 13 full time developers working on Proton right now: https://boilingsteam.com/podcast-with-james-ramey-full-trans...


Is it just me or is that page unavailable? Couldn't find the episode elsewhere neither.


You cna check it again now, it's fixed :)


Thanks!


I really need Steam to add a "Might work in Linux, worth your time to try, but not guaranteed" icon along with the usuals. Because there's a bunch of stuff I'd like to play but I refuse to purchase if I'd have to fire up another machine for it.


If you’ve owned a Steam game for less than two weeks and played for less than two hours, you can get a refund without hassle: https://store.steampowered.com/steam_refunds


It's not linked from the store, but Protondb is exactly what you're looking for. Also, Steam refunds make is rather risk free.


Get Blizzard games (WoW especially) to work perfectly all the time with minimal effort, and I'm down to switch for good. I tried VFIO (lots of effort), and it worked great for Blizzard games, but showed massive frame loss in games like Jedi: Fallen Order.


I got Flight Simulator working on linux... this is a dream come true. Thanks Proton/Steam :)


Apparently Falcon BMS works on Proton too - for those unfamiliar it's an extremely detailed (study-) sim of the F-16, combined with a dynamic campaign in which the quality of your virtual piloting affects the surrounding war rather than just missions like DCS.

As soon as DCS actually knows what threads are we're in business.


What's astounding is that the base game -- Falcon 4.0 -- was released in 1998. I vaguely remember struggling to play it back then, being very proud to get a hit in a BVR engagement. I suppose 20 years later I've got the hardware to enable all the graphical bells and whistles (flaps and ailerons?).


Oh yes. DCS is an absolute hog but Falcon runs very nice (albeit looks a bit shit).

If you haven't been keeping up with the scene, the game has been greatly expanded by mods - e.g. improvements the flight model


Holy cow, I use a Mac, Linux, PlayStation and Switch, literally all the major platforms FS2020 does not run on. I was this ->-<- close to getting an Xbox (when it's out) or a Windows machine just for that.


What version? FS2020? or FSX?


FS2020 of course :) multi-player and ATC voices are not working yet, but everything else seems to be fine!


Real pending question is will Cyberpunk work on linux?


Sort of an extension of this: does Google Stadia availability imply an official build for linux? Are they under some kind of exclusivity agreement with regards to a linux version?


Not necessarily; technically there is a Linux build being developed, but it being used on Stadia doesn't necessarily mean it will be released to others.

Just Dance 2020/2021 is a good example of this: the PC version was discontinued in 2017, but 2020 and 2021 were also released on Stadia -- without an accompanying PC build.


I think it's mostly that CDProjekt and GOG got called out by the Linux community for pulling support of the Witcher 3, and some other things. The CEO had a bit of a tantrum about it and now won't support Linux.


Witcher 2 for Linux was pretty crappy though.

It is about the only linux release I've never managed tu run.


I mean CDPR staff did get death threats, let's not forget that in this story.


While there's no reason to send death threats because a game company pulled support for $OS, there's no reason to pull support for $OS because of death threats either.

There's always someone really, incredibly angry on the Internet.


I agree but painting the CDPR tream as "having a tantrum" without context is disingenuous.


The difference with an official linux build vs Stadia using linux is the fact that they (currently) have only one hardware configuration to worry about.


If they are using a traditional driver setup wouldn't the software be the problem rather than the hardware i.e. Vulkan is Vulkan, Ubuntu is not Arch?


Cyberpunk is a DX12-only title, isn't DX12 under Proton still relatively immature?

Death Stranding was another recent DX12 release and it looks like Proton struggles with it


I really don't see the issue with dual booting. I work and do most of my personal stuff in Linux, but when I want to play videogames I just reboot my machine and open Windows. It's less effort even than going to my living room and booting my PS4.


I wonder if they've looked into to doing the same on Mac. Just ship some Wine like shim.


Proton initially had some Mac support via MoltenVK, but they never managed to get it runs stable enough, and all mentions of it have been removed from the repo 2 years ago.

https://github.com/ValveSoftware/Proton/commit/a84120449d817...


I’m wondering the same thing, wine works well on the Mac, and Porting Kit and Play On Mac are basically volunteer efforts at the same thing (custom versions of Wine for playing games) and work pretty well for slightly older games.

I re-played Fallout 3 and New Vegas this year using Porting Kit but had to dual boot into Windows to play 4.


Anti-cheat apps like BattleEye still prevent a lot of games from being worthwhile on Linux.


This is true. I've just pivoted to not playing games with restrictive anti-cheat. It's not ideal, but it's only a small handful of games and I've got plenty of other stuff to play, and the stuff I do play runs flawlessly. Well worth it to me to never have to worry about Windows nonsense ever again.


Recent convert to Linux gaming here. A small tip to any other potential new linux gamers - if you encounter painful input lag, check that Vsync is turned off! For some odd reason, Vsync on Linux feels much much much worse to me than on Windows.


This (vsync off) also fixes UI flickering for me, in case anyone has that. Factorio in particular but probably other games as well.


Seems like this gets posted every couple of weeks on HN. And I got duped into this.

The caveat with this is that many games don’t work in multiplayer due to incompatible anti-chest software. Seems to have a pretty good track record in stand alone gaming though.


> incompatible anti-chest software

That explains so much.


anti-cheat. Damned autocorrect :-)


I play coh2 via Proton https://s.natalian.org/2020-12-08/coh2-proton.png on Archlinux via `flatpak run com.valvesoftware.Steam`

It works! My only complaint is that if I Alt+Tab to another dwm view, I can't seem to get back into the game. No idea where the window is. Not sure where to get help with the matter.

Filed a bug about my issue here: https://github.com/ValveSoftware/Proton/issues/4443


I didn't know AOE was working on Linux, saves me the headache of setting up Windows. https://www.protondb.com/app/221380


I was shocked how well even tripple A games work out of the box when I installed Metro Exodus recently. I get 60fps+ on 4k at max settings on my 1080TI on Manjaro Gnome. Here is a screenshot: https://twitter.com/m5blum/status/1312878889711079426

I still keep Windows around as a dual boot option for games that don't work well with Proton though, but I barely need to use it.


I tried installing Steam on Linux Mint but it fails to load. What's the point of all this work if you can't even get Steam to load on the most popular distro of all time?


Proton is the best. Heavy user here - there's very little it can't play and it basically made me wipe my Windows partition as it was no longer needed.


I wouldn't mind dual-booting but I strongly prefer having independent physical devices for each OS. The way that the bootloaders can try to clobber one another can result in frustrating breakage.

Unfortunately my MSI board's BIOS doesn't seem have support for enable/disable the SATA or NVMe controller. I'd gladly take a recommendation of a micro-ITX board that does. This kind of thing doesn't make the spec sheet.


You can do it with 2 disks. You just need to unplug the Linux disk while installing windows. If you then make Linux the primary boot disk in bios, grub re-maps the drives so when booting Windows, it thinks it is the primary drive and never re-writes the Linux boot loader. I did that for years without issue.


Joining my voice to the choir: Proton works pretty dang well.

I've made Skyrim, Fallout, GTA 5, etc. work (or kind of work) under WINE and Proton is so much easier and cleaner. On top of the Linux native games, like those from Paradox, I've got no reason to use Windows outside of my work laptop -- I do AD admin stuff occasionally so a Win10 box is useful there...

But solid 10/10, would recommend Proton.


I've been using Mint for a while (as a beginner) and for the most part I love it. I can't get fallout 4 to work for some reason. GTA and RDR2 won't work cause of the rockstar software. I have gotten Borderlands 2 and Saints Row IV to work. I would probably completely switch over if I could also get my plex server to work, but right now I can't...


Unfortunately, for many of the online games that have logins, Steam forces you to create a new login, since they track commissions based on the accounts created inside Steam.

For Linux users, this if you want to use Steam, you have to start from scratch. I'd rather stick with Wine/Lutris, even if it is buggier.


You can use Proton even if you're not using Steam.


I installed Pop!_OS last month and Proton has seriously moved most of my non-AAA gaming time off Windows. Indie titles and 2D games run flawlessly at it.

I never thought Linux gaming has improved so much. Heck, Steam has more available titles in Linux than in my Mac.


There goes Windows. Intel is probably gone too, if the Apple M1 chip eventually gets some serious competition from other cool ARM chips. And Linux get something similar to Apple's rosetta to emulate the Intel instruction set.


Anticheat seems to be the biggest problem. Most games I play are multiplayer and most of them do not work on Linux. The only exception is Dota 2, which is in Steam.

Like at the moment, I need to play Genshin Impact, but it does not work.


It would be neat to see a game's proton rating displayed in Steam's client UI. You could just glance at your entire library and kind of feel out how comfortable you are jumping to Linux.


Sadly many games better played on windows. Yes you got 10%-20% fps boost but the screen tearing is absolutely terrible, and it's no secret Nvidia has better driver support on Windows.


I can’t wait until we can play desktop games on ARM. Sony and Microsoft should seriously look into this, Apple could come out with their own console if they nail 3D.


In a sense the iOS devices and Apple TVs paired with a controller (Xbox, Playstation 4) are already fairly close to an Apple video game console


Recently noticed that Overlord 2 actually loads dramatically faster on Linux with Proton than on Windows (inter level loads). Wonder what is up with that?


Completely threw my M$ install away this summer and haven't looked back. The last puzzle in the Linux on the Desktop just slid into place.


Many AAA anti-cheats don't work in linux :(


in case some dont know:

proton is a config shim around wine and dxvk (both foss).

wine is a 27year old project that does the bulk of the work.

credit where credit is due.


Gaming on linux would mean me throwing away windows forever.. I really hope it keeps on moving in this direction


With Proton and SoftMaker Office I have no reasons to have a Windows installation anymore.

But that is not the case for everyone.


>macOS/iOS development absolutely requires a mac.

Or a VM.


Out of curiosity is there any possibility that the new Microsoft Flight Simulator could ever run on Linux?


dxvk was a massive success for DX11 games on Linux. Now vkd3d-proton is a major effort to make DX12 games playable.

Thanks to all developers who are involved in these and other projects like Wine, Proton, Mesa, radv/aco and etc. which make gaming on Linux great these days.


Has anybody had much experience with unreal engine in Linux? How is performance?


The only thing missing is anti-cheat. I don’t know if it will ever happen.


Windows backward compatibility and gaming might not keep it in the game if arm and m1 start to get really big traction. The performance advantage is there.

Arm may be too late for the ps5 gen but is there any question that ps6 gen won't be an arm SOC?

And I wonder if apple will launch m1 as a gaming console.


How does the Unity editor itself run on wine these days? Is it stable?


I just installed Ubuntu 20.10 on a new machine. Is anyone else actually able to run Steam in this environment (or 20.04)? I can't get it to work - even after running

sudo apt-get install libnvidia-gl-390:i386


Is it free software?


This is really the nail in the coffin for Linux-native game ports. It's really, really hard to justify expending the effort


> This is really the nail in the coffin for Linux-native game ports. It's really, really hard to justify expending the effort

If things work flawlessly, do we care?

If companies want to support Linux out of the box, they don't have to expend resources creating multiple builds and need only to focus on testing a single build. Even a token amount of testing from a single QA engineer (does it run?) would go a _long way_ into ensuring we can run things on Linux.

From lurking in wine-dev, games that work but have a few issues progress much faster than ones that don't even boot up (or they do but don't actually work).

It's a bit unfortunate that the Win32 api is being used as a lingua franca, but I'll take it.


Maybe in the short term, but if it means a bigger part of the steam userbase is running games on Linux, it will become economically justified for more developers to work on first-party titles.


I've been hearing that line for close to two decades. I don't think Valve even supports their old GoldSrc games that they ported to run on Linux way back.


Proton is still very new, and it's night-and-day better than any previous gaming experience on Linux. I don't think past trends necessarily apply


It's a fancy version of Wine...


Fancy enough to be invisible to the user, such that games behave like native apps, and to give performance which is better than Windows in some cases.

UX was the biggest obstacle to gaming on Linux, and proton solves it


All Valve titles are linux native except Half-Life Alyx, including GoldSrc titles (Counterstrike, Half Life etc).

VR support is still being worked on.



When companies find that their games are already working on Linux, they may be able to justify spending a little extra effort on testing and fixing a couple of bugs here and there. Then over time it may become an officially supported configuration, and they may do Linux-specific optimizations or features. It's a stepping stone. Embrace, extend, extinguish in reverse!


I would imagine a large part is segmentation. You can’t even guarantee that X is installed on the system. This is a hard problem since most games are proprietary.

Edit: commenters make good counterpoints


I mean for games you are allowed to have dependencies. If you require X or XWayland I don’t think you’ll find anyone complaining.


This is really not an issue, Steam has a standard runtime for instance, and bundling dependencies is always possible.


Steam has a standard runtime because it's such an issue.


Thus, a widely used, useful, solutions to the problem exists.

Its not like any game developer seriously worries that X is installed.


One of the differences between Windows developers and Linux developers is that Windows developers generally do worry about what dependencies the user has installed. They specifically do not want to make dependencies the user's problem. Linux developers historically make dependencies someone else's problem.


And windows developers solve this problem in precisely the same way, by bundling dependencies.


Sure, but a Windows developer only has to bundle things that can't be relied on in the base OS. In Linux almost everything in user space fits in that category.

The vast majority of Linux developers don't ever do anything with dependencies and just rely on packagers to do it for them. I hardly ever use closed source Linux software, but it has been my experience that they support at most 2 precise distro versions.


I don’t really mind. Having one translation layer for everything instead of two versions of every app probably reduces the overall amount of work.


Weirdly, on an older-ish Mac I'm having lots of trouble making 90s games work in Wine—basically, out of a dozen games only ‘Grand Prix Legends’ runs, since it kept being patched by the community for the past twenty years. Judging by the app db, Wine has some special relationship with Linux and Nvidia. Mac and Intel, not so much—I can have desktop software and not much else. Otherwise I'm stuck with PS1 emulation.

I have craving for SWAT 2 and I must satisfy it, even if it means installing Windows 98 on the NAS.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: