Hacker News new | past | comments | ask | show | jobs | submit login
Valve's Proton Has Brought 6000 Windows Games to Linux So Far (boilingsteam.com)
748 points by ekianjo on April 20, 2020 | hide | past | favorite | 312 comments

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.

[1] https://github.com/doitsujin/dxvk

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.

Funny, but not very fair: presumably a Windows VM with the lower core count would work as well.

Wouldn't that entail having an extra Windows license in order to be able to run the VM after the activation grace period has passed?

I believe that they got rid of the grace period in Windows 10. Now you can run Windows without a license key indefinitely, albeit with certain personalization features (e.g. color scheme, wallpaper) locked.

wait a darn tootin' minute there, are you telling me that paying for a Windows licence has become a cosmetic microtransaction?

Only for personal usage, businesses may still need to show licenses and with telemetry, it’s easier for Microsoft to find such usages. That said, with the switch to Linux servers, Windows is probably a declining business for Microsoft while Azure and Office are growing, hence “Microsoft 365” subscriptions.

I believe for non-production usage, Microsoft is okay with unlicensed or trial Virtual Machines and such. The idea being that if developers are testing their software in Windows, that’s better than the alternative (not testing their software in Windows).

Similarly, if willing to beta test versions of software, you can get Visual Studio for “Insiders” and test the Enterprise edition for free with a non-production license for as long as newer beta versions are made available. (Note: IANAL, this ain’t legal advice, read the terms and conditions on any Microsoft VMs or software installations)

Cosmetic macrotransaction.

There is a permanent Windows Activation message (white text on transparent background) in the lower right part of the screen which my brain already blocked so it's not distracting at all. I only notice it after taking screenshots.

Windows server at least will randomly reboot until you get a license, let me tell you how fun that is to figure out.

It may, but then you would need to purchase two Windows licenses if you want to keep the host OS Windows.

Can you share a GPU to a windows VM?

I'm surprised that you can't just lock the game's threads to a smaller number of cores, but I can imagine the DRM some games ship with preventing you from doing it. Booting up a VM with its core count limited is a clever workaround... I'm guessing a Windows VM would have reduced GPU performance because of the way pass-through works.

You can shutdown/disable cores on the fly. There is a nice gnome-shell extension for that. Shouldn't that do the trick ?

AMD says

Game Mode is a new feature in AMD Ryzen™ Master that reconfigures the platform in two key ways:

• It temporarily disables half of the CPU cores, which turns the AMD Ryzen Threadripper 1950X into an 8C16T device (like the AMD Ryzen™ 1800X) and the 1920X into a 6C12T device (like the AMD Ryzen™ 1600X). For the truly technical, this is a 4+4 CCX configuration on one die. This ensures the game encounters the number of cores it was truly designed to handle. Please note that Game Mode does not disable SMT.

• We tell the OS to use a Local Mode (NUMA) memory, which keeps a game and its memory footprint inside one CPU die and the locally-connected DRAM. This minimizes several key latency points in the system, which most games love.

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.

Where on GitHub is this discussion?

Looks like there's tons of game-specific discussion on the Issues page for Proton itself:


If you go to protondb.com and search for the game, there's a link under the title for "GitHub Issue Search". I suspect that's where you'll find the discussions. Here's the issue for MCC. https://github.com/ValveSoftware/Proton/issues/2907

What others said, it's in the issues section of the Proton repo in GitHub. Sorry about that, I was on my phone and in a hurry so I couldn't add the links.

Doom is not native?

2016 is, but Eternal not.

EDIT: got fact-checked, I forgot 2016 is not native.

Nope, 2016 runs on Proton too.

Oh duh, you're right. I forgot they used it as the launch game for Proton.

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

Hear, hear. I feel exactly the same way.

The cynic in me just thinks that it saves the game developers from the need to develop good AIs.

Perhaps it's just my style of video gaming... I play games to relax, definitely not to compete. People sometimes get so wound up in these games, it's supposed to be fun!

So, yes, if a game is multiplayer only, it's a reason for me not to play.

> The cynic in me just thinks that it saves the game developers from the need to develop good AIs.

Balancing a multiplayer game is generally much more difficult than doing a single player game with AIs.

I'm pretty much a single player gamer, but lately i've been getting into the multiplayer side of dark souls. Personally, I think it's my new favourite multiplayer system.

It's focused around co op and invasions and is built into the story enough that it just feels like part of the game, while again not being forced in any way.

It's entirely optional to the point where being able to invade more than a limited number of times is locked behind an obscure, difficult route in the game that's missable and entirely unlikely to be discovered the first playthrough.

There's a few different invasion mechanics based around in game covenants that provide different game experiences, both in single and multiplayer that are a lot of fun. Coop's pretty fun too. It's a pretty awesome feeling helping out another player with a boss or area they've been struggling with and I'm not ashamed to say I needed to summon a bit of help for Ornstein and Smough the first time.

But, my favourite thing I think is the asynchronous multiplayer. The notes and specters. You can leave notes with predefined phrases for other players that can be helpful, or not as well as getting small glimpses of other players 'ghosts' as they play the game, or die horribly to something.

There's no other actual interaction between players though. You can't message people, there's no lobbies, it's all very ephemeral and unnoticeable and just feels like part of the game. The only thing it really reminds me of is the counter-op mode from perfect dark, which was a hell of a lot of fun, even if it seemed a bit lacking at times.

Personally I'd love to see this system recreated and improved in other games. It's the first time i've been interested in multiplayer gaming since I was a teenager playing StarCraft and diablo.

I know someone who regularly plays grand theft auto online. Whenever i've watched them play lately I can't help but think how much better it would be if they'd built a similar system. The game would be perfect for it. The online mode it has seems pointless and pretty lazy by comparison.

I exclusively play single-player games (mostly AAA) and I still have more games than time to play. But I remember having your feelings when I only had a PC. Get additionally PlayStation+Switch!

Yeah nah I'm not going to support anyone that encourages exclusives.

Hey, I have a project that might be of interest to you. It is called the StarCraft Human 'N' AI League, and it is a client that lets you play against custom AI written for the game. It is single player, and provides a challenge without the frustration of griefing idiots on the ladder. Here you can check it out(it's free) https://schnail.com/#/home

There are a lot of AAA and indie focused single player experiences, what kind of genres are you into? The recent Tomb Raider titles are pretty good for example.

If you like big single player RPGs then boy are you in for a treat...

Single player gaming is better than ever, and even a lot of the "indie" titles probably have bigger teams and budgets than games from whatever "golden age" you're probably thinking of.

There's plenty of indy games that provide good single player experience.

Got any suggestions?



Stardew Valley

Those three are great for relaxing after a long day

FTL: Faster Than Light

Zachtronics games (TIS-100, Shenzhen I/O, Exapunks)


Portal / Portal 2


Deus Ex (Super old but quite good, I started it recently. I had best results in Proton selecting the software renderer in the first launch dialog instead of DX9)

Grand Theft Auto

Assassins Creed IV (I had trouble running this under Proton though, had to use Windows)

Planetside 2 is MMO but you can play singleplayer. Windows only unfortunately, but there's nothing else like it.

> Deus Ex (Super old but quite good, I started it recently. I had best results in Proton selecting the software renderer in the first launch dialog instead of DX9)

I recommend Deus Exe [0] for playing Deus Ex. And yes, it's still an awesome game.

[0] https://kentie.net/article/dxguide/

Good list. Just for pedantic's sake: only a few of them ary indie games.

Like a book there are so many games it can be difficult to find a starting place for recommendations. What’s a game of two you’ve liked before?

Red Dead Redemption 2 is really good

Personally: Terraria, C&C

Conversely, I can't fathom how people can enjoy long stretches of singleplayer.

I occasionally play a bit of Cities Skylines every few months, but if there isn't another human involved, games just can't hold my interest.

Where's the satisfaction/fun come from if you're just beating some silly algorithm?

For me it is not about competing or beating anything.

I do play alot of simulation games, like Cities Skylines or Stellearis.

When I play first person shooters, I just like to run around and blow things up, I rarely "finish" the campaigns, for example Borderlands, Just like to run around the world and see how much destruction and havoc I can cause before I die, then start over...

I am not a completionist, I have no strong urge to "win" or "finish" the games....

I is just a way for me to turn my brain off for a few hours and escape the real world

Not all games are about "beating" something.

Can you name one game, electronic or otherwise, that doesn't involve "beating" something, whether it's the other player, the rules, or even just random chance (dice rolls)?

I honestly can't think of any. If there are no goals (and goals imply obstacles to be overcome in pursuit of them) then you've got a toy, not a game.

Huge games like Skyrim/Fallout/GTA are less about beating NPCs than experiencing the world, characters and story.

They may not be "games", but titles like Gone Home are still video games, they aren't about "beating" something, and they aren't simply toys either.

>They may not be "games", but titles like Gone Home are still video games

They may not be games, but they're still games? I think whether or not Gone Home can be considered a game is highly debatable. I haven't tried it, but it seems that the elements that make a game a game are missing.

That it's available on Steam is completely orthogonal to whether or not it's a game.

I'd strongly recommend looking into the Aesthetics of Play[1][2]. It's a framework that talks about eight primary reasons why people play video games, and only one of those reasons is "Challenge" (i.e., beating a goal). Games like Gone Home, Animal Crossing, The Sims, Minecraft, etc all reflect different play aesthetics, and are intended for people who enjoy different things than pure Challenge.

[1] https://youtu.be/uepAJ-rqJKA

[2] https://theangrygm.com/gaming-for-fun-part-1-eight-kinds-of-...

The expression "video game" came to be understood as much more than "games played through a video system". Even titles like Skyrim, RDR2 and Uncharted thrive much more on the role playing fantasy or on the narrative than on beating a system. These aren't just dressings anymore, like the medieval motifs on Chess, they are the reason we play those games. So yeah, the word "game" expanded its meaning, this kind of thing happens with language.

I'm curious what you are trying to get out of gatekeeping what a game is? Would you not consider children pretending to be someone else to be playing a game? What bout LARP [0]?

However Gone Home would even satisfy a definition of a "game" that requires there to be challenges. Much of the information is hidden throughout the house, requiring the player to find it and reconstruct the whole story. There are even locked off areas that you need to find keys for.

[0] https://en.wikipedia.org/wiki/Live_action_role-playing_game

You said yourself, Cities Skylines

I've definitely seen it argued that SimCity-alikes (and The Sims) are not games. Whether nor not this is true is IMHO beyond the scope of HN comments.

Suppose it's a game: Cities Skylines is open-ended and has no formal win condition, but you can certainly lose. Your city can go bankrupt, etc.

You're playing against the simulator algorithms. If you succeed then you've beaten those algorithms.

> Your city can go bankrupt, etc.

I play city skylines (and sim airport) in sandbox mode, money is meaningless. The only way you lose is to define yourself as losing.

you are not playing "against" the simulator. you are playing "with" a simulator.

the definition of game is "an activity that one engages in for amusement or fun." => it does not require win-conditions. i prefer games that allow me to be creative. having lose-conditions interferes with that.

While games like Day of the Tentacle and Monkey Island could be won, they couldn't be lost.

Minecraft creative mode. I love building out huge glass towers full of water, long roads made of sea lanterns just under the ocean connecting the landmasses, hollowing out trees putting beacons in the center, etc. None of that involves scores or defeating opponents and it’s one of my all time favorite gaming experiences.

Minecraft Creative. Lots of people play that without even sharing their works.

See, I think that's more akin to electronic Lego. It's a toy, not a game.

I mean, at this point you're just trying to mess around with definitions. Colloquially, sandbox games like Minecraft are considered video games.

"The Stanley Parable" and even more so its followup, "The Beginner's Guide". Both are technically video games, but actually more like interactive movies.

Supposedly Valve is working on this, but the lack of recent news is not promising: https://www.gamingonlinux.com/articles/apparently-valve-are-...

The main company working on anti-cheat software was bough by Epic, and they dropped their Linux efforts as a result.

Epic is kind of a thorn in the side for me when gaming (on a Linux distribution). There are a few Epic exclusive games that I'd like to play (Arise: a simple story, Journey, etc.), but they don't even have entries in protondb.

That's probably due to Epic not having a launcher for Linux. A few months ago(?), I read it had become possible to run the launcher through Wine, but I don't think that's changed anything on the porting side.

I worry that games which are released as Epic exclusives may fall by the wayside when/if they eventually become nonexclusive.

You can run the epic games store on Linux and so far it worls well for indie titles I tried there. Not sure about AAA titles.

The company being bought by Epic happened before this news about the Linux effort. So I don't think that timeline is correct.

Do you have a source for this claim?

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.

That hasn’t gone away at all - you just can’t expect call of duty or battlefield.

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

Nearly every anticheat system already does this. The thing about anticheat teams is, they almost never talk about how their systems work, but I can practically guarantee to you one thing: There is no idea you could have which has not been tried in the war against cheaters.

CounterStrike has, in times past, probably also today, used where you're aiming as a signal for whether you're using wallhacks. Like, if you're aiming and trailing directly on top of another player, but through a wall, for extended periods of time. This is statistical modeling.

> And triggering that would require some sort of skill verification

How do you remotely validate the skill of someone who is possibly cheating? Why wouldn't they just cheat at the validation? Do you, maybe, accept that they may cheat, but then raise videos of their skill checks to an enforcement team for validation? CounterStrike also already does this! They have the Overwatch system which enables specially trusted players to review gameplay footage of other players which VAC suspects of cheating.

Now, Runescape is the most explicit example of these "skill checks" I've encountered. Certain undocumented behavior which resembled botting could trigger an in-game "captcha" where you had to prove you were human. If you were, you'd often get a prize. Simple. Somewhat effective (often, people would just get around this by paying cheap labor in third world countries to oversee a hundred bots per person, and solve the captcha events when they happened. they did not save Runescape's economy from being destroyed by bots, and eventually, the game began enforcing strict value-for-value trading rules between players).

What are CounterStrike and Runescape infamous for? Cheaters and botters, moreso than most other games.

Statistical methods are a tool in the toolbox of anti-cheat systems, but they're not enough alone. They're far, far too easy to defeat; when a metric becomes a goal, it ceases to be an effective metric. If I keep a wallhack on for an entire game, it becomes very easy to detect; If I turn it on for just one kill, that one kill which puts us on the winning side of a tie, and I'm victorious, the outcome is similar, but I'm far harder for statistical modeling to catch.

There should be a very small percentage of exceptional players.

If you allow everyone who cheats to play, even if they're only playing at the peak, it will break the balance of everything. The top tier games will suck because half the players are cheaters, and the lower tier games will be filled with aimbot smurfs on their way up.

Unfortunately pretty soon we are going to enter a world where the cheats can be deep learning based and entirely external to the game itself (only using video as input, transmitting raw mouse input, etc). It will be fundamentally impossible to tell the difference from human players. This will be a weird time for competitive games when it happens.

In that circumstance if we had really good auto match making, does it matter? In a competitive environment I don't care if I'm vs.'ing a bot or a human as long as I'm matched with the intent of 50% win rate.

Of course with current cheating the issue is not deep learning based agents but seeing through walls or aim assisting. Those just ruin the enjoyment of the game. Similarly I loathe vs'ing an AI that uses the same methods.

Really, we should just get rid of the pesky cheating human players and pit them against variable strength AIs...

So in other words bring back working singleplayer as was asked for upthread? :)

Hah, some games already pit cheaters against each other.

I think you meant Proton instead of Vulkan. Some games run on Vulkan even on Windows. :)


Ah, sorry about nomenclature mixup. I love it all!! I want to see Linux become the premier “gaming OS” because gaming shouldn’t depend on a proprietary OS

Anti-cheat really only matters in 'random' PVP matches... or when money's on the line.

Friendly games honestly don't need it.

Never thought Masahiro Sakurai would be on HN. `/sarcasm`

Most of the online multiplayer games aren't friendly, including my reference above (Super Smash Bros series).

I wish Proton (with an hypothetical DXMetal) would help solve this conundrum on macOS, especially now that 32-bit native code has been dropped.

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.

[1] https://moltengl.com/moltenvk/

>The other option is for Apple to pull their heads out of their asses

A non-option is not an option.

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.

anecdote with sample size of one:

I finally switched to Linux (Pop_OS 19.10) after realizing Proton was good enough for all the games I enjoyed.

If you count "switched to Linux" as including "finally stopped propping up the grungy old Windows partition", then mark that down for a sample size of two.

Having tried to write interesting applications for linux, I should ask -- what does "native linux" mean?

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.

> which is based on SDL (simple directmedia layer), which is based on porting windows code.


Building on top of SDL is probably the easiest way to make a game native on all platforms. There's nothing Windows specific about it.

My "based on porting windows" comment was based on my understanding that SDL started with windows.

Wikipedia says: "Sam Lantinga created the library, first releasing it in early 1998, while working for Loki Software. He got the idea while porting a Windows application to Macintosh."

Even the naming of directmedia suggests microsoft roots to me: direct3d directplay directx, etc.

But my larger point was that I don't know how you would create a "native linux" game - I think high-functioning games on linux use cross-platform toolkits of one type or another.

I don't know maybe you could cobble something together part wayland, part mesa, part pulseaudio, part v4l, part /dev/input...

At the end of the day anything that runs on Linux without needing additional compatibility tools is native.

You could make a distinction for Windows/whatever games bundled together without Wine/eON/whatever and depending what want to determine that might make sense but at that point you probably also want to exclude things like Unity that don't really do a great job at integreating into the Linux environment.

SDL can be used for porting games (ie, making them native) and that's what it was originally created for but it's not really comparable to bundling a Windows .exe with Wine, which would add a lot more complexity.

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.

I think the major change was Steam and the Steam runtime rather than Proton, which solved the library fragmentation problem. Since then we have seen a considerable amount of same-day releases and native ports on Linux.

It didn't solve library fragmentation as much as it showed the solution that was always available and already used by most ports before the Steam runtime existed: to bundle all the libraries you need besides system interface like libc, libGL, etc. This is really no different on Windows.

> Practically, no one did this before Wine/Proton.

Oh come on, that's a huge exaggeration. There are thousands of native games available for Linux and Wine/Proton had nothing to do with that. Finding something to play hasn't been a problem for a long time if you are interested in a wide enough range of games.

Steam did make a big contribution to that but that was before Proton - if anything, Proton might have slowed down the number of new native releases. What Proton solves for people is being able to play specific games they want to play, like for example the latest popular AAA game that everyone is talking about - for that it's not enough if there are x% of games available no matter how big x is.

I wonder if you can install Wine under WSL? :evil laugh:

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 ...

Individual DLLs from Wine are alreay being used to fix compatibility problems in older games on Windows.

[0] http://bitpatch.com/ie_ddrawfix.html (included in the GOG.com installer for Planescape: Torment)

You think people will take games that already run on windows and package them in a linux container that runs them with wine, then require the multi gigabyte widows linux subystem to be installed so they can run through that?

You are willing to bet on this? How much would you like to bet and are there any other bets you would like to make? Maybe the cubs winning the super bowl or dial up modems replacing fiber optics?

> take games that already run on windows

I believe this is in reference to games that no longer run on modern versions of Windows.

The example I gave was old DOS games that no longer run on modern versions of Windows and are easier to ship with a bundled emulator - and that emulator is a free software reimplementation of the original thing. I think it's very likely to happen again in future iterations of the same principle, yes.

You think someone is going to resolve this solved problem by running wine on linux on wsl, which would still require dosbox?

I'm not talking about the DOS games at that point (it's a reference example for a pattern, as mentioned), but newer generations of games and the basic principle of operation. There are already some older ca. Win 98 era games that run better on Linux+Wine than on Windows past Vista due to compatibility problems, and I do think it'll eventually become a commercial reality to sell those kinds of games packaged into a a Linux VM once their numbers increase, yes.

It's easier to test, doesn't require costly porting work if it already works, VM tech is increasingly commoditized, low licensing costs, the performance overhead won't matter, etc. Just like no one notices today if a DOS game is sold bundled with DOSBox.

The alternative would be to maintain the native Windows port of Winet that's effort - I bank on laziness with the VM bit. The fact that WSL went VM from 1 to 2 is an indicator of viability for the general idea of transparent virtualization, too.

Honestly, if you take this another round I have to assume you're being intentionally obtuse for trolling purposes.

> Honestly, if you take this another round I have to assume you're being intentionally obtuse for trolling purposes.

You said you would bet that someone would use wine to deliver an old windows game on linux that runs inside window's linux compatibility layer, doubled down, and say anymore who says that is nonsense must be trolling.

Do you think that maybe instead of being likely to happen, it is likely to never happen due to wine being open source? It could just translate to a modern windows API instead of Linux. There is even something called reactOS that is an open source and windows compatible.

> Do you think that maybe instead of being likely to happen, it is likely to never happen due to wine being open source?

That's what I meant with the last paragraph. Linux doesn't come with a licensing cost; maintaining a working "Windows backend" to wine is effort. Just bundling with Linux seems lower effort and cheaper. Cf. also just about all of the system containerization trend and what's driving it - and it's in part API surface between the delivery and the system.

> require the multi gigabyte widows linux subystem to be installed

It's Hyper-V, so you could just run Linux VM without the sugar coating.

I don't believe WSL has any graphical capability whatsoever.

You can start an X server on Windows and let WSL use it. I've used some GUI programs via Xming in the past. It's fairly simple:


I’m not sure where that belief came from because it absolutely does.

Software compositing, so you’re limited to what is practical but that’s very useful for a lot of things.

> I’m not sure where that belief came from

I vaguely recall (possibly correctly) that I once read it on Scott Hanselman's blog.

By itself no. But you can run an X Server just like you have on Linux machines, and start graphical applications that use it.

Better still, use VcXsrv or similar to run proton.

You want mobaxterm here - vcxsrv is amazingly slow with GLX workloads.

Does it work with VNC and VirtualGL? If yes, this is my new favourite Windows thing.

It does work with VNC. Not sure about VirtualGL though. It IS very comlete however, so it has a high likelihood I think.

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 ... ?

I am not playing that many games and I avoid using Steam but for me any recent Unreal or Unity game works with DXVK .

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.

Number is completely wrong. Most of them work. Just go through the release list and look at their protondb entry. Doom Eternal, Wolcen, Resident Evil 3 - the three newest games on Steam Computerbase looked at and they all work.

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.

Ubershaders: https://dolphin-emu.org/blog/2017/07/30/ubershaders/

DXVK also works on Windows, to translate DX11 calls to Vulkan and pipe them thru the graphics card's own Vulkan driver.

Video here: https://www.youtube.com/watch?v=FVYprONeDtY

> In some cases, running the Windows version inside Proton has actually worked out better for me than the native port

I, for one, am not surprised. Windows userland APIs are more stable, consistent, and well documented than their Linux equivalents.

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.

I'm gonna blow your mind: the word "native" doesn't actually mean anything in this context. The only thing that matters is official support from the developer, regardless of the technology used.

I was explaining how an official port could perform worse than an unofficial one, so yes "native" would absolutely mean something in this context. It's commonly understood that using the native system interfaces would usually be faster than using a compatibility layer.

> The only thing that matters is official support from the developer, regardless of the technology used.

The only thing that matters for what? I'm not sure what point you are trying to make.

It's supposed to mean no system call translation but alas, you're right, it usually doesn't.

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.

No, you mis-read. chaorace said that Windows EXEs running in Proton gives them better results than running the Linux binary that the game developer ships ("native"). AnIdiotOnTheNet stated that Windows APIs are more stable and better documented than Linux APIs.

As a long-time Linux dev (see my profile), I have also found this to be true. Linux userland APIs are unstable and change all the time. Some transitions that come to mind that have affected me personally: ALSA->pulse; libudev->libudev2->systemd; gstreamer 0.10->1.0. All of those changes required modifications to my software, and the backwards-compat tools that are provided are buggy and insufficient. Meanwhile, you can still write and run winmm[1] applications on Windows 10, and they will work in almost all cases. It's simply the case that the win32 API is more stable than Linux userland APIs, so it's entirely plausible that games will run better in Wine, which shares that stable ABI, than they will on Linux, especially as time goes on and Linux userland shifts yet again.

[1] winmm dates to the Windows 3.x days!

The audio subsystem changes definitely could have been done better. Ideally /dev/dsp should have been extended like has been done on the BSDs instead of inventing completely new interfaces. That said, doesn't libasound still work with pulse?

gstreamer on the other hand is something you can just as easily ship yourself. I wouldn't consider that a Linux userland API as much as a random library that is present on many Linux system just like some crap you'd find in system32.

I'm less familiar about the API/ABI changes in the libudev transition - is there anything there that broke API compatibility.

The "lower level" userland libraries (glibc, libGL, libX11) tend to be pretty good at maintaining backwards compat. Well, except for Mesa pulling in the C++ standard library which can be a real problem when older games also dynamically link (incompatible) versions.

For software like games, all that pain is abstracted away by SDL. No need to deal with userspace libraries!

And, of course, the syscall layer is stable in Linux, so no issues there either.

However, companies claim Linux is still a pain for other reasons, so I guess it is mostly about testing/support cost and perhaps OpenGL driver issues?

I've been suspicious of user-led development (e.g. open source), expecially Linux. Its popular to put in new features; less so to test, endure backward compatibility, control user experience. So it doesn't get done (much) in Linux.

My cohort have a phrase they attribute to me: Linux is not ready until they get the 'Have Disk' dialog.

Eh, I don't agree. Linux has been "ready" for my usecase for more than a decade. There's pros and cons to each certainly, but I find Linux much more pleasant to use than Windows, and I like actually being in control of and able to modify the software I run. Until I can do that, Windows is not ready for me :)

Right. But the point is the vast, vast (non-HNer) use case is not in favor of Linux. For every 1 Linux-on-the-desktop person, there are what, 1M others?

I hope that I never see the "Have disk" button again. The Linux way of distributing hardware drivers is so much easier.

As for usage, linux on the desktop is between .5% and 2% market share. And there reason to suspect that Linux usage is undercounted.





> The Linux way of distributing hardware drivers is so much easier.

You mean having to recompile them whenever there's a new kernel because the developers consider a stable driver ABI to be abhorrent?

I don't think I've ever compiled a driver. So no, I don't think that's what they meant.

Only because the disto does it for you. If they mean because the driver is distributed from a centralized repository over the internet... that's how it works in Windows too, only Windows also has the option to use alternate media and a stable enough driver ABI to have that make some kind of sense.

I don't know if API stability is a barrier to adoption or not, but I was just explaining my experience with both platforms. For me, I don't much care how many people use Linux; I just want to use my computer how I like to, and Linux suits my needs best.

What dialog is that?

Perhaps this one?


About a third of the way down.

I don't believe that is correct.

> (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)

Suggests the comment is about running the Windows version under Proton being a better experience than running the native Linux version.

Both are correct. Some native ports run better under Proton because the port sucks, but I recently saw a video where they compared Doom Eternal with Proton vs running native on Windows, and the Proton version ran better than the Windows version running natively.


It would be interesting to have some analysis digging into potential causes for this result. As someone who was recently surprised at how much impact a CPU upgrade (G3258 -> 4570 on the same LGA 1150 motherboard [1]) had on overall performance even in older indie titles where I wouldn't have expected it to matter much, I would be curious to look at what background services are running, what their cpu/memory footprint is, and how well the OS handles scheduling them.

Even without the obvious pigs like virus scanner, printer utility, launchers for other storefronts, various chrome-embeds like Slack and Spotify, I wouldn't be surprised if the Linux desktop does a better job of this.

[1]: https://cpu.userbenchmark.com/Compare/Intel-Pentium-G3258-vs...

The most common theory is that it's the Denuvo anti-piracy software. It's known to cause performance drops on Windows, and it often has to be bypassed or disabled in Linux games.

I see now. I stand corrected.

Ah, the parent comment is actually correct here. Dead Cells is a modern release with a released Linux port. Unfortunately, it isn't interacting correctly with the Steam overlay API and the issues haven't been fixed for months. Running the Windows version via Proton, ironically, is a more stable experience for my use-case.

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.

Thanks for the Ubershaders link it's very interesting, I had not heard of it despite being a casual Dolphin user!

I wasted a lot of time with DXVK when I tried to play Tomb Raider 4.

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

Well yeah, the VK in DXVK stands for Vulkan.

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/

How so you know if someone is an arch user?

> I needed to reclaim my Windows partition and go full-on Arch!

They tell you.

I considered making this joke myself lol. In reality, I actually just use Manjaro, but I enjoy playing into the stereotype :)

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact