Amazing, you can buy a triple A title and have it just work out of the box. I'm so happy with Valve's support for linux. And of course the thousands of hours of work that have gone into Wine.
It's becoming a more reliable experience to play old windows games using wine than trying to run them on windows 10.
Also DXVK [1], an implementation of DirectX over Vulkan that allows (most) games to run on Linux with native or even better performance. Some people are using DXVK even on Windows to circumvent bugs or simply because it's faster for some DX9 games.
A friend of mine recently got a workstation with a threadripper processor, and apparently some games have so much trouble with the core count (lookin' at you, Far Cry) that you have to reboot into "game mode" with a substantial number of cores disabled.
But some other enterprising threadripper user worked around that by stuffing the game in a Linux VM to avoid the rebooting.
Crazy to think that a Windows game would perform better in a Linux VM under Windows than running on Windows natively, even if the reason is that it's effectively presenting the game with worse hardware that it understands how to use more effectively.
I want to add something to this: and when a newly launched AAA game doesn't work, the community won't stop until it does.
My own personal examples: Halo MCC and Doom Eternal. They wouldn't launch out-of-the-box, but people just wouldn't stop trying. The GitHub issues for these games were enormous, full of information and people trying things. It's pretty encouraging.
Sadly most games nowadays comes with multiplayer as the main product, so that anticheat engines are a necessity to make the game fair for everyone. Those aren't friendly to Wine/Proton, therefore I try to stick to mostly single-player games.
With the kids of how life is going faster everyday, I cannot afford to play on long stretches of time, and being unable to pause on a multiplayer game on a whim (which makes sense) makes it logical to go with a single-player game, as I can simply pause the game and pick it right up when I can, on my own schedule.
I'm glad that Valve is doing that kind of work, it benefits everyone.
One of my biggest frustrations with modern gaming is the lack of single payer games, everyone focuses on Multiplayer, I have zero interest in playing with others,
I play games to escape from people.... People suck, I do not want them in my games
I really miss user server hosting. Stuff like custom maps, or weird custom rules. In a case like this, users couldn't stop cheating, but they could at least triage who is allowed on the server and who is not.
Correct me if I'm wrong but anticheat engines, the way I believe they are currently designed, use their proximity to the actual hardware and OS to work, and the layer of abstraction introduced by Vulkan ruins this.
What if the anticheat model was changed to one that detects statistically-improbable scoring (basically, a scientific model)? And triggering that would require some sort of skill verification, almost like a captcha, but for human FPS skill or whatever, generated dynamically?
Basically giving up knowing "with absolute certainty" whether there is cheat software installed or not
The plan is basically to use these translation layers on top of MoltenVK[1], so the stack goes like [Game -> DX11 -> Vulkan -> Metal].
The other option is for Apple to pull their heads out of their asses and support the cross-platform graphics API that everyone else does. But we can all guess how that will go. If you want a platform for gaming, stay far, far away from macOS.
It sure is amazing currently, but I fear in the long run nobody would even bother to make native Linux versions anymore.
It's such an easy out for developers. Why bother when people will make it work on Proton somehow and you don't have to promise anything nor do Linux support.
The other side of that debate is that Proton would bring more people to Linux, and therefore the incentives for a good native version of the game on Linux would be a lot higher.
While you're right, I'm kinda OK with Windows becoming/staying the main PC gaming "API" that more than one operating systems implement. It's just gaming; the important things are fun, challenge, immersion, escapism and great stories. Not how pretty it is under the hood.
Ideally games would have native Linux versions. Practically, no one did this before Wine/Proton because the Linux market is so small and bug-prone, so the choices are Proton or no games at all.
It's a chuckle-worthy thought now, but I am willing to bed it will be reality for backward compatibility with historic games in the long run - cf. the use of DOSBox to run old DOS games in modern systems. Countdown to old Windows games delivered in full Linux containers starting now ...
None of the recent AAA games work. By none I mean not 99.9%. Proton is not a relyable solution to play games on Linux, it workish on old games and even the one that work have really annoying issues that you woudn't have a on Windows.
On top of that you add the bad stability / performance of graphic drivers on Linux vs Windows.
Edit: Since I'm being downvoted show me recent games that work without issues / tweaking etc ... ?
Proton has been fantastic for me, it finally gave me what I needed to reclaim my Windows partition and go full-on Arch! In some cases, running the Windows version inside Proton has actually worked out better for me than the native port (Dead Cells, for example. The native port crashes the Steam overlay and lacks Steam Controller support, but running the Windows version in Proton is seamless)
I highly encourage you guys to check out the tech making this possible: DXVK. It's incredible what you can do with these lower level APIs. I'm not sure if this is the right word, but "meta shader pipelines" like this are absolutely the way of the future in emulation. See also: Dolphin Ubershaders.
Keep in mind most "native" ports are just crappy, but official, wrappers that just do what proton does but worse. This is why you will see a lot of native ports perform worse, they weren't really native in the first place.
The implication from the comment was that Wine is better at running old Windows games than Windows itself. I’m not sure where this Linux vs. Windows comparison is coming from.
Ditto here. My wife's PC, for example, is now running OpenSUSE full time. She used to dual boot with Windows 10, primarily for games, but she would spend most of her computing time using Windows just because of the game inconvenience. Now pretty much everything she plays 'just works' with Proton, and she has no need for Windows.
Also Tomb Raider 4 uses DirectX 7 which is not supported by DXVK so you'd need to combine it with dgVoodoo2 [0] to translate DX7 -dgVoodoo2-> DX11 -DXVK-> Vulkan, which did work quite well for me with Tomb Raider 4 and 5 while Wine's DirectX 7 implementation had rendering issues at the time.
Last year I played Final Fantasy XV coop with my friend. This game is a part of Nvidia's The Way It's Meant to Played, there's even Nvidia logo on the start screen. I had a lot of crashes on my GTX 960. Almost no problem on Radeon (although multiplayer is quite bugged-ridden there).
Sometimes official support tells nothing about runtime quality.
And yet, I still have trouble running normal software that was built for Linux, on Linux.
Every set of updates might cause a problem that I've never seen on Windows or a Mac. I had an Ubuntu machine that only lasted 2 weeks before it wouldn't boot one day after an update. Never figured that one out - it was an experiment to see how much easier Manjaro was to setup and add software to than Ubuntu. (The answer: it's much, much easier.)
I just checked and it turns out it's running natively not via proton.
Not sure if any of this will be news to you, but for generally debugging:
If you run `steam` from a command line, and then launch civ 6 (or any game) from steam, it will print any errors to the terminal. Chances are it's some sort of missing dependency.
I was told by someone else that I might need to set launch options to `LD_PRELOAD=/usr/lib/libfreetype.so.6 %command%`, for whatever reason I didn't need to, but you might try that.
Proton has been a game changer for me: after many years on Linux only I ended up building a gaming rig a few years ago as I wanted to get back into gaming.The plan was to dual boot and only use Windows for gaming, but in practice rebooting all the time is just too much of a pain so I was using Windows almost exclusively there, with all the related frustrations. About 6 months ago I got myself a new SSD and made a fresh install of Linux with steam and Proton and I've been amazed a the performance and game support. Of course not all games work out of the box (and some not at all), but I haven't had to boot to Windows in months. And for the games I play the frame rate is at least as good as what I used to have on Windows (on a couple of games I do get occasional drops, but nothing too distracting). I play a lot of Assetto Corsa Competizione and my G27 steering wheel even worked out of the box!
In other discussion someone pointed out about passing a gpu to a windows kvm[1] and getting the output back to linux[2]. I never tried but seems really promising, might try it someday
> The majority of the games do not support multiplayer on Linux, due to dependency on Windows-specific anticheat software.
Definitely not majority. Maybe majority of the top 10-20 most popular/most cheated games? The very long tail of games works with multiplayer splendidly
> Many, many of the games themselves aren't totally stable on Linux.
https://www.protondb.com/ is a great database to check on the stability of games. Many, many games are very stable. Games that I happen to play regularly are more stable than Windows (especially with alt-tab and such).
I wouldn't oversell protondb since it's based on user submitted reports. I've tried multiple games that were rated platinum, but wouldn't launch or had other graphical issues that made them unplayable. Luckily the issues usually present themselves before you reach the 2 hour refund time limit.
I feel like Proton is Valve's bid to free themselves of their dependency on Windows, so I like to think #1 will change in time as the publishers come around to the idea that Windows is slowly but surely losing its position as the only viable gaming platform.
I think SteamOS and/or Steam-Machines were that bid. Both seem to have been deprioritized and now Proton is a fallback.
I'm sad to say that Windows will likely stay this way for the foreseeable future. The additional test/QA work required in order to make additional platforms (linux, macOS, etc) have to have a business case associated with them. You could imagine the developers writing the game on linux, building and debugging/running locally on linux, but testing and shipping on windows. So even if the games work well on linux, they won't necessarily get a release.
The only thing that might change this balance would be if somehow PC-style games would target Android, or if Android would somehow become some kind of desktop OS. Both seem infeasible to me now but something could change.
> 1. The majority of the games do not support multiplayer on Linux, due to dependency on Windows-specific anticheat software.
Not even anti-cheat, just different implementations of things in the Linux and Windows versions. IIRC Paradox games don't have any strong anti-cheat, but Linux and Windows users can't play due to how their systems handle network time synchronization.
> 2. Many, many of the games themselves aren't totally stable on Linux. So, expect a crash or two at critical gameplay moments.
Many, many of the games themselves aren't totally stable on Windows, either. Bethesda games (Fallout, Skyrim) come to mind -- desktop Skyrim had all sorts of bugs and crashes on Windows.
And why would it crash only at critical gameplay moments? Sounds like FUD.
Modern Paradox games (see Stellaris and Crusaders Kings 2) do support cross-platform multiplayer^. Maybe you are confusing them with Civilization V/VI, which did launch without cross-platform support and it is broken periodically due to the Linux/Mac version lagging behind the Windows one after each major update.
^ Aside from the regular out-of-sync issues they suffer sporadically, no matter the platform.
>> Microsoft can change DirectX whenever they want
They really can't. Software that uses DirectX will require a specific version of DirectX in order to have the correct ABI so that it can dynamically link against the DirectX libraries. Those versions and therefor ABIs are set-in-stone. Not to mention that a huge cross-section of the DirectX software library also distributed the required version of DirectX with the software.
Microsoft can change any FUTURE version of DirectX, but the deployed versions in the wild are out there and can't be changed.
I wonder if Microsoft has a cross platform .Net Core-like DirectX in the works. Given their push to unify their Windows and XBox gaming experiences, I can't imagine it'd hurt to spread that out even further and expand to capture as many games as possible. Though I guess outside the other consoles there's not a lot of other game systems.
> Create a standard, ask Unity and Unreal Engine to support it
It's called Vulkan, I believe. Or, you know, OpenGL even. Doesn't change the fact that it's the developer who will have to support it. Also doesn't change the fact that the developers _won't_ support it because of the same reasons that they don't now: it's not commercially viable. DirectX is not the problem.
Graphics is not the primary problem. The DirectX family of APIs also supports audio, input, networking, and other useful things that are in many ways far more difficult to make work across all platforms, at least historically.
So in some sense, DirectX's existence changes the economic equation, which does make it part of the problem.
I share your criticism, but just "Create a standard" is maybe a bit hard to do. Game devs need a market. The linux market is not really the biggest one, neither in numbers, nor in money. It only became a bit relevant, because Valve used linux, to threaten Microsoft, as they tried to get a big cut of game sales, with their own market. So good for linux, yes, but the normal linux game market is still quite uninteresting (mildly put) for publishers.
> I share your criticism, but just "Create a standard" is maybe a bit hard to do. The linux market is not really the biggest one, neither in numbers, nor in money.
I know of at least one game that's regularly in the Steam top 10 (Path of Exile) that is doing a port from DirectX to such a standard, Vulkan.
Not to support Linux, but because Vulkan is cross-platform, allowing them to reuse their code base for a mobile game, and also to be able to potentially support things such as Stadia. They also said this will lead to a mac port and may lead to a Linux port.
So there might actually be incentives already for game devs to use cross-platform tech, which could lower the barrier for Linux ports significantly and make it worthwile.
The thing is it's not that hard to write cross-platform games. Compatibility layers like SDL2 make it easy to target a platform agnostic system interface. Vulkan enables high performance graphics on most platforms.
ProtonDB had that issue in the beginning when users selected their own rating, but they changed the rating system. The only complain that could remain is the one for the multiplayer - if the single player runs perfectly but the multiplayer not, which rating is that? But pure multiplayer games are rated correctly, see https://www.protondb.com/app/578080 for example.
Doom Eternal while it works pretty well does have significant artifacts in some levels. There is also some weird bugs that don't exist on Windows and significant performance drops (game goes into single digit framerate) which again doesn't happen on Windows 10. Doom Eternal needs a high framerate to be played properly. I have a 1080Ti, I shouldn't have frame drops.
I been playing a lot of Doom Eternal (clocking over 40 hours in game) while in Quarantine and I've played it both on Arch Linux and Windows 10. My rig is pretty good (Ryzen 7 3700X and a 1080Ti).
Also if you have kernel.modeset=1 as a kernal parameter on to get Wayland with Nvidia, proton just doesn't work as it can't load up the vulkan libs (this is me going through the steam logs). I believe Pop_OS! does this, however I switched to Arch Linux now.
So I have to choose playing games with screen tearing while scrolling in Firefox or smooth Firefox with no-games.
Nontrival answer to a nontrival question. your first order goal, gaming on linux, has a dangerous second order effect - removing microsoft market. even if you could magically solve all the problems to make a technically sound widely adopted gaming mechanism on linux, id bet MS and/or Apple take an interest in shutting you down one way or another.
Linux server is perfect because there is huge commercial demand for it. Linux desktop has problems because there is almost no commercial demand for it. Good things require money because effort isn't free.
The Linux desktop is perfect for some goals and situations, this however, has nothing to do with that. Having issues while running a game on a platform it was not written for says nothing about the quality of Linux as a Desktop OS.
Being a sysadmin for 15 years and a Linux desktop user for 18+ years, I can say that the requirements are vastly different after a certain point in the OS.
The crux is making users do everything they need without accessing the parts they shouldn't.
In the 90's that situation was flipped: it was the desktop side that was stronger and the server side weaker. This was mainly because it was a bunch of hackers making the system they wanted for themselves. But then businesses started being built on Linux pouring money into server-side development (adding features, fixing bugs, improving performance etc.) and many of the hobbyists decided it was time to get paid for their efforts. So you end up where we are today.
Personally I've had less issues with the Linux desktop (KDE) than with the Windows desktop (outside of course of dumb things I did myself, like messing with GPU setups, or removing a vital library for rendering).
I hadn't heard of Proton before and the article doesn't explain. Here's what the GitHub repo for it says [1]:
> Proton is a tool for use with the Steam client which allows games which are exclusive to Windows to run on the Linux operating system. It uses Wine to facilitate this.
My question is, what's the "secret sauce"? If this is in fact that much more successful than Wine, what's different? Is Valve putting lots of dev time into it? Or is it just pre-configured for ease of use?
In addition to the what others have said (DXVK, pre-configured WINE, D9VK), the Steam client integration is also a MASSIVE quality of life boost and a serious lowering of the barrier to entry.
With Proton, the Windows versions of games appear in your library [1] and you just click to download and install [2]. And then that's it! No faff, no managing wine versions. If someone is intending to play a whitelisted game then for all intents and purposes their UX is exactly the same as playing the game on Windows - which is to say "very straightforward".
[1] By default only whitelisted games appear. While this whitelist is expanding, it's also possible to enable Proton to automatically run for all non-native games.
[2] A warning window will pop up to inform the user that a compatibility layer is being used, but otherwise it's identical.
>[1] By default only whitelisted games appear. While this whitelist is expanding, it's also possible to enable Proton to automatically run for all non-native games.
Or better, enable it for the game you want to try. Properties -> use compatibility tool.
In my experience, random non-whitelisted indie games work pretty great. My guess is that the average small shop is using more 'default' tooling with less custom engine stuff, meaning things are more likely to work under proton out-of-the-box than a giant AAA megabeast.
(I've had very similar experiences in a very different context with OEM Android. Small manufacturers don't screw around with the OS internals, while big shops (eg, the one rhyming with HamStrung) are more likely to change things in non-obvious ways.)
It's Wine + DXVK (including D9VK since they merged together) + ESync with a different Wine environment for each game. Valve also helped Codeweavers developers to implement controllers support thru Wine.
> ESync with a different Wine environment for each game
This is where Proton was a win for me. It's not super hard to make many of the popular games work, but managing the different wineprefix's or making sure some random DLL is or isn't installed was a pain. Proton keeps 'em clean, separate, and up to date.
I'd be really surprised if there wasn't fixes and configs for a lot of games in Proton, but also that now you at least can install and run Windows games on Linux from Steam. Before Proton, even when I owned a Windows game, I had to pirate it to run it through Wine.
Yes, it will also use a known good version of wine for a particular game. Switching versions manually to find one that worked for old or newer games had been a headache; that work is now done by proton.
To me it seems like a kind of Wine staging, with patches not ready to be merged into the Wine mainline, yet could make some game run or run better.
Over time as the code is proven in production and/or is cleaned up to upstream standards, it can be merged to upstream Wine, reducing the difference.
Also IIRC there are some other pieces that are not (yet?) part of Wine, that are distributed with it, such as the various DirectX->Vulkan translation layers.
It's alot more convenient then wine as it's built into steam. You could get a lot of games working on wine before but setup could be a bit of a pain. With Proton you just install and play on steam like you would with a native Linux game.
Is anyone using Linux + Proton for in-home streaming?
I'm seriously considering to completely ditch Windows 10 and move my gaming to PS4/5 + Linux/Proton, but I still want to be able to stream games from the game PC to the steam link in the living room. Does this work just as well with Linux/Proton as Windows?
Yup.
One recent (well, not recent, it's been like 6 months) issue is that after about 1h30min-1h50min the sound from the PC (XFCE Manjaro) corrupts (starts to crackle and gets worse until unbearable). The only fix I have been able to come up with so far, is to cut the connection to steam link, reset pulseaudio and reconnect to the steam link.
Very annoying issue that's being discussed on Github, but not necessarily addressed, as it's probably very hard to triage.
It works well, yes. However I can't compare with Windows since I don't have any Windows install anymore, so probably you need to get a comment from someone who dual boots!
Yeah I've had it running and streaming! Have run a few games this was - ARMA3, GTAV, South Park: Stick of Truth. All worked well.
Have also tried running the windows steam client in WINE and had a few more issues, but as ever YMMV.
The performance isn't quite as good (very close to windows perf levels), but quite a few anti-cheat systems will not work in Proton (even less so in WINE).
> quite a few anti-cheat systems will not work in Proton
A lot of interesting "hacks" (sorry for calling gaming on Linux a hack) are made impractical by this.
Another is that you can buy a miner's GPU (no video output, but much cheaper) and modify the drivers to route video through integrated graphics VO. Or, modify drivers to support SLI on any nvidia card. These driver modifications require running Windows in a special mode, which triggers anti-cheats. Maybe there's a way around that. Haven't heard of it being attempted on Linux. By the way, these driver modifications are just removing artificial restrictions.
I'm perfectly ok with some games not running as well as Windows, or not even running at all, in particular if I could also play them on console. I was more worried that Proton would not work reliably with streaming at all because it has to go through all these hoops to get an image on the screen in the first place. But it seems this is possible, which is great.
Games with anti-cheat not working doesn't bother me either as I don't play any games online anyway. So the intersection between 'games I play' and 'games that need anti-cheat' is very small ;-)
[1] https://github.com/doitsujin/dxvk
But some other enterprising threadripper user worked around that by stuffing the game in a Linux VM to avoid the rebooting.
Crazy to think that a Windows game would perform better in a Linux VM under Windows than running on Windows natively, even if the reason is that it's effectively presenting the game with worse hardware that it understands how to use more effectively.
My own personal examples: Halo MCC and Doom Eternal. They wouldn't launch out-of-the-box, but people just wouldn't stop trying. The GitHub issues for these games were enormous, full of information and people trying things. It's pretty encouraging.
With the kids of how life is going faster everyday, I cannot afford to play on long stretches of time, and being unable to pause on a multiplayer game on a whim (which makes sense) makes it logical to go with a single-player game, as I can simply pause the game and pick it right up when I can, on my own schedule.
I'm glad that Valve is doing that kind of work, it benefits everyone.
I play games to escape from people.... People suck, I do not want them in my games
What if the anticheat model was changed to one that detects statistically-improbable scoring (basically, a scientific model)? And triggering that would require some sort of skill verification, almost like a captcha, but for human FPS skill or whatever, generated dynamically?
Basically giving up knowing "with absolute certainty" whether there is cheat software installed or not
The other option is for Apple to pull their heads out of their asses and support the cross-platform graphics API that everyone else does. But we can all guess how that will go. If you want a platform for gaming, stay far, far away from macOS.
[1] https://moltengl.com/moltenvk/
It's such an easy out for developers. Why bother when people will make it work on Proton somehow and you don't have to promise anything nor do Linux support.
This is a serious question, and I don't know if it has an answer.
For example, it was easier for me to use pygame, which is based on SDL (simple directmedia layer), which is based on porting windows code.
On top of that you add the bad stability / performance of graphic drivers on Linux vs Windows.
Edit: Since I'm being downvoted show me recent games that work without issues / tweaking etc ... ?
You are right that too many times you need to tweak stuff or install some missing 32bit library for a game but I think your 99% number is wrong.
I highly encourage you guys to check out the tech making this possible: DXVK. It's incredible what you can do with these lower level APIs. I'm not sure if this is the right word, but "meta shader pipelines" like this are absolutely the way of the future in emulation. See also: Dolphin Ubershaders.
Ubershaders: https://dolphin-emu.org/blog/2017/07/30/ubershaders/
Video here: https://www.youtube.com/watch?v=FVYprONeDtY
I, for one, am not surprised. Windows userland APIs are more stable, consistent, and well documented than their Linux equivalents.
WineHQ said you need DXVK when you want proper shadowing, but I could not get it to work.
Finally, it turned out my laptop is probably too old for DXVK (i7-4600U).
But Wine 5 can run the game without DXVK. I just needed to install it from outside the distro repo, since the distro only had wine 4
Also Tomb Raider 4 uses DirectX 7 which is not supported by DXVK so you'd need to combine it with dgVoodoo2 [0] to translate DX7 -dgVoodoo2-> DX11 -DXVK-> Vulkan, which did work quite well for me with Tomb Raider 4 and 5 while Wine's DirectX 7 implementation had rendering issues at the time.
[0] http://dege.freeweb.hu/
> I needed to reclaim my Windows partition and go full-on Arch!
They tell you.
The Mac user couldn't fullscreen the game and had weird rendering artifacts.
One of the windows users had the game take 10x as long to load as it should have (commparing to mac/Linux/windows on vaguely similar hardware)
The other windows user kept dropping. Note that we were all sitting at the same kitchen table, with reasonably good wifi.
Linux worked flawlessly.
I'm sure there was some luck involved, but Linux gaming has truly come a long way from being the most finicky platform.
Sometimes official support tells nothing about runtime quality.
Every set of updates might cause a problem that I've never seen on Windows or a Mac. I had an Ubuntu machine that only lasted 2 weeks before it wouldn't boot one day after an update. Never figured that one out - it was an experiment to see how much easier Manjaro was to setup and add software to than Ubuntu. (The answer: it's much, much easier.)
Also there is a community version that includes just i3 the tiling window manager out of the box.
Deleted Comment
Deleted Comment
I just checked and it turns out it's running natively not via proton.
Not sure if any of this will be news to you, but for generally debugging:
If you run `steam` from a command line, and then launch civ 6 (or any game) from steam, it will print any errors to the terminal. Chances are it's some sort of missing dependency.
I was told by someone else that I might need to set launch options to `LD_PRELOAD=/usr/lib/libfreetype.so.6 %command%`, for whatever reason I didn't need to, but you might try that.
Dead Comment
[1] https://news.ycombinator.com/item?id=22905390#22906984
[2] https://looking-glass.hostfission.com
1. The majority of the games do not support multiplayer on Linux, due to dependency on Windows-specific anticheat software.
2. Many, many of the games themselves aren't totally stable on Linux. So, expect a crash or two at critical gameplay moments.
That said, Proton is a great effort and it's great they're pushing Linux forward.
Definitely not majority. Maybe majority of the top 10-20 most popular/most cheated games? The very long tail of games works with multiplayer splendidly
There have been reports that Valve is collaborating with EAC to improve Proton support: https://www.gamingonlinux.com/articles/apparently-valve-are-...
> Many, many of the games themselves aren't totally stable on Linux.
https://www.protondb.com/ is a great database to check on the stability of games. Many, many games are very stable. Games that I happen to play regularly are more stable than Windows (especially with alt-tab and such).
I'm sad to say that Windows will likely stay this way for the foreseeable future. The additional test/QA work required in order to make additional platforms (linux, macOS, etc) have to have a business case associated with them. You could imagine the developers writing the game on linux, building and debugging/running locally on linux, but testing and shipping on windows. So even if the games work well on linux, they won't necessarily get a release.
The only thing that might change this balance would be if somehow PC-style games would target Android, or if Android would somehow become some kind of desktop OS. Both seem infeasible to me now but something could change.
Not even anti-cheat, just different implementations of things in the Linux and Windows versions. IIRC Paradox games don't have any strong anti-cheat, but Linux and Windows users can't play due to how their systems handle network time synchronization.
> 2. Many, many of the games themselves aren't totally stable on Linux. So, expect a crash or two at critical gameplay moments.
Many, many of the games themselves aren't totally stable on Windows, either. Bethesda games (Fallout, Skyrim) come to mind -- desktop Skyrim had all sorts of bugs and crashes on Windows.
And why would it crash only at critical gameplay moments? Sounds like FUD.
hah! at least back when I played nonstop twitch games there were no moments that were non-critical gameplay moments ;)
^ Aside from the regular out-of-sync issues they suffer sporadically, no matter the platform.
"Doom Eternal runs perfectly - it just have some pink flickering every minute!"
"runs perfectly - it just closes when you try to start it."
"runs perfectly - multiplayer doesn't work though."
Microsoft can change DirectX whenever they want, that goalpost is always going to change to suit them, so why even play them at their game?
Create a standard, ask Unity and Unreal Engine to support it, take a smaller cut when buying the Linux version on Steam.
They really can't. Software that uses DirectX will require a specific version of DirectX in order to have the correct ABI so that it can dynamically link against the DirectX libraries. Those versions and therefor ABIs are set-in-stone. Not to mention that a huge cross-section of the DirectX software library also distributed the required version of DirectX with the software.
Microsoft can change any FUTURE version of DirectX, but the deployed versions in the wild are out there and can't be changed.
It's called Vulkan, I believe. Or, you know, OpenGL even. Doesn't change the fact that it's the developer who will have to support it. Also doesn't change the fact that the developers _won't_ support it because of the same reasons that they don't now: it's not commercially viable. DirectX is not the problem.
So in some sense, DirectX's existence changes the economic equation, which does make it part of the problem.
I know of at least one game that's regularly in the Steam top 10 (Path of Exile) that is doing a port from DirectX to such a standard, Vulkan.
Not to support Linux, but because Vulkan is cross-platform, allowing them to reuse their code base for a mobile game, and also to be able to potentially support things such as Stadia. They also said this will lead to a mac port and may lead to a Linux port.
So there might actually be incentives already for game devs to use cross-platform tech, which could lower the barrier for Linux ports significantly and make it worthwile.
Doom Eternal while it works pretty well does have significant artifacts in some levels. There is also some weird bugs that don't exist on Windows and significant performance drops (game goes into single digit framerate) which again doesn't happen on Windows 10. Doom Eternal needs a high framerate to be played properly. I have a 1080Ti, I shouldn't have frame drops.
I been playing a lot of Doom Eternal (clocking over 40 hours in game) while in Quarantine and I've played it both on Arch Linux and Windows 10. My rig is pretty good (Ryzen 7 3700X and a 1080Ti).
Also if you have kernel.modeset=1 as a kernal parameter on to get Wayland with Nvidia, proton just doesn't work as it can't load up the vulkan libs (this is me going through the steam logs). I believe Pop_OS! does this, however I switched to Arch Linux now.
So I have to choose playing games with screen tearing while scrolling in Firefox or smooth Firefox with no-games.
In Windows I have none of these problems.
Deleted Comment
https://xkcd.com/927/
Nontrival answer to a nontrival question. your first order goal, gaming on linux, has a dangerous second order effect - removing microsoft market. even if you could magically solve all the problems to make a technically sound widely adopted gaming mechanism on linux, id bet MS and/or Apple take an interest in shutting you down one way or another.
I suppose that's a different topic.
The crux is making users do everything they need without accessing the parts they shouldn't.
> Proton is a tool for use with the Steam client which allows games which are exclusive to Windows to run on the Linux operating system. It uses Wine to facilitate this.
My question is, what's the "secret sauce"? If this is in fact that much more successful than Wine, what's different? Is Valve putting lots of dev time into it? Or is it just pre-configured for ease of use?
[1] https://github.com/ValveSoftware/Proton
With Proton, the Windows versions of games appear in your library [1] and you just click to download and install [2]. And then that's it! No faff, no managing wine versions. If someone is intending to play a whitelisted game then for all intents and purposes their UX is exactly the same as playing the game on Windows - which is to say "very straightforward".
[1] By default only whitelisted games appear. While this whitelist is expanding, it's also possible to enable Proton to automatically run for all non-native games.
[2] A warning window will pop up to inform the user that a compatibility layer is being used, but otherwise it's identical.
Or better, enable it for the game you want to try. Properties -> use compatibility tool.
(I've had very similar experiences in a very different context with OEM Android. Small manufacturers don't screw around with the OS internals, while big shops (eg, the one rhyming with HamStrung) are more likely to change things in non-obvious ways.)
This is where Proton was a win for me. It's not super hard to make many of the popular games work, but managing the different wineprefix's or making sure some random DLL is or isn't installed was a pain. Proton keeps 'em clean, separate, and up to date.
Mainly configuration. You can almost run everything with wine but it implies quite a lot of tiny config changes and know how.
The force of proton has been to do all of that out of the box without user knowledge.
It's honestly a success, and a big one.
Over time as the code is proven in production and/or is cleaned up to upstream standards, it can be merged to upstream Wine, reducing the difference.
Also IIRC there are some other pieces that are not (yet?) part of Wine, that are distributed with it, such as the various DirectX->Vulkan translation layers.
I'm seriously considering to completely ditch Windows 10 and move my gaming to PS4/5 + Linux/Proton, but I still want to be able to stream games from the game PC to the steam link in the living room. Does this work just as well with Linux/Proton as Windows?
https://github.com/ValveSoftware/steam-for-linux/issues/6749...
By the way you can also stream PS4 games to your Linux Desktop with Chiaki: https://www.youtube.com/watch?v=4Afc_V73_3w&feature=emb_logo
The performance isn't quite as good (very close to windows perf levels), but quite a few anti-cheat systems will not work in Proton (even less so in WINE).
A lot of interesting "hacks" (sorry for calling gaming on Linux a hack) are made impractical by this.
Another is that you can buy a miner's GPU (no video output, but much cheaper) and modify the drivers to route video through integrated graphics VO. Or, modify drivers to support SLI on any nvidia card. These driver modifications require running Windows in a special mode, which triggers anti-cheats. Maybe there's a way around that. Haven't heard of it being attempted on Linux. By the way, these driver modifications are just removing artificial restrictions.
Games with anti-cheat not working doesn't bother me either as I don't play any games online anyway. So the intersection between 'games I play' and 'games that need anti-cheat' is very small ;-)