20 ms·
Valve Rolls Out Wine-Based “Proton” for Running Windows Games on Linux
- thsowers 8y agoThis is really interesting. Would anyone have a link into more information as to how they are making this happen behind the scenes? How is this different from wine?
- flafla2 8y agoHere are the details from Valve's announcement post [0]: [begin quote] Q: What is Proton exactly? How does it differ from normal Wine? Who worked on it? Proton is a tool distribution based on a modified version of Wine. The included improvements to Wine have been designed and funded by Valve, in a joint development effort with CodeWeavers. Here are some examples of what we've been working on together since 2016: - vkd3d[source.winehq.org], the Direct3D 12 implementation based on Vulkan - The OpenVR and Steamworks native API bridges - Many wined3d performance and functionality fixes for Direct3D 9 and Direct3D 11 - Overhauled fullscreen and gamepad support - The "esync[github.com]" patchset, for multi-threaded performance improvements Modifications to Wine are submitted upstream if they're compatible with the goals and requirements of the larger Wine project; as a result, Wine users have been benefiting from parts of this work for over a year now. The rest is available as part of our source code repository for Proton and its modules. In addition to that, we've been supporting the development of DXVK[github.com], the Direct3D 11 implementation based on Vulkan; the nature of this support includes: - Employing the DXVK developer in our open-source graphics group since February 2018 - Providing direct support from our open-source graphics group to fix Mesa driver issues affecting DXVK, and provide prototype implementations of brand new Vulkan features to improve DXVK functionality - Working with our partners over at Khronos, NVIDIA, Intel and AMD to coordinate Vulkan feature and driver support [end quote] [0] https://steamcommunity.com/games/221410/announcements/detail/1696055855739350561 https://steamcommunity.com/games/221410/announcements/detail...
- kbumsik 8y agoFor more context, CodeWeavers is a company behind CrossOver, a proprietary software based on Wine. It is also a major contributor of Wine Project too.
- gpderetta 8y agoPeople were speculating for a while that someone was financing DXVK; it seems that, at least since the beginning of the year, they were right.
- bisby 8y agoThe dev commented on reddit that once he got Nier into a working state, Valve contacted him.
- mackal 8y agoIn addition to what someone copied and pasted, some python scripts to make sure everything is excuted right. I do need to look into it more though :P
- dmead 8y agoFor what it's worth, this seems reminiscent of other wine distributions like crossover office (for office) or cedega (for games)
- shmerl 8y agoAs I said in another thread: Congrats! And big thanks to developers and Valve who funded dxvk, vkd3d, esync and other Wine as well as Mesa work, while contributing everything in FOSS fashion. This benefits not just Steam users but all Linux gamers.
- ryanmarsh 8y agoI used to be a big Wine user back when I believed in the potential for a commodity Linux desktop for normal people. These days I can’t for the life of me figure out why someone would want to run games on Wine instead of dual booting to Windows when it’s game time.
- shmerl 8y agoBecause they don't want to use Windows, period.
- 0x8BADF00D 8y agoYou could just virtualize it, dual-booting isn’t even needed. Then create private NAT and only whitelist certain ports and traffic. Hardware assisted virtualization is actually faster in certain cases and workloads than native these days.
- shmerl 8y agoIf you don't want to use it (many reasons), virtualizing or dualbooting doesn't really make a difference.
- therein 8y agoYou make it sound as if it is trivial to configure the GPU passthrough. Also, you'll need two graphics adapters for this.
- x3sphere 8y agoIt's not that hard to setup these days honestly, I think the requirement of having 2 GPUs is a turnoff for a lot of people though. And I think it's been catching on a lot more now that both Intel offers VT-d standard in most of it's chips. So does AMD with its SVM equivalent. I like this approach Valve is taking better than resorting to VMs though. I'll probably continue to use my GPU passthrough setup for now but when the game compatibility on this gets better I'll likely switch.
- moetech 8y agoValve needs to partner with Google and launch a Chromebook/Steam Machine hybrid. It's in the interest of both companies to kill Windows. Google is already adding support for native Linux programs to Chrome OS, they could make a Chrome/Android hybrid that pulls all of the weight of the Android ecosystem and adds to that the weight of Steam. It would be a success and could seriously hurt Microsoft.
- vecinu 8y ago> It's in the interest of both companies to kill Windows Sorry why is it in both of their interests to do so?
- foota 8y agoAs far as valve goes, the windows store is a potential competitor to steam.
- astrowilliam 8y agoI'm an avid gamer and would never buy anything from the Windows store. Casual players even use Steam. I'd like to see the sales stats between the WS and Steam to compare.
- uomopertica 8y agoI can confirm that! I had to download Gears of War 4 from the Windows Store because it was distributed there. I had a terrible experience: account not logging, download not initiating etc. In the end I had to download it on my laptop whose Store was seemingly working better and transfer the files over to the Desktop. My experience is that WS is very fragile and much less reliable than Steam.
- dogma1138 8y agoThat something I never understood the Xbox store works pretty much flawlessly. How hard do you need to work to screw up something that already works just fine.
- _bxg1 8y agoGlad to see Valve back to creating things other than hats and virtual trading cards
- deleted 8y ago[deleted]
- steve19 8y agoWould be great if they could do that for Mac as well, although Metal is a deadend (for game devs) so they may not bother. I have had some decent success running wine games on Mac.
- mlindner 8y agoUnless game devs are going to not support Mac, Apple is deprecating OpenGL so they'll need to use Metal.
- executesorder66 8y agoThere is the moltenVK project. So they could do a similar thing to what they did with DXVK.
- fleetfox 8y agoIt supposedly works on Mac. MoltenVK is a thing
- ulzeraj 8y agoOn the proton github repo there are instructions for building for Mac and moltenvk libraries. It’s probably not as mature as the Linux version but there are bits hinting here and there. Link: https://github.com/ValveSoftware/Proton https://github.com/ValveSoftware/Proton
- jeffbax 8y agoI wouldn't be surprised if this is something that will "support Macs" being a library used for official releases, since there's generally more commercial support for Macs and porting houses likely to incorporate and contribute to this directly. At least it's my hope, it could also be there's just a big unknown with what happens to WINE/tools like this when macOS doesn't support 32-bit apps anymore.
- c487bd62 8y ago> Users playing through Steam Play experiencing Linux-specific issues should be directed to Steam for support I wonder how they'll handle user reviews. Maybe performance won't be an issue, I know some games run even faster than on Windows, but bugs that you don't know are Proton specific could lead to bad reviews.
- adrianratnapala 8y agoFrom a user POV though, I guess proton is an improvement. It means there is a specific windows-like platform called "Proton" that might just about earn a spot in in someone's test matrix. In that sense, the more bad reviews the better!
- gboudrias 8y agoThis could be intentional, as it incentivizes developers to support the Proton version, which makes native Linux support a much smaller leap. Excited as I am about a big player pushing Linux, we mustn't forget that the intent is almost certainly just to chip away at Windows and the threat it poses to Valve's own monopoly (as a PC game distributor).
- emsy 8y agoThe more charitable interpretation is that Windows as it‘s currently handled is an unpredictable mess that you don’t want to be dependend on.
- turbografx16 8y agoA good deed done for selfish reasons is still a good deed done. Frankly I'm just happy to see Linux gaming getting any kind of attention as it's the only reason I still dual boot Windows.
- AnIdiotOnTheNet 8y agoI think the intent is just to have an out for when Microsoft inevitably kills off the Windows personal desktop, either intentionally in favor of a subscription-based cloud service or through simply making it so crap that extremely desperate people turn to Linux instead. Valve's behavior suggests that they've never really sought a monopolistic position. Vive was open to everyone, there's no exclusivity agreements with their marketplace, etc. But Steam requires a platform to sell games for, so making sure there's some kind of alternative is in their best interest.
- bdz 8y agoMy only fear: devs will push for "just enough" Steam Play compatiblity instead of a proper Linux port. A lot of big AAA games got post-launch Linux release. These can disappear
- jchw 8y agoMore likely, this will enable existing titles to run on Linux, making it easier to sell Linux machines like Valve's Steam boxes. Meanwhile, Valve can incentivize native ports on their platforms through many means, so I don't think an OS/2 situation is likely. Also, having a good DirectX 12 implementation on top of Vulkan will likely be useful the same way that Vulkan on top of Metal is useful for macOS ports. Of course... it's still a long and difficult road for Valve here, given how well emulation will need to work to accomplish this.
- c487bd62 8y agoNot to mention that it acts as a compatibility layer for older games that don't run on Windows 10 and others that will stop working as they remove more and more legacy code/features. Some say there are games that have noticeable stutters or bottlenecks on Windows that doesn't share the same issues on Wine.
- jchw 8y agoThis would be nice, but I won't hold my breath too much: Valve is invested in current technologies like DX11 and DX12 emulation, whereas it'd be nice to see better emulation of D3D8/9 and DDraw if possible.
- c487bd62 8y agoThings will only get better from now on (or as long as the money keeps flowing). https://github.com/disks86/VK9 https://github.com/disks86/VK9 https://github.com/doitsujin/dxvk/issues/551 https://github.com/doitsujin/dxvk/issues/551 https://github.com/doitsujin/dxvk/pull/541 https://github.com/doitsujin/dxvk/pull/541
- jpeg_hero 8y agoThis could be the year of the Linux Desktop!
- acd 8y agoThis is good for gaming on Linux! Future prediction: Hackers reverse engineer Microsoft SQL server for Linux compatibility DLLs and adds better Wine support. Microsoft will eventually start selling a commercial Windows 10 compatibility layer for Linux. Reason Microsoft does not found main revenue through operating sales but of online cloud adoption and subscriptions. Microsoft of today is much more open source friendly than before. https://en.wikipedia.org/wiki/Xenix https://en.wikipedia.org/wiki/Xenix https://en.wikipedia.org/wiki/Windows_Services_for_UNIX https://en.wikipedia.org/wiki/Windows_Services_for_UNIX https://en.wikipedia.org/wiki/Windows_Subsystem_for_Linux https://en.wikipedia.org/wiki/Windows_Subsystem_for_Linux
- louhike 8y agoIsn't the next version of SQL Server supposed to run in Linux?
- philliphaydon 8y agoSql server 2017 already runs on Ubuntu 16.08, really well.
- chupasaurus 8y agoIt runs through emulator, too [0]. [0]https://cloudblogs.microsoft.com/sqlserver/2016/12/16/sql-server-on-linux-how-introduction/ https://cloudblogs.microsoft.com/sqlserver/2016/12/16/sql-se...
- abrookewood 8y agoYes. Not sure what this prediction means in light of that.
- acd 8y agoSomeone can use the Windows Server DLLs that ships with Microsoft SQL for Linux and use those DLLs to run Windows games better on Linux. An assumption is that Microsoft has shipped a Windows compatibility layer with Microsoft SQL Server for Linux.
- alkonaut 8y agoWhat's the driving force behind this? Is it so that Valve won't have to be dependent on microsoft or a "windows tax" for their gaming boxes? Or is it that microsoft simply wouldn't agree to license windows to them because they are already pushing xboxes? Or is it something else?
- chme 8y agoI suppose its because Microsoft is now (since Windows 8) in the `app/game store` business on Windows.
- alkonaut 8y agoMy guess too - and they are also in the windows-for-couch-gaming space since forever (with xbox). But this project has to be very expensive for valve, so I'm wondering if it's not more expensive than just selling boxes with windows on it to play all these games that are mostly windows anyway? And that raises the question of whether that was ever a possibility
- beagle3 8y agoThis would be like building a Facebook app or twitter client; essentially at the mercy of the platform owner. MS is already competing with Valve - it would be incredibly stupid on Valve’s part to be dependent on MS
- alkonaut 8y agoIt would be undesireable at least, and possibly come at great cost. The question is perhaps - is that cost still not smaller than trying to make future games work with wine (something that has traditionally not been very successful)?
- beagle3 8y agoIf the ms App Store is successful, then it is the end of valve as we know it today, so it makes sense for them to invest what is a relatively small amount (10 people at $150k/year for two years is just $2m - do they have that many people on it?) The majority of the cost is actually borne by the studios/developers - compatibility testing and fixes - for little pay now (though possibly nontrivial one in the future). So it doubly makes sense for Valve
- Zarath 8y agoThis is awesome. As others have said, gaming is one of the few reasons I still use Windows on my desktop.
- ezoe 8y agoDoes anyone know why Valve forked the Wine rather than joining them?
- gshulegaard 8y agoPure speculation, but it looks like Valve has a tight focus on DXVK whereas I think Wine is a bit more broad in it's support goals.
- hegz 8y agoThey said they work on their own fork and push everything back to upstream when its appropriate. I guess that gives them the freedom to do anything without worrying if upstream will accept it.
- Blaiz0r 8y agoFrom the FAQs of the original post on Steam: "Modifications to Wine are submitted upstream if they're compatible with the goals and requirements of the larger Wine project; as a result, Wine users have been benefiting from parts of this work for over a year now. The rest is available as part of our source code repository for Proton and its modules." Wine has very tight/strict requirements for what can merged into its codebase, it's why DXVK has had to remain a standalone project because it doesn't live up to Wine's code/goal requirements.
- ezoe 8y agoThanks.
- londons_explore 8y agoCan you be more specific on where the goals differ? "Get all windows stuff to run perfectly in Linux" sounds like a pretty simple goal to me.
- subway 8y agoWine (and I'm sure Proton) has a ton of app/game specific fixes. It's entirely reasonable for Valve to desire changes that Wine doesn't want to bring upstream.
- filmor 8y agoThis is the corresponding github issue, open since 2012: https://github.com/ValveSoftware/steam-for-linux/issues/74 https://github.com/ValveSoftware/steam-for-linux/issues/74 :) At some point during the beta of the Steam client for Linux, there was a bug in that you could install Windows games on Linux. I had a binfmt_misc setup at the time, which allowed me to run Windows executables directly through Wine as if they were ordinary ELF binaries. I don't remember exactly what happened when I tried running one, I think it failed when the Steam copy protection kicked in, but I always wondered if they couldn't make this work.
- eahman05 8y agoIf you use Wine to play DirectX 9 games, try the d3d9 fork. It's a fork with patches that give a much increased performance with DirectX 9 games which aren't merged into the Wine mainline because of the usual bikeshedding reasons. I use it to play WoW and I get better performance than on Windows. https://packages.gentoo.org/packages/app-emulation/wine-d3d9 https://packages.gentoo.org/packages/app-emulation/wine-d3d9
- LoSboccacc 8y ago> I get better performance than on Windows as anecdotal as it might be, I used to get better performance from wine'd dwarf fortress than with it's osx port, which is interesting I guess.
- eahman05 8y agoI don't know why it is in my case, but I suspect it's because Wine and/or the AMD drivers on Linux don't implement as many visual effects as there are on Windows, which makes the game easier on the GPU.
- LoSboccacc 8y agoI think that wine also used to drop silently shaders/features that couldn't emulate, so each single frame is easier for the gpu.
- see-ya-99 8y agoBack in the days of vanilla... WoW client has built-in native OpenGL support and was working perfectly under Wine. BTW. Same with W3
- tinus_hn 8y agoI don’t know how it is today but Microsofts compiler used to produce much better code than the free compilers used on Linux and Mac OSX
- 8y ago
- Fiahil 8y agoAtari is preparing the launch of its new linux console, the VCS (scheduled for next year). Apart from being a great toy for tinkering, it would be quite interesting if we could run a full steam client and some windows games on it ! Controls may be a bit hazy, but it's definitively something I would try.
- SmellyGeekBoy 8y agoI look forward to attempting the new DOOM with a one-button joystick ;)
- morganvachon 8y agoSounds like a fun challenge, akin to playing Castlevania: SotN with the Richter character.
- hasperdi 8y agoYou may want to adjust your expectation, as the current Atari is comparable to what Nokia, Polaroid and Kodak are today. https://www.youtube.com/watch?v=z0qyUhb3VXI https://www.youtube.com/watch?v=z0qyUhb3VXI
- redisman 8y agoAh yes Atari, the company that singlehandedly almost destroyed the video game industry with their crapware games. How are they still alive? Just milking old IPs and patents?
- ryu2k2 8y agoValve really needs to roll out a 64bit client though. I always have problems just installing the client because of the 32bit architecture.
- colejohnson66 8y agoHow so?
- xfer 8y agoUse your package manager.
- mort96 8y agoI've had a lot of bad experiences installing Steam from a package manager and having problems with either the Steam client itself or games crashing because they can't find 32-bit OpenGL libraries. I haven't had such issues that I can remember the last few times I've installed steam, but "use your package manager" isn't (or hasn't always been) the complete answer.
- morganvachon 8y agoIt's gotten better recently on Ubuntu and derivatives. "Use your package manager" actually works and installs all the correct 32 bit compatibility libraries. "sudo apt install steam" really is all you need now. That, combined with improved Wine compatibility, means that a lot of Windows games already run great on Linux, though with the obligatory performance hit due to driver differences and such. Hopefully once Vulkan support matures on both platforms we'll start seeing parity, especially with games that have a native Linux port or were Linux-first.
- chupasaurus 8y ago"apt install steam" is not enough on amd64 Debian installations[1] which are much more common. [1]https://wiki.debian.org/Steam#A64-bit_systems_.28amd64.29 https://wiki.debian.org/Steam#A64-bit_systems_.28amd64.29
- bdz 8y agoJohn Carmack in 2013 >I truly do feel that emulation of some sort is a proper technical direction for gaming on Linux. It is obviously pragmatic in the range of possible support, but it shouldn’t have the technical stigma that it does. There really isn’t much of anything special that a native port does – we still make OpenGL calls, winsock is just BSD sockets, windows threads become pthreads, and the translation of input and audio interfaces don’t make much difference (XInput and Xaudio2 are good APIs!). A good shim layer should have far less impact on performance than the variability in driver quality. >Translating from D3D to OpenGL would involve more inefficiencies, but figuring out exactly what the difficulties are and making some form of “D3D interop” extension for OpenGL to smooth it out is a lot easier than making dozens of completely refactored, high performance native ports. https://www.reddit.com/r/linux/comments/17x0sh/john_carmack_asks_why_wine_isnt_good_enough/c89sfto/ https://www.reddit.com/r/linux/comments/17x0sh/john_carmack_...
- izacus 8y agoAnd here pretty much lies the gist of it - most issues I've ever had with Linux gaming wasn't due to ports, but due to really poor driver quality and support from the platform. Missing OGL extensions, broken features or partly-implemented features made games unplayable.
- BurningCycles 8y agoIs that really a problem these days ? Nvidia has had very good Linux drivers for a long time and in the recent years, Intel and AMD has made great improvements.
- ekianjo 8y agoIt's not. Drivers are pretty good nowadays and for AMD last year has seen huge strives in quality and performance of drivers with Mesa.
- Symmetry 8y agoI go with AMD to have the open source driver and things aren't perfect but I knew what I was getting into. A year ago Mankind Divided worked great but Total War: Warhammer had horrid graphics glitches. Today both work great. I really wish there were some sort of registry of which games work on which drivers for Linux...
- Phenix88be 8y agoWhy can't we just have native support... Why do almost everyone had to go for Wine instead of native support. Gaming on Wine is painful and often break with updates.
- TulliusCicero 8y ago> Why can't we just have native support... Because the market for Linux gamers -- especially ones who don't already dual-boot Windows -- is tiny.
- jpetso 8y agoI think it's interesting that tiny indie projects would often have a Linux port, when their user base isn't all that big to begin with and their Linux user base would be much smaller still. On the other hand, AAA titles which would presumably still sell tens of thousands of copies rarely ever seem to make the effort. I'm not complaining, but shouldn't it be the other way around?
- cwyers 8y agoIndie titles often use either a custom game engine that is easy to port or use something like Unity that has built-in Linux support. AAA titles are harder to port because they're more complex.
- TulliusCicero 8y agoAAA titles are probably more graphically complex, especially in terms of low-level shortcuts/optimizations. Whereas most indie titles have simple enough graphics to make extra optimization unnecessary.
- bisby 8y agoThe top reasons I've seen indie devs mention for doing linux support are either "I write the code on linux, so it makes sense to have the game work there" or "I do it because it's the right thing to do to make my passion project to more people". Never because it was financially worth it.
- bitwize 8y agoOh, thank goodness. I could never get the Steam client running under Wine. Usually, nothing happens.
- wemdyjreichert 8y agoDoes this mean we can now have wine without breaking packages and having to reinstall?
- black_puppydog 8y agoIn case anyone else is wondering, this spreadsheet is posted as one of the github issues and compiles people's tests of different games: https://docs.google.com/spreadsheets/d/1DcZZQ4HL_Ol969UbXJmFG8TzOHNnHoj8Q1f8DIFe8-8/edit#gid=2086525177 https://docs.google.com/spreadsheets/d/1DcZZQ4HL_Ol969UbXJmF...
- neuromantik8086 8y ago> Machinarium --> Anything else notable? --> Still cute ass heck Is this a Freudian slip from one of those robosexuals?
- petermcneeley 8y agoHas anyone addressed the possible legal issues with this type of emulation? What about titles with strong DRM is it likely that they will run in these environments?
- dx87 8y agoIn Valve's announcment they mention that titles with strong DRM or complex anti-cheat measures probably won't work.
- anc84 8y agoHeh, I wonder if the list is correct about its Doom games. It links to the 2016 Doom as well as DOOM II: Hell on Earth (1994). Silly trend of re-using old names for new releases, they might have mean the original Doom instead...
- nix0n 8y agoBoth are on the list, Ultimate Doom further down is a re-release of the original.
- Jeaye 8y agoThis makes GNU/Linux a more appealing and viable gaming platform than Mac OS, since it now has the opportunity to capture so many of the existing Windows games.
- chupasaurus 8y agoJust run your macOS (not Hackintosh) on my Ryzen and then we'll talk.
- ece 8y agoSamba was reverse engineered, MS somewhat tried to make it an open standard, now are agnostic to it and are still developing closed extensions. Mono became big enough, and they opensourced their own CLR, and it runs on Linux. DirectX was implemented as a compatibility layer and runs games at close to native speeds on Linux and MS dumps it for Vulkan. Or so the wish goes.