Steam survey shows Linux marketshare hitting 1.0%
phoronix.com
phoronix.com
If this happens it will be, without exaggeration, the greatest thing to ever happen to Linux gaming.
I'm not expecting a massive increase overnight, but it should mean that the marketshare will increase more likely than it will decrease.
Of course now I expect I'll be eventually banned for running under a VM.
Proton support for anti-cheats can't come soon enough.
> We’re working with BattlEye and EAC to get support for Proton ahead of launch.
The small minority of gamers who cheat impact the experience for a much larger number of customers who don't. So each cheater might cause dozens of lost subscriptions. (Contrast to software piracy, where each pirated copy only represents a probability between 0 and 1 of a lost sale.)
After all, if another player can run faster or fly or has perfect aim, everyone else is basically playing an unwinnable game.
This isn't helped by the current fashion for automatic match-making and 100-player battle royale games - which make one cheater impact a lot more players.
Not a gamer, so forgive me if the proposal is stupid, why not just treat cheaters like they do on (li)chess? If I am playing with someone that I believe to be cheating, I flag/blacklist that user and simply don't play with that user afterwards. That by itself is enough for me to play against only honest players, but if you want to be more strict you could even submit the game session for review, and in case it is ruled there was cheating, the cheater is banned and every game you lost to the cheater is awarded to you.
But in chess terms "Middling player occasionally made suspiciously good moves" is a pretty weak cheat report. But if you can tell they had stockfish running and changed windows to it several times in the course of the game? Well, now you've got a very clear cheat report.
More broadly, many gamers are chasing the dopamine rush of winning, complete with slot-machine-style flashing lights, music and dancing character animations. Being awarded a win by e-mail a day or two later doesn't really compare.
> Being awarded a win by e-mail a day
That is only half of the story. The other half would be in banning the cheater and making them lose access to their account, i.e, impute a real monetary cost to being caught cheating. Make it expensive for those caught cheating and equally expensive for those making false reports and I'd venture that we would see some sort of equilibrium where cheating is not worth it.
Well now you've tipped the scales too far. Nobody is going to make a report, even when it's justified, if they're risking their account to do so.
The important thing is not about being "perfectly provably fair", it is just to curb abuse (on either side) so that people still can have fun playing without having to accept such invasive software on their machines.
False dichotomy. What about playing 1800 players but starting with only one bishop? Or how about playing the same 1800 players get to use some assistance that warns of blunders/mistakes, but does not give away the better moves? It's only "cheating" if it is not agreed beforehand...
Also, bear in mind that your Overwatch example gave the impression that the good/honest player was so above the others that even without the opponent flagging system, the above-average player would be matching with "boring" games most of the time. Removing the opponent rating system does not solve his problem and still leaves the cheating issue open.
If breaking DRM was that simple, DRM companies wouldn’t exist; Games would be cracked on day 1 (or earlier). It’s way more complicated than that, and each DRM system is different.
That’s why Wine doesn’t do well with DRM. For example, some systems rely on undocumented behavior in Windows’ APIs that Wine doesn’t implement.
And the stupid thing is that a lot of games install this software regardless of whether you actually play online or not! I've even had some games that insisted I enable Valve Anti Cheat and refuse to launch otherwise, even though I just wanted to play single player (I rarely play online). That check should obviously come into play only at the multiplayer menu.
But this is actually why I still game on Windows. I just have one Windows box which I use for gaming and gaming alone. I don't want this crap on my Linux and FreeBSD computers I do serious work on. So I won't be one of those Linux users in the stats :) Even though I use it daily.
Thus permissions like that are kind of required. Now, you can dispute if some random online lobby should perhaps have an option of "i dont care". However large group of gamers does care, especially in more competetive games as league of legends, csgo etc.
Although there are all sorts of attempts at server-side and even player anti-cheat hardware devices, to my knowledge there is no option that can realistically replace client system anti-cheat.
Instead of playing a constant game of cat-and-mouse trying to prevent forbidden code from running when you can just plug in a USB rubber ducky, put the logic server-side. Ban problematic behaviour, as opposed to methods that might result in problematic behaviour. It takes some ingenuity, but what are gamedevs known for if not ingenuity? (Well, apart from withstanding abusive working environments for long enough that they can be profitably discarded, traumatised, after they can no longer function as effectively as a green new intern… but let's focus on the ingenuity.)
There are some interesting repercussions of this train of thought though. Take an enemy hiding in brush in an FPS game. The player would have line of sight to their hiding spot, and current games (I think) just leave it to the player's eyeballs' ability to see them through the brush. That's kinda cool in that it raises the skill ceiling and it's obviously immersive.
However, there's a whole host of reasons it's bad. First, there's the aim bots and other cheating it allows for. Second, what if the player has bad eyesight? So there's an accessibility issue there. Third, you get people doing a... lighter form of cheating where they turn their graphics settings down to the lowest setting (sometimes even editing INI files to lower them down below what is possible via the GUI) that would lower foliage quality, making it easier to see the enemy. Probably some other things too.
There are perhaps many interesting ways to fix this. D&D has their own way with random chance, but I can see players of skill-based scoffing at this, and I don't blame them. But I feel the current approach is lazy game design, and perhaps something interesting could be thought up.
> First, there's the aim bots and other cheating it allows for.
You can make an aim bot by connecting the output of your monitor to a hardware-emulated mouse. Unless the server can detect this, kernel-level anticheat is building a really tall wall with the door unlocked. (If it worked I wouldn't object so much.)
Yes - cloud rendering. It's _a_ solution but comes with tradeoffs. Namely, it introduces large amounts of latency, and costs a dumpster truck of money.
> You can make an aim bot by connecting the output of your monitor to a hardware-emulated mouse.
Anticheat is a cat and mouse game, and raising the barrier to entry improves the experience no end. There's a _big_ difference between downloading and running an exectuable, and buying specialist hardware to cheat at a game.
Only a very small part of the rendering needs to be done on the server; notably, the camera could still move, and the client could still make the usual heuristic predictions about where things are, so it wouldn't feel laggy.
> and buying specialist hardware
If you have a streaming rig, you already have nearly all the hardware. Just add a Raspberry Pi Zero or something, and you're good to go. (But yes, the barrier-to-cheat is still higher… at the cost of also increasing the barrier-to-play-at-all.)
This is just nonsense.
The data that the client uses to make those heuristic predictions is the same data the cheats, so once you send that extra data over you've undone the benefit of not sending the client any extra info it needs, _plus_ youve added an intermediate network hop for your remote rendering, _and_ you've now required that your game has essentially a hardware DRM in the remote computer that you're rendering.
> If you have a streaming rig, you already have nearly all the hardware. Just add a Raspberry Pi Zero or something, and you're good to go.
The number of people out there who are spending thousands of dollars on secondary rigs to hook up emulated mice via a raspberry pi to run custom cheats has got to br vanishingly close to 0 for even biggest games in the world. Given that _these_ are the measures youre suggesting to bypass the anticheat, it sounds like they've sufficiently raised the bar to me.
When people writing AI driven hardware mice is a common cheat vector let's talk, but right now the cheat vector is people running cheats installed inside the kernel.
No, it's not. https://en.wikipedia.org/wiki/Lag#Make_clients_extrapolate
> plus youve added an intermediate network hop for your remote rendering
I never said anything about an intermediate network hop. It's not that expensive to cull a few tris, diff the geometry and then send it – especially if you can compress the information, which you can, because you control the client and server. (In fact, you likely don't even need to go down to the tri level to get the effect; all you need to do is turn locating obscured players into a computer vision problem.)
I don't know where this “intermediate network hop” comes from.
> spending thousands of dollars on secondary rigs
Think €60. An HDMI splitter, a USB HDMI capture card, a Raspberry Pi and a USB cable. Not that expensive.
> but right now the cheat vector is people running cheats installed inside the kernel.
It's functionally equivalent. Your “anticheat” is taking control of other people's computers, stopping a lot of people from being able to play the game entirely, because it was easier for the developers.
> It's not that expensive to cull a few tris, diff the geometry and then send it
Multiplayer games are doing this aggressively already. This is an out of the box feature in UE4 and Unity. The second the client gets this information, the cheat has the information too.
> all you need to do is turn locating obscured players into a computer vision problem. > I don't know where this “intermediate network hop” comes from.
You either send the positions to the client, along with an association for what it belongs to, or you render the _entire_ scene on a remote "client", which means streaming the video back to the end users device. The video streaming introduces an extra hop on the network as you now need to go from end user to streamed client to server, rather than end user to server. If you don't render the whole thing, at some point the client gets sent the information that it needs, and the cheat has it.
> An HDMI splitter, a USB HDMI capture card, a Raspberry Pi and a USB cable. Not that expensive.
Apolgoies, when you mentioned a "streaming rig", I thought you were talking about having a secondary gaming PC hooked up. Just because it's _theoretically_ possible doesn't mean it's actually happening though.
> It's functionally equivalent.
I fundamentally disagree. One of these (kernel level cheats) are readily being sold on the internet, available to anyone with a debit card/paypal/btc and a computer, and the other requires dedicated hardware, along with the knowledge of how to write these cheats in the first place.
> stopping a lot of people from being able to play the game entirely, because it was easier for the developers.
The numbers of people who are legitimately stopped from being able to play the game entirely are very small, but those people do exist, and it sucks for them. Your blame of `it's easier for "the developers"` however is untrue. It's not because it's easier, it's because (at least right now) it's necessary.
google stadia exists. nobody playing competitively uses it, and that's exactly the demographic that cares the most about anti-cheat
and, it still doesn't prevent computer-assisted input
Think about the case of seeing an enemy onscreen and headshotting them instantly.
Can you explain further though? I don't understand your case. It sounds like an aimbot, which is what would be prevented by not sending the client more info than is needed.
Also, all these anti-cheat methods are not supported by Mojang but are third-party plugins. Stock Minecraft Server hardly tries to prevent many of the hacks.
It would require stuff like server-side chunk culling, which doesn't jibe with the way Minecraft is designed. However, there's nothing stopping a new game from being designed like that.
I named Minecraft because it's fundamentally flawed for server-side anti-cheat (you're limited by a client that requires a lot of theoretically-unnecessary information, and doesn't send enough requests for you to provide this lazily), and people manage to catch enough cheating to keep things fun for everyone else. If you control both the server and the client, you don't really have much of an excuse.
Modern games do network culling. UE4 supports it out of the box. The _millisecond_ that information is replicated to the client, (which has to be before the client views it on screen to allow for hardware latency), a cheat will have access to it and will be able to act on that information. Even if you have the fastest monitor known to man, and no rendering buffering there's 6ms before you can draw the player on screen, or 1ms to poll your mouse/gamepad, so the cheat wins.
Cheating players are statistically distinguishable from really good non-cheating players most of the time – and when they're not, we're at the level of cheating where it's unlikely your anti-cheat will help, because they'd just fork out the €50 for cheating hardware.
This just delays the problem by 8ms - you still have all the same problems, except you've introduced 8ms latency. The cheats are still perfectly accurate, and are responding to perfect information. If you could only delay the information to the cheat, then you wouldn't need to do any of this because you could reliably just boot out the cheaters.
> ollect probabilistic evidence on players until you have a lot of evidence that a player is cheating, and add them to the “we'll ban later, but let's mitigate the damage for now” list.
That's what anticheat providers already do already, and yet we still have that problem.
> We're at the level of cheating where it's unlikely your anti-cheat will help, because they'd just fork out the €50 for cheating hardware.
Hard disagree here.
1) if you have an algorithm which can statistally distinguish cheating players from non-cheating players enough of the time, I'm guessing you have an algorithm or model that you can point to that does that? Because as far as I'm aware, they _help_, but don't fix.
2) People aren't forking out for dedicated hardware to spoof mice en masee, but they _are_ forking out for kernel level cheats to bypass the userland detection.
But not all anti-cheat software does this, even those that install drivers, and it's not always clear.
Completely ineffective. It will be trivial to circumvent those protections. Might as well not bother.
The truth is cheaters are merely excersising their computing freedom. It's my computer, the game is merely running on it. If I want to read the game's memory and adjust aim or automate boring parts, it's my prerogative.
In order to prevent any of this, the game company must take over my machine. They must literally own my computer. Anti-cheating software is virtually indistinguishable from malware and there is no situation where this is acceptable. The game company's "needs" are irrelevant.
After all, you're the top rank in CS:GO not because of your skill but because you simply exercise your freedom to have everyone else play against your computer.
No idea. Who cares if some random guy cheats really? It's nothing compared to losing our computing freedom. Actual important stuff that matters. Same fundamental issue as DRM which nearly everyone agrees is bad.
Our computers are ours and game companies just need to deal with it. If people are gonna cheat, then so be it.
The kind of people who care enough to spend money on an online game.
> It's nothing compared to losing our computing freedom.
Then don't play online games with anti-cheat. Freedom doesn't mean your decisions don't have consequences—just you have the freedom to choose between the privacy of not submitting to an anti-doping monitoring regime or participating in certain competitive sports.
> Our computers are ours and game companies just need to deal with it. If people are gonna cheat, then so be it.
Game companies online services are theirs, and your just going to need to deal with it. If firms are going to require anti-cheat, then that's the cost of playing online. You have the freedom to not participate.
Why do people think that they get a free pass because they can't see the opponent face to face?
If you want to play with friends, plenty of multiplayer games offer that without anticheat (Arma lets you even uninstall the anti-cheat and play on anti-cheat disabled servers).
Because that's the level of seriousness of most gaming and the proportionality of using a rootkit to prevent cheating. Sure, the Olympic athletes (or I guess in this analogy, eSports pros competing online) get the full "we're going to make very sure you're not cheating approach" but "my local basketball league" or "unranked ladder" doesn't justify these measures being routine
We don't think that. We think anti-cheating rules aren't important enough to justify shipping literal malware to people's computers and taking over their machines.
They’re extremely passionate about their skills and want nothing more than a fair playing field. Playing only with friends is not a real solution.
Computing freedom means you have the freedom to give up control, too. It’s your choice.
Absolutely. As long as they don't force this malware on the rest of us who do care, it will be fine.
CS:GO faces the same issue where inputs by high level players are indistinguishable from cheating.
Speedrunning tends to have similar issues, where people perform tricks that are so close to TAS inputs that it can take years to spot an issue. Or in case of Dream, it takes an entire statistics paper to explain why they cheated. In those cases it's even worse because you cannot do server side validation on video data.
Being against anti-cheat is effectively being against competitive gaming or speedrunning.
But if we remove the assumption that you are entitled to play any game how ever you please i think this argument somewhat falls apart. If you don’t like their using anti cheat, then just don’t play those games which use it.
I just don’t think enough people agree with you that it will work in your favour unfortunately.
It means I've agreed not to cheat. I have the power to do it, I just agreed not to use it.
I won't let them take my power away though.
> isn't respecting licensing models a huge thing for Linuxheads?
Personally I'm not a fan of intellectual property in general. Licenses included. They all depend on copyright which should be abolished.
The only thing that makes any sense to me is the boundary between my computer and their servers. I should be able to do whatever I want on my computer. They should be able to do whatever they want on their servers. If they can't detect cheating server side, that's just too bad because they aren't gonna be doing it on my machine.
Feel free to not play those games that requires anti cheats and let the ones of us who likes having it enjoy a game with less cheaters.
In CSGO for example, many players _want_ a more invasive anticheat solution, and are literally asking or even paying for it through third parties like ESEA and Faceit.
[0] https://www.merriam-webster.com/dictionary/malware
[1] https://www.webroot.com/us/en/resources/tips-articles/what-i...
[2] https://www.redhat.com/en/topics/security/what-is-malware
Most complaints I hear about using Linux for gaming are that it can't run games. With anti-cheat it will be able to run games (all of the top ten and most of the top 100).
The principles of allowing Anti-Cheat at all are a valid discussion, but I don't think we should be sabotaging Linux as a viable gaming platform just because some of the trends in software at the moment aren't in line with absolute ideals.
After all, if you don't want anti-cheat you can just continue to not play the games that require it.
Unfortunately a lot of people don't care about running malware (see: the % of people who still use Windows). Lots of those people would be more likely to switch if they could run their malware on GNU/Linux.
For non-steamdeck Linux users, at least running on Linux shouldn't be a disqualifier for the Anti-cheat software.
I'm not sure why you'd buy games with anti-cheat if you don't like anti-cheat though.
* Cyberpunk 2077 (ok that has issues, but it has the same issues for windows users..)
* Dying Light
* Titanfall
* The Division
along with _many_ other indie/small games.
honestly the only thing left is titles that include invasive anti-cheat. when that day comes, i don’t know if most of my friends will have any reason to remain on windows.
and who could blame them? finally, they won’t need to deal with a company that collects data from them without their knowledge, runs ads in their taskbar, demands they have a useless microsoft account, restarts their machine on a whim for updates, etc.
i hate that i’m going to say this out loud, but could 2022 really be the year of linux on the des- why does it feel so wrong to say that? :)
but i play that, too. probably too much..
Or if you have a brand new laptop with the latest Ryzen CPUs and the latest Radeon 6800M GPU with switchable graphics then you absolutely need a distro with the latest kernel to have a good experience on this new hardware.
So I asked why it matters if its 'pop_OS' or not since if that happens to bundle some driver, or Steam, or whatever, I assume I can continue not using 'pop_OS' and still install whatever it is if I want?
It just seems like an irrelevant detail, (and potentially not even a valid one? the more you do subsequently the less it 'is' that distro) outside of saying 'everything worked out of the box, didn't have to install a thing', which may or may not have been true, but wasn't what was claimed.
Of course you could forgo the packaged kernel and build your own then grab the Nvidia driver from nvidia's website, but then what is Ubuntu buying you?
Ubuntu LTS with its 2 year minimums lifecycle is kind of a worst case here among desktop distros, but different distros among the 6 month crowd can run into this depending on how conservative they are about putting the newest core packages into each release.
There's also the question of the method of obtaining third party software. There's basically a divide here between the ports method (see the AUR for the most well known example) where users distribute a build script to other users that in most cases should be pretty simply cloning the upstream source and running their build script, or the third party package repository approach where you download a binary package and install that. The port has the advantage of being very easy to audit the packager's code (if not helping for the developer's) and generally not needing it to be rebuilt every time the dependencies do, but the third party package repositories have convenience and you could argue that relying on launchpad's moderation is not any more or less safe than relying on Nexus Mods moderation which Window gamers happily do.
However, it should be noted that I don't play much AAA stuff. Most of my playtime is actually on the Nintendo Switch. The playtime that is in Steam is mostly in Linux native games (Tabletop Simulator, Cities Skylines, Unrailed, etc.), but the few Proton games that I've tried have all worked great.
Also, setting up games can be a little bit of a faff. For example, wanting to play FFXIV, well, nothing worked at all. I had to go into the config file and skip the cutscene, and also change the launcher to the old launcher. Now, that doesn't seem like much, and it isn't, but the first time I had to do that took me hours to figure out.
On windows it can capture the audio from that specific window.
Division 1 or 2?
Division 1 was built in a way that would be very hard to run on Linux, Division 2 however was ported to Stadia which is basically Ubuntu.
If it wasn't for Stadia that effort would never have been spent, I was a huge advocate for linux on those projects for years.
> Division 2 however was ported to Stadia which is basically Ubuntu
the division 2 isn't on steam, because ubisoft. and hence - as far as i know - isn't generally available on linux. there's some irony there i think.
I had assumed, if nothing else, that easy-anti-cheat would have prevented it.
That's the thing, it's not their machine if they are running Windows on it. It's Microsofts. They can even wake up your machine to apply updates whenever they want.
Noticed any difference between Windows and Linux for that particular game?
It's on the list of my most played games so making sure it runs properly is really important for me to make the switch ^^
i've never played it on windows, so i can't give you a 100% answer. i've never had any issue with it, and i don't think you'd be able to tell it wasn't a linux native game.
I’d maybe try to find an AMD GPU but I bought one of those first but need tensorflow and AMDs GPU support for ML was almost non-existent.
For example, some driver packages support Steam but not CUDA, while others support CUDA but not Steam [1, 2].
And I found some instructions online that let me "fix" it to work with both - but thereafter, any time I used CUDA I would lose audio when I next resumed from suspend.
[1] https://www.reddit.com/r/linux_gaming/comments/ocuqtm/can_i_...
[2] https://github.com/ValveSoftware/steam-for-linux/issues/5778
For example recently i installed Arch on my GPD Win 1 (which is essentially a much weaker Steam Deck that comes with Windows 10) and tried:
* RoboBlitz - it needed Ageia's PhysX installer which always failed to install at startup
* Clive Barker's Jericho - Didn't start at all
* Cherry Tree High Comedy Club - Worked fine (but it is a very simple 2D game so i kinda expected it)
* Mars: War Logs - It started but 3-4 in the game (actually during a cutscene but was rendered using the game engine) always crashed at random points
* Blood Knights - Worked fine
* Marlow Briggs - Didn't start at all
* Chaser - Didn't start at all
All of the above work under Windows 10 fine which makes me suspect that Valve is just going to make game-specific patches for the next Proton in Steam Deck. After all being able to play "the entirety of your library" sounds implausible when you can't do that even under Windows :-P (many games - especially older games - need custom fixes, etc).
Sometimes I read this thread and scratch my head. I get enthusiasm for FOSS, but enthusiasm to the point of delusion? Honestly, Linux is not up to par with windows in terms of running games that are basically designed for windows. Thus the experience compared to windows for these things is definitively inferior.
Overall I get a better performance on Linux at the cost of some graphics performance, which is a good deal for me. I'm really not playing the most current games to be fair. And I'm running on a 5400rpm HDD
Linus tech tips did a video recently on installing and gaming on Linux using pop_os which I think is great service for the mainstream user.
So yeah, long way ahead, but we are living the first step, becoming mainstream. If this trend continues, you won't have to be a hardcore Linux Fan to game in Linux.
I have seen similar on Windows. For example when Bioshock Remastered Freezes there is no way to exit it, windows still responds, but there is no way to close the game because everything you open is hidden by it. Also the amount of Graphical glitches I encountered in Skyrim is just hilarious. DotA 2 seems to sometimes glitch out when you hit alt tab while it loads. That is just the games I played the last few weeks, I think there is not a single game that isn't somehow broken on Windows either.
I've used Windows xKill [1] for years, but I can't find a download link for which you don't have to sign in...
Alternatively, SuperF4 [2] looks decent, also with a separate CLI only xkill found in the github issues [3].
[1] https://www.deviantart.com/suprvillain/art/Windows-xKill-100...
[2] https://stefansundin.github.io/superf4/
[3] https://github.com/stefansundin/superf4/issues/39#issuecomme...
It was probably bad for graphical quality/performance/latency but being able to temporarily exit games without worrying about a crashing desktop was more important for me.
Apparently that's still an issue then..
Sure, but Windows is supported, so instead of going to a forum and being unhelpfully told to try a different distro, you can take up your issue with the developer and they're much more likely to pay attention. Granted, some of them still have shitty support, but you're a lot less likely to be dismissed out of hand.
Outside of indie, is this something people actually (and successfully) do?
For everyone I know the default assumption when a game doesn’t work is you’re SOL and either refund or hope for patches.
No. You fix it yourself, move on with your life or spend a few hours getting shit on by customer support and then move on. Videogames are an industry where you need to expect to be disrespected, because those companies do not care a whit about you.
Windows get the first class on drivers and it's update due to market share. If this one success we may find vendors to start focusing drivers for steam os after windows.
I have had issues sometimes with library/drivers versions on my rolling release preventing me from running everything natively, but each time using the runtime version of Steam allowed me to play.
They have information about it all over the place, I can't find exactly the page I wanted, but here[0] is some more information about it from their repository.
[0] : https://github.com/ValveSoftware/steam-runtime/blob/master/d...
Nothing wrong with being honest. We sometimes have to keep hiding the fact that when we use something on a system that is not officially supported and comes with tons of issues or bugs, we quietly fix it ourselves with hacks and workarounds and try to move on if possible.
Unfortunately with most users, they cannot tolerate 'Graphical artifacts, freezing, stuttering, and even full OS reboots' and would simply give up and use something fully supported like Windows.
> Honestly, Linux is not up to par with windows in terms of running games that are basically designed for windows. Thus the experience compared to windows for these things is definitively inferior.
If it says it is designed and optimised to run on Windows, then that's a hint that it will perform badly on other systems. You can 'try again' on other systems but obviously the help-desk guys will say: 'Sorry, that's unsupported.'
Better to go for something that has official support and move on, not half way there. Or wait until the other system has official support.
I see your point but consider this: 20 years ago you could make the same argument for all aspects of linux, not just gaming. Why use some hobby level OS for serious work when you have Solaris, HP-UX, AIX?
Today we have a very usable Linux desktop and pretty much total dominance in the server arena, only because people were at one point "delusionally enthusiastic" about making it work.
Except gaming culture is all about IP, something that FOSS don't seem to grasp on their quest for freedom über alles.
Broadly speaking video games are an expression of software and multimedia solely to be used for consumption, and intended to be consumed exclusively within the canonical form presented by it’s developer.
In that way IP is very important, because often there’s more than just the investment in underlying game engine and third party middleware involved; it’s a combination of artwork, audio, video, bespoke scripting, and architecture, to make a whole work. It could be reasonably argued that those pieces should be aggressively defended to ensure the investment is not wasted as these pieces may be of limited utility outside of the complete whole.
I’m certainly all for increased transparency into the inner workings of this package. But it’s an interesting topic and I don’t know enough to even form an opinion on where I think the correct answer lies.
* Payment for CDROMs. Net distribution wasn't as common then.
Don't get me wrong, I'm not ideologically bound to any platform, but stuff like this just sounds like another tired old-man Windows vs Linux/Unix pissing contest.
It was more of a fun story than anything though. Didn't mean to offend anyone who identifies strongly with MS.
Also, those proprietary systems usually sucked from the usability point of view, due to being business-oriented.
It's like some obscene tribal topos that refuses to die.
KDE 1.0 came out in 1998 - 23 years ago (O god I'm old).
The discussion of "Linux to replace windows desktop" is over two decades old.
In computer age this is something geological. It's like... well, Macintosh came out in 1984. Xerox Alto came 1973. If we go back 5 years we reach Englebart's Mother of All Demos in 1968 which I think can be considered the intellectual precursor of those.
So there is 5 years from a tech demo on high-end research platform to a (more or less) commoditized consumer offering - even though Xerox had no idea what to do with it. Steve Jobs visits Xerox 1979 and five years later they deliver Macintosh.
So, with engineering talent PLUS business drive they copy the idea, implement their own hardware and software stack and are instant hit (well, let's say for the sake of this discussion they are a hit).
In FIVE years.
Linux is trying to copy the software stack, of an existing platform, and has been "attempting" this for two decades.
This is not an engineering problem. This is not a community problem. It's a "lack of business interest problem".
Honestly, the Linux desktop is quite usable. I'm quite sure two decades are enough for the open source software stack to find some local optimum for the desktop offering.
But really, copying and supporting a continuously moving target needs real capital and real business drive to sustain the boring, mind numbing support work that is needed to actually sustain an industrial quality platform.
Linux is fantastic in lots of things.
I'm not sure reverse engineering Windows stack on Linux is very effective way of spending our civilizations engineering resources.
I appreciate masochistic Rude Goldbergish feats of engineering as much as the next geek, but I just don't see the value of individuals detached from the corporations that are implementing the master stack trying to reverse engineer everything on top of a third party platform.
Native Linux support? That would be nice. Native drivers and all? That would be nice.
If it works for someone that's very cool and satisfying - but I still think reverse engineering based gaming stacks for modern platforms that are alive and well are not perhaps the best way to spend engineering effort.
I don't think it is a question of a pool of resource that can be reallocated, however, as in a business.
The people who work on reverse engineering Windows presumably do so, because they are interested in doing so. They might not be interested in building something new.
The choice might therefore not be between doing this, and doing something new, but between doing this and not doing anything at all.
If individuals enjoy reverse engineering windows and making it work on Linux, that's great, actually I really need that. I wouldn't spend my time on it, but I'm sure I have equally suboptimal hobbies (from a "civilisation" point of view).
You don't get to spend someone else engineering effort.
Fully agreed. My intention was not to signal any entitled presumption of ownership of said resources - just that they are not maybe applied with maximum impact, which does not imply I presume to benefit from them anyway.
* Needed a USB input switcher and two video outputs to use it correctly. I tried Looking Glass but it doesn't work well with NVIDIA cards unless you have one of those $15 HDMI dummy plugs which are all made by sketchy Chinese vendors... * Because I only have one USB controller, all USB 3 ports got stolen by the VM, leaving only USB 2 for Linux. * Weird audio pops that I thought I fixed but would come back on reboot. * Difficult to monitor certain temps. * Random crashes during long sessions, even on low graphics settings. Hard to debug - you have to pick through both Windows and Linux logs. * Random FPS drops, especially in LoL. * Lived in fear of getting banned from some games (Also LoL) * NVIDIA drivers would sometimes crash trying to rebind the cards when I closed the VM, so I had to reboot the computer anyways, might as well have dual-booted. * Setting up OBS takes extra work.
Gaming in Linux natively was, for all intents and purposes, the same. The games I play (mostly online multiplayer) are either unavailable or unplayable.
After over two weeks of my computer being semi-functional and my friends asking me for the fifth time when I was going to be back online, I decided it wasn't worth it. I see so many people in these threads praising Linux gaming, saying it's now functional and simple to set up. They must either only play single-player indie games, know something I don't, or are being dishonest.
Still want a Steam Deck though.
I'm trying VFIO at the moment, and so far (but it is very early) seems to be working (I also have an integrated video card which greatly simplifies things). I didn't pass through the whole USB controller, just the specific USB peripherals (mouse+kbd and bluetooth controller for audio). I assume this is not done by actual passthrough but there is some layer of indirection; what would be the disadvantage? more latency?
IIUC unless you're running Looking Glass or some other alternative method, passing through each device individually locks them while the VM is running.
I don't game that much and rebooting / having another dedicated machine is a PITA.
I honestly don't remember experiencing that many issues with proton or wine for that matter. Maybe having to follow a wiki or installing something and a few minor issues. Proton automated most of that.
Sure, it's not perfect but for an occasional gamer like me it's less than the hassle of rebooting.
Who? Just go to that site. It's tells what's working and not working. It says right there on the front page only 50% of the games are currently rated gold. You can't really complain that something doesn't work when they're telling you it doesn't work.
while it's theoretically possible for this to be caused by software, it seems more likely considering the other issues you've listed that there are some hardware issues here. linux drivers exercise the hardware differently from windows, and usually more efficiently. if your hardware is weak (particularly PSU), it can fail during intense loads. see: people blaming prime95 for crashing their computer.
Also have Mint installed on my mom's laptop - she only uses the browser and is ok with it - she has no idea of what an OS even is.
IMO, the only thing preventing Linux's more widespread adoption is the reputation that it's only meant for developers, and OEMs not providing an option to have it pre-installed.
He corrects me “I use Arch btw”.
I put mint on everyone's machines and don't look back. It's just so stupid easy, and has drastically reduced the 'tech calls' I receive.
At this point, I have no idea what's holding linux back. Seriously, mint is so user friendly that it's sort of confusing why people don't use it.
It may be too late for me but my sons will be ninja developers who use vim like pros, instead of that Microsoft electron behemoth.
My only regret is that I should have been braver and put them on Manjaro. I thought Ubuntu would be more "set it and forget it" and maybe have better documentation, but some of my most annoying support calls I've gotten have been dealing with driver issues that just weren't present on Manjaro at all. And I generally think the Arch documentation is a lot better than Ubuntu's anyway.
> the only thing preventing Linux's more widespread adoption
I think I disagree with this in some ways; I think absent any support at all Linux would be difficult for some people. But if you have someone around who's good with Linux, I think it'll be more stable than Windows and have a lot fewer annoyances/problems.
I know that I would be debugging a Windows install more often and that it would be more annoying to do, because I have other family members who run Windows and I know what kinds of issues they're running into.
On the other hand, Ubuntu is pretty stable as long as you stick with what it provides and you're not going too far off the beaten path. Ubuntu feels very consistent to me, it just also feels a lot more stubborn, and I find myself fighting with it more whenever I plug in devices or configure it in a non-obvious way.
I think I just misjudged what side of that divide my nieces would be on. Small stuff like, I got them a drawing tablet and on Manjaro, it plugs in and the Gnome settings detect it, and the config is all graphical. Ubuntu has the same Gnome settings and the tablet works, but the settings don't detect the tablet at all, so to get buttons configured and left-handed mode working I needed to wire up xsetwacom and use dbus to detect when the tablet was plugged in. And that was made harder by the fact that there wasn't a lot of Ubuntu documentation for how that stuff worked, I basically used the Arch documentation and mentally translated some of the commands for Ubuntu.
But I think that's dependent on the person and what their needs are. If I had bought a more mainstream tablet for them, maybe they wouldn't have had that problem. My regret with Ubuntu is that I didn't realize how often I would want to be able to get things like a more recent kernel without compiling it myself. Ubuntu seems a lot more obtuse to me when it does break.
Everything is relative, they're both still Linux under the hood, and both are less likely than Windows to randomly break imo. I've gotten support calls from Windows family members about drivers just randomly not working one day because something updated behind the scenes without their input and started conflicting, about buying external displays that just don't get detected at all, and I don't even know how to start debugging issues like that. Even with Ubuntu, I don't really get that many support calls, mostly the computers just work.
I only ran into issues with Rust(which is getting support) and pubg because of anti-cheat and the fivem mods for gta5 (something about lack of support for shared resources).
But it's working so well and so much less weird stuff going on compared to windows and osx.
I'd love nothing more than to never use Windows again, and I use Linux for 90% of my daily use, but if I have to have Windows still installed for any major games at all then it's just easier to keep using Windows for all gaming, where gaming really does "just work", every time.
Has this been an issue for you? Since switching to primarily Linux/Proton for gaming, I've been amazed at how little performance penalty I have seen.
Tabletop simulator/ teriforming mars/ lords of water deep and a bunch of other games just work.
Getting that Linux percentage up should help the platform. I don’t want to go use my older machine and it’s non Linux. So I seek out desktop applications to drive Linux use up.
Static builds? Well, that will work... But wait, you want OpenGL or Vulkan? You'll need a dynamic linker to load system .so's, as that's the standard API available to interact with these APIs on Linux. Want to load dynamic libraries? Well, you'll need to ship a dynamic ELF [1]. Shipping a dynamic ELF with glibc now? Hope you don't intend to run on NixOS or Alpine or any distribution that has an old glibc. Maybe also ship ld-linux.so, all of /lib you depend on and a wrapper shellscript that sequences startup accordingly via that ld-linux.so. That will work, but you still need to load the system OpenGL or Vulkan .so's. Have fun implementing that to work well on every distribution! Remember to respect terms of GPL/LGPL software you now ship. Oh, and I hope you don't use Qt.
Maybe you want to use flatpak? Well, better explain to your users that they need to install and configure it, and make sure whatever proprietary Nvidia drivers they have are also properly flatpak'd. What about the alternatives, something like AppImage/Snap? Those just don't work on Alpine and other non-glibc distributions. Whoops.
Pick an audio API. Pulseaudio? Some people don't run it. ALSA? Good luck, some people run Pulseaudio with ALSA emulation disabled. OSS? Dead, unless someone runs padsp. Pray your users don't run JACK. You'll probably end up on OpenAL, which is now proprietary and/or has an LGPL fork (remember you now have to let users re-link against any other version of OpenAL!).
I sometimes make games and other small interactive demos. I run Linux, and want to send builds to friends also running Linux. The easiest way to distribute these is to build and ship a .exe on a Windows build host and get my friends to run it on Wine, that just works everywhere out of the box. And the .exe's end up smaller and launch faster, too!
[1] - Or go for hacks like https://github.com/pfalcon/foreign-dlopen
I still prefer running things on Linux where possible, and I sometimes buy native Linux games even if I don't know when I'll get around to playing them. There are definitely some rough edges, but I think there's a future for Linux gaming. I think it's mostly due to Valve, which is why I get all my games from Steam.
I would be more interested in knowing what percent of paying customers run whatever OS. This info would be useful to new game developers too.
[1] I won't post links because my comment might get auto-flagged as spam, but interested readers can find them easily by searching for something like "Buy CSGO High Tier Accounts".
> Participation in the survey is optional, and anonymous.
First paragraph on https://store.steampowered.com/hwsurvey
Speaking as someone with a steam link and controller floating around their house.
Even if it fails as a portable gaming platform the hardware sounds very decent and I wouldn't expect them to have Apple level margins on those.
I've skipped the link/steam machine because "livingroom entertainment" isn't my thing, but I was pleased with the quality of the Steam controller. Although I would have liked them to be bold with the design and keep just the original prototype (without thumb stick/face buttons) (wouldn't have minded a novelty controller that works well with just a few games).
Fortunately I have no interest in multiplayer.
I'm surprised the Linux market share isn't higher than 1%, giving the resources they seem to be dedicating to Linux.
Personally, on some level, I don't even notice difference working macOS, Linux and Windows. Other than platform specific development work, it doesn't really matter in the big picture.
Other than that, only Linux allows me true visibility to its innards. Fast to fix almost any issues, should they happen. And I say this as someone who has for example no problem debugging Windows kernel remotely. Or reverse engineering using Ghidra etc.
At least finally Linux is also getting completion based IO with io_uring.
Not identical to io_uring, but close enough that porting between them will probably be quite simple.
The competition triggered part is what was already there.
Again, pointless in the big picture. Most of the time these details are hidden by libraries.
Except for when they're not, or those libraries don't expose the "one little implementation detail", and a platform hack sneaks in, and _thats_ how we end up with "well it works fine on windows and we use asio so shrug". Unfortunately games are really bad for doing this in my experience (and I'm guilty of doing it on occasion too).
Anyways given extremely high syscall cost due to Meltdown workarounds, batching multiple operations makes more and more sense.
> Other than platform specific development work, it doesn't really matter in the big picture.
Yes it does. It just doesn't matter to you.
Thinking about this, I just realized I tend to pick OS according to device type.
For laptops, macOS for the best touchpad, security and speedy open-lid-to-machine-actually-usable time. But I'd sure like "upgradeability" and "repairability" over thinness, something 2012 Macbooks still had. But for now, practicality wins.
For desktops and workstations often Windows, sometimes Linux. Windows got good desktop performance and nice commercial software library. Freedom to choose your hardware, CPU and GPU. And of course gaming.
For servers, it's pretty much always Linux or possibly some BSD. Minimal, easy to admin, fast, efficient and secure if configured correctly.
If you prefer web apps. A lot of people don't prefer web apps and for good reasons.
> macOS for the best touchpad, security and speedy open-lid-to-machine-actually-usable time
I can't speak about the touchpad, but Mac OS isn't immune to vulnerabilities and there have been multiple questionable privacy practices. Linux tends to cold boot faster, and can suspend and unsuspend just as quick if not quicker.
> Windows got good desktop performance and nice commercial software library
And Linux has even better desktop performance. Many people would see the open source software benefits of Linux as a pro, not to mention Windows package management still being significantly behind Linux. Many people are also very happy with gaming on Linux.
> For servers, it's pretty much always Linux or possibly some BSD. Minimal, easy to admin, fast, efficient and secure if configured correctly.
The same can be said about desktop too.
Want to get symbols to debug the kernel? That'll be the microsoft symbol server on windows, or a System.map file in Linux...
Want to make something happen with every boot of the system? That'll be a system service on windows (and by the way they have all kinds of gotchas about what kinds of stuff they can access) or a systemd service on linux.
Want to make a file creatable, writable and deletable by a specific user, but disallow reading back the file contents? Thats easy with windows ACL's, but on linux you're going to have to mess with seccomp.
Need to script something quickly? Well thats either bash on linux or powershell/batch files on windows.
It turns out regularly using two OS's requires almost double the learning time to be as effective on both - there is overlap with concepts, but little overlap with implementations.
On Windows there's also numerous registry keys, Windows Task Scheduler, etc (ugh). On Linux, it depends. Could be also init.d or n+1 other options, including a single custom binary running as init process.
> Need to script something quickly? Well thats either bash on linux or powershell/batch files on windows.
Or bash on Windows (WSL, cygwin, etc.). PowerShell is also available for Linux. Both come with their footguns, especially when used on a "foreign" platform.
But you could just as well use some suitable scripting language, like Python, JS or whatever.
Sure, there's complexity if you really start (or need) to look for it. I do think it's exaggeration to say double, maybe 20%, at most 50%.
Unless you use iTunes to sync your music to your computer and iDevice or you're a music producer in need of using the best DAW software, or perhaps you're a creator that uses the Adobe suite to create the best media content you need, etc, then the OS does matter very much since millions of users still use this type of software.
The most important part of this is that the software must be officially supported; and not be at some 'experimental' stage, especially since these users do not play around with their computers and they focus on getting things done.
macOS and Windows users are the 'real' big picture and the 99% of users and that matters. Not the 1% of Linux users.
To Downvoters: So it makes business sense to ignore the 99% of users on Windows and Mac and target the 1% of your userbase running Linux and support as many distros as possible to cover the many users who could be running whatever distro they have installed?
Have you considered what the 'definition of Linux support is?' and the cost of testing for all of that is?
The fragmentation on Linux is astounding; I have experience with maintenance of Linux-based projects.
You'll be surprised at how fragmented distributions are, even within the same family (e.g. Ubuntu-based).
The nature of Linux is a double-edged sword, and in gaming, this is a very serious downside - at least, when it comes to Linux-native gaming; Proton/Wine is another story.
- SteamRuntime: A runtime environment for Steam applications. The next generation is/will use Flatpak related technologies like Bubblewrap. It's what you target.
- Flatpak: there's close to no overhead, you can try the Steam Flatpak and see for yourself. It's aimed at desktop applications and the sandbox gets better and better. There's a FUD website called flatkill that has already been torn to pieces so don't even bother linking that. You can't instantly make all closed source or old software work in a sandbox without compromises. Flatpak-override and Flatseal exists.
- Snap: nobody cares about Snap not even Canonical. Recently a former employer said he gave up after trying for years to solve issues with Snaps in the desktop. https://s1.desu-usergeneratedcontent.xyz/g/image/1600/72/160...
- AppImage: nobody cares about AppImages they had almost two decades to try and prove it can work. It doesn't. The main developer is now trying to integrate Flatpak runtimes with AppImages and that's all you need to know to ignore this project. One of the most popular video players tried to use it and it kept crashing or having issues, and they know what they are doing.
tl;dr only Flatpak matters, SteamRuntime uses Flatpak concepts and tools, "huge overhead" is FUD
https://docs.flatpak.org/en/latest/single-file-bundles.html
Also, you can install multiple versions of an application, but you can only run one version at a time:
Note that flatpak allows to have multiple branches of an application and runtimes installed and used at the same time. However, only one version of an application can be current, meaning its exported files (for instance desktop files and icons) are visible to the host. The last installed version is made current by default, but this can manually changed with flatpak make-current.
https://manpages.debian.org/testing/flatpak/flatpak-install.... https://manpages.debian.org/testing/flatpak/flatpak-make-cur...
Still, what I like about AppImage is that it is just a file that I download, put it wherever I want, and run. then delete it when I don't want it anymore.
I think 90-99% of users only use Browser+Office+Games which could work well in any of the big operating systems. Some software preferences are superficial and appropriate replacements exist on the other platforms.
As someone working with macOS, Linux and Windows I focus my workflow on the things that work under all of these operating systems so the impact they have on me is very little. People who are deeper into the UX of a single operation system may disagree completely.
Thanks. This was indeed my main point.
Of course this doesn't mean there aren't a lot of niches that require a particular OS.
Linux Desktop evangelists have been saying this sort of thing for about a decade now, only they used to exclude "games" from that list because Linux was so terrible as a game platform. Their constant underestimating of "average computer user" is, in my opinion, one of the big reasons they've completely and utterly failed to make significant headway in the Desktop market.
I stopped caring what most people use. I prefer to use Linux and OpenSource software in general for myself but I don't push it onto others. It doesn't matter if the market share of Linux is 1%, 10% or 50% as long as it works for me - and it does.
For example Ubuntu is getting very close to that point already. They stuff lots of stuff in it that I don't want (like snaps) and make them really hard to disable completely. Exactly the kind of thing I left Windows and Mac for (as daily drivers - I still use them for my work)
1. Suspend on lid close simply didn’t work. I’ve tried all kernels I could get my hands on. I resorted to remapping the bogus key that the lid close was sending to suspend.
2. My laptop have the hdmi output wired on the dGPU. So I have to live with a world of pain that is mixed DPIs on Linux where only wayland have proper support.
3. Wayland got some nvidia love on 477 drivers but, in my test, it was a big mess.
So yes, I stopped dismissing people complaining about Linux and went back to windows on this laptop. I assume that nvidia and high DPIs are a common enough usecase in 2021 that I would not recommend anyone to go through this experience.
This especially happens for older games which haven't been receiving regular updates. Apparently Windows userland bitrots much less.
It's far from smooth enough to become mainstream (with ubuntu at least.)
A few example: Steam wouldn't launch on my PC with an Nvidia card. (At to install some x86 package to make it work).
File sharing just didn't work at all without manually edit the smb.conf file.
Ubuntu randomly ignore my router DNS settings. All my self-hosted stuff requiring local DNS randomly stops working unless I force ubuntu to use my own DNS server.
Some games just don't work on any of my PCs (even if they are gold/platinum in protondb).
And many more stuff that works out of the box with windows. Overall, despite the issues, the experience is still positive and i'm not going back.
On the other hand. There is rarely a moment I play any non-linux native game on Proton that I don't have to fiddle with something. Also a lot just end up not working. It's gotten a lot better recently, but stuff like controllers sometimes end up not working at all and needing a hack to work.
Are there other, possibly better, metrics used to track desktop linux adoption?
They have dropped support for Linux pretty hard for anything but Unreal as a build target itself, even with things they acquired. Might have been the wrong gamble.
https://twitter.com/TimSweeneyEpic/status/141575567884990054...
I'm not saying they're biased or futzing the data (have no reason not to trust Valve yet), but it would be really nice to have an independent source for this (especially moving forward).
Still, Blackberry managed to make it easy to repackage Android (2.x) software to run on their QNX-based OS and there have been multiple demonstrations of Android software running on Linux with a relatively thin API layer. There's at least one commercial, IIRC, tool that does that for Windows.
Yeah, I'm not sure we should call the mobile crap "games".
You can (at least could) run a Debian on top of a FreeBSD kernel. I run a lot of Linux code on MacOS too.
Given that the article is obviously talking about Desktop Linux, since you can run Proton exclusively on Linux distros (and not Android) the statistics says 96% on Windows and 1% on Linux.
So how is Linux itself a 'dominant gaming platform' here when it is obviously Windows again? It's always cute to see lots of denial of the results here.
Will those improvements to Wine trickle through to the Mac eventually or they too linux-specific ? (I'm not that up-to-date with all the graphics APIs they all have nowadays, and I assume that's a factor)
> eventfd syscall is Linux-specific, without good alternative on macOS
> Apple does not support Vulkan, which is needed for DXVK
> Apple deprecated OpenGL support, which is needed for WineD3D
> macOS is missing support for Python 3 OOTB
https://www.reddit.com/r/linux_gaming/comments/gt3fat/proton...
On Wayland none the less! The year of the Linux desktop! \s
Couldn't find them on the steam survey page and I'm curious how many millions of PCs is 1%.
Assuming Linux players are representative, that puts the number of Linux users at 1.2 million per month and 600,000 per day.
So less than that.
I thought that it only ran the steam app as opposed to a real desktop?
(pardon my ignorance here - I’m vaguely aware of SteamOS, but never tried it)
> for example, there is no file manager or image viewer installed by default. Users can, however, access the GNOME desktop environment and perform tasks such as installing other software
It's "just" Debian with some default configuration and extras (and version 3 will replace Debian with Arch)
I don't play games but became interested in VR, specially for programming 3D worlds . Valve basically forced me to install Windows in order to use vive headsets because the linux versions were problematic.
BTW, android uses the Linux kernel, so I consider this 1% highly suspicious.