That’s one hell of a number of games.
Proton has been receiving many updates in the past few months as well, with the introduction of the Soldier Linux runtime container and Proton Experimental on top of the regular Proton releases. We are still getting about 100 new titles working flawlessly (according to user reports) on a monthly basis, which is a very healthy and steady growth. Another point is the percentage of Windows games working out of the box in Proton over time. The number has been close to 50% since for a long time and seems to be fairly stable.
Proton is one of the biggest things to happen to desktop Linux in over a decade – or more.
Let us not forget without WINE, Proton would not exist. So a giant part of the biggest things to happen to desktop Linux is really the wine project, and the huge amounts of work they’ve done. Proton is patches on top of that.
It still astonishes me that anyone ever thought to start a project like WINE. It’s an amazing achievement.
It originally started out as a project targeting the win16 API (much less calls to implement), but was later expanded to include win32, DirectX and win64 as they came into existence. I doubt they would have taken the decision to start the project with win32 as the target.
Win32 was a shock to the computing world. Up until then, Windows was a toy OS you could easily write a wrapper for its API with some effort, but over the course of a couple years, Windows got a rich API unlike anything the computing world has seen before. Even IBM got caught unprepared, thinking Win16 and Win32s support was good enough (though I personally think they should have implemented full Win32, considering how their OS which cost more than twice as much and needed double the RAM could only stay relevant if it maintained Windows compatibility).
The Win16 API appears simpler than it really is. Applications were still able to access DOS services by calling DOS directly. The message pump logic that goes into UI is incredibly contorted, because message sending and processing can be synchronous and recursive, so the order of message delivery is critical. I mean, Windows 3.x was a huge business – there’s a reason the market wasn’t flooded with clones.
Win32 did expand the scope of the API in a few ways, by incorporating things like multithreading and locking primitives, but these are relatively straightforward to implement on other kernels, at least relative to the UI stuff.
Personally I think the original Wine project was always … bold. IMHO it’s not that this wouldn’t have happened given a different API set, it’s that the open source culture of the day was more willing to embark on larger things, and the project wouldn’t be attempted at a different point in time. The Linux kernel or gcc were done without corporate sponsorship and are huge undertakings made at a similar time. Today the open source community appears to leave the big parts to companies, with individuals doing fairly small projects.
Here’s to the crazy ones, and all that.
I play so many games using Proton now, and most of the time I barely notice any difference. It was the last piece of the puzzle that allowed me to drop my Windows usage to zero.
More broadly, it’s a shame Valve’s Steam Machine idea didn’t pan out, but I’m glad Proton rose from the ashes as a result. Hopefully it benefits Valve as much as it does Linux users so the project can continue to grow. I find it ironic this was all a reaction to Microsoft trying to copy Apple and monopolise the app store space on Windows. Proof that sometimes bad things have consequences, even for the biggest players.
Amazing what a company using Linux and Wine as it’s “insurance policy” against Windows can do for Wine. For the people not in the know, Gaben panicked when he saw the Microsoft Store, because it threatens Steam’s position as the default game distribution platform for Windows. If the Microsoft Store manages to upend Steam as the default game distribution platform for Windows, Gaben might have to get off his butt and actually finish Half-Life 3!
But with Microsoft dropping the ball with regards to their Store (treating it as a passive income source with zero curation and also ineptly trying to trap developers into the UWP hellhole – where the Microsoft Store is a monopoly), the danger that the Microsoft Store represents is not that immediate, so there was no reason for Gaben to risk an embarrassment with Steam OS and Steam Machines (which less face it, was an all too real possibility). But Gaben still wants an insurance policy against the Microsoft Store, lest Microsoft learns how to run an App Store sometime in the future, so Gaben keeps spending on Proton and we users reap the benefits.
Microsoft: Patron of Proton (just a lil’ bit indirectly)
The quickest way to get this kind of interoperability is to regulate that all OS vendors make available a subsystem interface. Given how lock-in and long-tail issues impact the market this is a legitimate area for regulators to consider on top of open standards alongside privacy issues. It can also fall under a security remit. The loudest voices complaining about security and supply chain issues (mostly the US) won’t like this but what is sauce for the goose is sauce for the gander.
Regardless, Linux still has its system design issues and is a pain to use for the ordinary user and developer. It’s all “rah rah Wayland” when they want it then toddler like squealing “It’s a server OS” when they want it.
Microsoft has never been made to make equitable reparations for its monopolistic business behaviour and dodgy practices. Nor has the US been made to deal with dodgy regulation which favours this kind of inequitable domination although this is slowly changing as Europe and China et al get their act together.
The way out of tech monopolies is to regulate by law that all APIs and protocols should be open, documented and free for anyone to interoperate with free of copyright and patent licences. This would apply to proprietary internet protocols that are currently used by apps to prevent third-party clients. I think we’ve had enough time to innovate in the design of operating system APIs.
@Luke McCarthy
Yes there is a very good argument for this. There are technical ways of enabling transparent interoperability between OS without the need for VMs or emulation. No it’s not easy and yes there are security issues but it’s a quick way of going from A to B without a lot of effort. I don’t see why an effective tool should be left in the toolbox.
I’m totally with you on open standards. On the security front it allows people to build their own if they are that paranoid. Also fair competition at a local and global level is good for the economy and security if everyone feels they are in with a fair shout. As designs converge towards optimal solutions why should one company which got lucky have a monopoly? Why should someone have to load up one of half a dozen apps for a single task like word processing or communicating? I’m really sick of the upgrade treadmill too. I simply don’t need nor want to follow the fashion when I only regularly use a core 10%. That’s not going to change between 90% of users.
HollyB,
That probably would not go in the direction that you are thinking. We already have interoperability standards called POSIX and the government has already mandated it to meet certain government standards.
https://en.wikipedia.org/wiki/Microsoft_POSIX_subsystem
Many devs actually prefer it to windows and it clearly is a successful server OS. Operating systems are just tools, that’s it. When it comes to personal opinions there’s no right or wrong answer. I’ve always find it weird whenever people feel the need to treat technology as dogma and to belittle others because of different OS preferences. Diversity is healthy.
This reminds be of a caricature, which I will not share here.
The OSes, including Linux and Windows should be able to compete on their merits. If Linux is good enough for me (it usually is), I use it on my machine. If not, I will use something else. Artificially crippling Window’s progress, just to make sure Linux/Wine will catch up would not be productive.
Yes, some of my games don’t run on Linux. Frankly I don’t care. My God of War disc does not run on my Xbox either. If I really like the game, I get the other console, too. If the game developer really wants more money, they can go multiplatform. This goes both ways.
And let’s not forget, there are already several competing low level APIs (Vulkan, OpenGL, Direct3d), and only one of them is controlled by Microsoft. We also have several platform agnostic middleware like Unreal and Unity. We even have open source engines like Godot.
Given Vulkan’s and Wine success, we now have platforms like Proton, or all these other natively multi-platform games. We no longer need to artificially cripple Windows.
sukru,
Yeah. Standards are good, but at the same time we need to make sure we keep a healthy amount of competition for innovation and diversifying control. Too often we’ve seen markets consolidate to the point of depraving us of competition. With that said, I think targeting multi-platform frameworks makes a lot of sense to maximize the bang for your buck, it’s better not be locked into a specific platform.
Sadly I like to play competitive online games and those will never work with Linux because you have to have anti-cheat software to keep douchebags from ruining it for everybody else.
So saying “games should be interoperable” I’m sorry but there is no way that I know of that you can design an anti-cheat system that you wouldn’t be able to trivially code around using a FOSS OS and as someone who has watched games die within days simply because some douchebags found a way to cheat that run off the entire playerbase I can tell you that the honor system just does not work in competitive games, there will always be a scumbag that will happily ruin it for everyone else to give himself the win.
Ironically every time I point this out I get a chorus of “Get a console” which is hilarious as a modern console is literally nothing but a PC locked down by DRM where you have to pay a 30% surcharge and buy games from a walled garden…yeah no thanks I’ll stick with Window 10 where at least I have competition for my money and can buy my SP games DRM free. It would be nice if people were decent and played fair but I’ve seen time and time again when it comes to competitive games? yeah you really need anti-cheat if you don’t want to end up with nothing but aimbots and wallhackers.
Nobody seems to be getting what I mean by an interoperability protocol for OS. It’s just a proposal for an open standard to allow multiple OS to hook into with each other. I haven’t thought it through but there’s no reason why an app cannot request lockdown which propogates through the OS and up through the host OS layer to the firmware which can then trigger authentication. I’m lazy so I will leave it to someone else to work out the implementation issues.
Portability is by and large a none issue if you have a portability laeyer and you abstract early and abstract often. Testing against multiple compilers, OS, and graphics API and varied hardware sitting behind this is also a none issue.
In the UK the Misuse of Computers act theoretically would make cheating while accessing any game service a criminal offence.
bassbeast,
That’s a very good point. It’s a lot like DRM with false positives and false negatives and never ending hacks.
Something like stadia could offer an alternative solution by running trusted software remotely, but the latency, performance and bandwidth requirements will never be as good as local.
I see your point, although I think a lot of users are modding for fun and not necessarily to cheat. When I was younger I loved playing with mods even though it wasn’t motivated by the desire to cheat. 3rd party mods can bring tons of new gameplay innovation and entertainment. The problem is when game developers block everything, they end up uniting the interests of those who want to mod for fun with those who want to cheat. Alas this gives legitimate modders an incentive to hack the game restrictions, which opens the doors for cheaters too. So it might be beneficial to give them a harmless outlet without needing to hack at all.
Some players genuinely enjoy the chaos, so why not give them their own space and APIs to let them have it? Games could allow mods in dedicated rooms so that their users can have their fun and experiment with innovation, but keep some rooms as vanilla mod-free for official matches..
On the same note, I think there should be rooms explicitly for bots to compete against each other. By giving users want they want in the first place, there would be less interest and fewer resources going into attacking the game’s unmodded rooms. It would be genuinely interesting to see what the community can come up with.
It’s just a thought.
–Sadly I like to play competitive online games and those will never work with Linux because you have to have anti-cheat software to keep douchebags from ruining it for everybody else.
bassbeast there are a few facts here that are important. Lot of competitive online games are in fact moving to like above being server side anti-cheat that really does not care if person is playing with Linux or not.
–So saying “games should be interoperable” I’m sorry but there is no way that I know of that you can design an anti-cheat system that you wouldn’t be able to trivially code around using a FOSS OS and as someone who has watched games die within days simply because some douchebags found a way to cheat that run off the entire playerbase I can tell you that the honor system just does not work in competitive games, there will always be a scumbag that will happily ruin it for everyone else to give himself the win.
Turns out this is why we are seeing more server side anticheat. Like valve makes VAC that is client side anti-cheat and VACNET that is server side anti-cheat. The majority of cheaters caught by games with VAC and VACNET are caught by VACNET because the client side anti cheat(VAC) has been patched so it does not work. Server side anti-cheat has advantage its not on cheaters own computer unless the cheater happens to be running the server. When it not on the cheaters computer they cannot patch around it.
bassbeast its really simple to overlook how much effort douchebags who want to cheat games will put into developing code to disable anti-cheat software from being able to see what they are doing on their own computer. Next problem is there are legal issues that come up running anti-cheat software on a person computer.
Remember server side anti cheat not able to be patched by user in most cases and does not end up running fowl of different countries laws and is decently effective against cheats.
https://www.theloadout.com/csgo/vacnet-cheating-patent
Please note having the documentation on how VACNET works has not made it any simpler for cheaters to get past it. This is a big difference between server side and client side anti-cheat. These server side anti-cheats are looking for players doing game actions that a human player could not do by fair means so this caps how far a person cheating can cheat.
Yes VACNET and other server anti-cheats catches players cheating by having 2 computers connected to the game where 1 computer is observer on the game and one is real player as well. Because they are now doing actions that align to information non cheating player should not have.
There is a problem with server side anti-cheat is the cost to the game developer/distributor to run the extra processing for the server side anti-cheat. Client side anti-cheat is cheaper also coming less effective.
oiaohm,
I understand what you are saying, but it isn’t perfect. You can detect a bot that’s too perfect to be human, but the bot programmer can program the bot to mimic humans and be just marginally better than the opponent without anyone being privy to the bot.
The same thing comes up in games of chess. Server side anti-cheat measures compare human moves to computer moves, if it observes 100% correlation, then they assume a player is cheating, but if the computer’s intelligence, skill, and predictability is toned down, it makes it impossible to detect cheaters with any degree of certainty (especially those who don’t “overdo” it). It opens the window for both false positives and false negatives.
Alfman,
Yes, cheating is a real issue, and people will go a long way to avoid playing with cheaters, while some spend a lot of effort to ruin other’s games.
There are so many ways to get unfair advantage, some professional e-sports competitions will even restrict the hardware you can use.
1) Hack the game to make walls transparent. This way you can see enemies around the corner.
2) Binaries are no longer hackable. Then hack the video card drivers to make things transparent.
3) Valve-Anti-Cheat checks driver versions. Then run the hacks inside a hypervisor, and don’t let VAC detect the actual drivers
4) VAC checks for virtual machines. Then disable virtualized drivers and enable full emulation
5) VAC checks for irregularities in CPU timing to detect running in virtual machines, then use specialized firewall rules in your router to slow down your opponents
and so on, an so forth…. This cat and mouse game has lots of collateral damage. Linux being one of the victims…
The hack make walls transparent or other equal stunts are items like VACNET pick up on server side. Because this is responding to information you should not be able to see. Yes you can get creative server side by sending fake data intentionally to X player for a item they should not be able to see and see if they respond.
Yes there is a lot of cat and mouse with client side anti-cheat. There is not as much cat and mouse against server side anti cheat because the server is really the cat here playing with the mice and can see everything the individual mouse is doing that is important to the other mice..
Lot of server side anti cheat objective is not to catch every single cheater because in most cases you don’t need to. Instead make sure you don’t have people cheating to a level that cannot be a human player and that no human player will stand a chance.
Think about it you can still enjoy a game playing against AI or cheating players as long as there is a fair chance to win. The problem is when you are going head to head as a human against AI or other human players you don’t stand a fair chance against.
Its a really big miss understand by a lot of people include some game developers what anti-cheat need to achieve. Over heavy anti-cheat client side also results with the horrible where people need to run X software for work because they installed Y it does not work any more.
Over heavy anti-cheat can end up collection information you don’t have legal rights to collect….
Yes this is all a trade off between blocking the players who ruin the game for everyone else and not being a burden to the players who true pay and play fair.
Massively powerful cheaters can ruin a game and heavy handed anti-cheat can also ruin the game. There is a balance act here any good game vendor is aiming for. Part of that balance is that you only have to worry about the game experience ruining cheaters.
Heck there is some funny ones where some people do in first person shooters wall hacks so called to get advantage but instead they result in given themselves information overload resulting in ruining their own skill. So cheating in some of these games does not always make you better. For a game experience thing you are worried about the people who do the cheats and in fact improve their skill by using them not the people who do the cheats and ruin themselves in the process making themselves a soft target for everyone else.
Server side anti-cheat detection is kind of evil on that hand that its only targeting those who are getting skill improvement. Fun part is some minecraft servers out there have server side anti-cheat that detects different cheats then automated messes with the player using cheats. Like tell there client there is ore at X location where there is in fact nothing and letter them dig all the way there. There are other games as well who have used server side anti-cheat to alter the game experience for the cheating player. 1. this alteration is to confirm the cheating player is cheating 2. take away the cheating players advantage and make them a soft target for everyone else. Its a good question do you need to ban a cheating player if you can take away they advantage they got by cheating?
oiaohm,
Those server side heuristics can also cause distress for real life skills.
Very good headset + young and good hearing ears + some good EQ on sound settings will allow hearing footsteps, direction, and distance.
There were several instances where those players were accused of cheating. And if server based methods only rely on visibility to detect players, they can also wrongfully punish them.
Or… what if a future GPU enables “auto ray tracing” (like auto HDR of today), and shadows become visible where they were not before…
Or… one player runs 144 fps, while others were doing only 30.
Yes, there is no real solution that will satisfy all.
sukru,
Indeed, I think technology has reached the point where it could be possible to cheat even with an unmodified client running on fully certified hardware with a neural network AI/aimbot inputting keystrokes from a second computer. This would not be as efficient as in-game hacking, but could still have super-human advantages.
Yeah, this is why I think they should only enforce restriction in competitive events, but have other rooms where everyone is invited. A lot of people are just playing for fun and not to be competitive. Instead of banning them, it could be fun to have “humans versus bots” challenges.
sukru
—Very good headset + young and good hearing ears + some good EQ on sound settings will allow hearing footsteps, direction, and distance.
This has a fatal mistake in the presume about the young with good hearing wins here.
https://www.instructables.com/Intro-High-Frequency-Hearing-Loss-and-the-Frequenc/
The fun of frequency shifters. So young with good hearing or old with frequency shifters to move the key sounds into functional range of ears. Your general EQ does not have the shifter for the old. Yes the old using the shifter get away with a cheaper headset doing the same things. Well equipped young and old gamer there is really not advantage in audio to the young gamer. Yes the old gamer with the hardware has the advantage for 1/20 of the cost. Yes the old gamer gets away with a 15 dollar set of head phones with the right freq shifts.
Younger gamers visual reflex speed is more critical advantage to young gamers over the old players.
Yes it true you cannot level out everything even two of the same model monitor operating at so called the same speed can have different speed of latency.
There is a big thing you absolute don’t want. The big thing is a person playing the game like a tool assisted speed run doing impossible for human to perform moves. You cannot build you skills for playing against real humans playing with bots like that.
When you get to playing for money really the hardware being used need to be inspected. There are so many ways to cheat.
Remember to win in a competition you are normally talking a at least 400 hours of prac against decent human like players or humans. If you are getting games to play that are like a tool assisted speed you are wasting hours not getting skill might as well move on to another game without this problem.
–Those server side heuristics can also cause distress for real life skills.
This is if game developer/distributor try to be too perfect with the anti-cheat. Remember client side anti-cheat also has a habit of tripping at times on those with real life skills. For the same reason.
Server side heuristics can be used to send out free invites to competitions and other things to players that are questionable.
–Yes, there is no real solution that will satisfy all.
Yes and no when competing for money it really does require the lan party model where everyone attend venue where everything being used can be inspected. Attempting todo it any other way you will get cheats.
–A lot of people are just playing for fun and not to be competitive.
Point here that you miss is even those who play competitive for money will be wanting to play the game for practice. The important thing for the competitive players is when they want to practice they get something like real human.
–Instead of banning them, it could be fun to have “humans versus bots” challenges.
Valve for particular games for particular types of cheats if you get caught using them you get restricted to particular servers. So you can still play the game without mixing with the players not using those cheats. Of course players who are not detected cheating can go to the servers that the known cheaters are on and play them if they want to.
It really depends how far cheated the bot is if you are talking about tool assisted speed run level of cheated bot there is no human on earth who can beat them so the best thing to-do is ban those. Some of those really highly developed bots even if you put 10 head to head with each 100 draw after 5 days of play.
Now a bot that looks a lot like a human but is detectable as not because it doing only minor things that a human absolutely could not do yes leaving that around could be fun for a player to go up against.
Alfman some of the worst nightmare cheats out there you ban them they just buy a new copy of the game and get a new IP address and come back and these come in with the horrible goals if like 10000 perfect wins. This players are the game ruining jerks that your anti-cheat system has to get rid of or at least keep them to min hours on the servers. Yes these game ruining jerks are never going to make a Bot that looks like a human as that is totally counter to their personal objectives.
1) beating the anti-cheat system
2) beating everyone else playing the game into the ground to laugh about fact their player has not died once.
Yes those 2 are their personal logics.
Alfman the thing is AI bot toned down to play close to that of a human still gives a human player a fair chance of winning.
There is a question about how much cheating you can tolerate without ruining the game. The players cheating to the point they will absolutely win all the time are game ruining.
oiaohm
Well, if you never ever loose a game, that is suspicious in and of itself. Giving opponents a “chance to win” makes your cheating more credible. You could dial down the bot’s skill to get 1st, 2nd or 3rd place in a competition and it would still be cheating.
That depends on the game and on the competition. If you’re just playing for fun, how important is it that your playing versus a human if you have no way of knowing? In theory someone could design a bot that is designed to perfectly mimic humans, is that cheating? In terms of enjoyment it might not matter at all whether the opponents are real. But if you’re playing competitively for a title or stakes in a competition, then the bots will be racking up unearned wins while displacing the wins of legitimate players.
Many people just want to have fun. But as one unruly kid in a class can make teaching impossible, one cheater in a server is more than enough to make it *not fun* for everyone.
Then we run into stories like this:
https://www.pcgamesn.com/call-of-duty-warzone/cheaters-crossplay
“Call of Duty: Warzone PC cheating is such a problem that console players are turning off crossplay”