Open puechtom opened 6 years ago
I believe it's in the works. Hell, the first line of the introduction states "Proton is a tool for use with the Steam client which allows games which are exclusive to Windows to run on Linux and macOS operating systems."
Plus they added MoltenVK to the codebase. So it's clear they intend on supporting macOS at some point.
These kinds of issues are irrelevant, I'm sure the developers already know that a lot of people would like for the macOS to be supported.
I think one of the bigger issues will be the fact that Apple removes 32bit support next year. As far as I know CodeWeavers said they have a plan to work around that but I don't know if there is already some work done. The question is if this workaround is capable of running games.
Also they have some sloppy OpenGL drivers and deprecated them entirely. Since DXVK only supports DX10 and DX11 an "everything else to Vulkan" wrapper is also needed. VK9 works on a D3D9 to Vulkan wrapper. Maybe map everything else (<= DX8) with dgVoodoo2 to DX11? If so the creator of dgVoodoo2 would like some money too I think.
Since Apples removes everything from macOS that WINE relies on it is no surprise that Steam Play support on macOS is a thing that will break over and over again. It depends on CodeWeavers I think.
The biggest hurdle is some incomplete features in moltenvk at the moment. Valve can always include 32bit libraries with steam itself .
I would suggest an Everything -> Vulkan or even -> Metal wrapper anyway, as the OpenGL interfaces are not just deprecated, they're also slower in some cases, and don't support all of the newer features, as Apple's GL cuts off at 4.1. Not to mention, they're only GL Core compatible, and the shader language is essentially limited depending on which GPU is in the system (NVidia/AMD/Intel), so even some software will fail to run due to shader compilation errors or missing GL functions that don't have an equivalent in 4.1 Core.
Actually, that request belongs to steam support / steam community website, not to this repo. Proton does have some compatibility with Mac OS and it is improving, but steam play (that uses proton under the hood) is not enabled on Mac OS. This issue should be closed.
macOS support has been removed from Proton itself: https://github.com/ValveSoftware/Proton/commit/a84120449d8177fa40f3de729e55d238d3c24877
macOS support has been removed from Proton itself: a841204
Is there any official justification for this?
There's an issue up for getting DXVK to work with MoltenVK, this will be 90% of the work required to get Proton working properly on mac.
only point from here the epic issue for DXVK support on moltenVK https://github.com/KhronosGroup/MoltenVK/issues/203
Now moltenVK have tesselation and more stuff so maybe we are closer to archive that than few month ago.
Man, I'm sure this doesn't mean anything -- but I really hope that Mac support is re-considered at some point. Watching my Steam games go from ~230 to ~30 with Catalina was rough. I'll be watching Codeweavers work closely, but it'd be nice for the likes of Valve w/ way more resources to not just totally give up on the platform.
I'm all for the long-overdue boost to Linux gaming (and jealous if it is easier to pull off there given overhead of Apple's whim), but still wish that Mac could be sailing on the same ship. Steam finally hitting Mac was one of the best days on the platform, but its lack of love certainly shows these days and it will be sad if Catalina is pretty much the nail in the coffin for any serious game development.
Please, we need Valve Hammer!!! The amount of creative people that won't abandon macOS is huge. Edit: Everybody has something else they want to play or access with Proton. Mine is Hammer.
@rsodre Not the right place for your comment, try ValveSoftware/source-sdk-2013/issues.
Codeweavers Managed to get wine to run 32-bit code under 64-bit code on macOS in the new Crossover release (v19)
It would be nice once this gets merged into regular wine if Valve could implement a Proton version that can allow macOS to run 32-bit games again for starters.
Despite no DXVK support, I still see enabling MacOS Catalina users to play 32-bit games again via Steam Play would be a great start.
Relivant Link: https://www.codeweavers.com/about/blogs/jwhite/2019/12/10/celebrating-the-difficult-the-release-of-crossover-19
I am not sure if I should make a new issue or where I should post it as I would like to make Valve aware of these new changes.
Even if dxvk is currently not working on mac, but since proton has an option to switch to use OpenGL based wined3d instead of vulkan and mac's opengl should have more common features with dx11 compare to Vulkan (moltenvk), shouldn't macos support be re-enabled? Does wined3d also not work properly on mac?
@kakashidinho OpenGL is deprecated on macOS and not updated in I think going on 3 years. It's not a long term solution to this problem unfortunately. PC gaming has broadly gone Vulkan, which is why MoltenVK support is so important to this type of effort.
@kakashidinho OpenGL is deprecated on macOS and not updated in I think going on 3 years. It's not a long term solution to this problem unfortunately. PC gaming has broadly gone Vulkan, which is why MoltenVK support is so important to this type of effort.
I understand. However I think moltenvk still has a long way before it can work flawlessly with dxvk. Since some features like geometry shader and transform feedback are missing in metal (witcher3 needs them). I follow moltenvk topic on that and seems like it is very hard to emulate using existing metal features. They have been stuck in that issue for a long time. Hence I am just saying the opengl version might be a workaround solution for now. Though Mac OpenGL is stuck at version 4.1 and doesn’t have compute shader so it probably also doesn’t work properly for some games.
I'd be willing to pay to have this functionality. Please upvote if you're too
Install Linux on Mac - Win<->Win situation.
I'd be willing to pay to have this functionality. Please upvote if you're too
@RaeesBhatti Maybe tell CodeWeavers. They made paid, proprietary stuff with Wine, and help fund the project.
Also consider donating https://www.winehq.org/donate, the issue is still open after all.
Edit: I forgot that Proton is not part of the Wine project! (Although they do send code upstream.) So donating to Wine won't be supporting this issue or the Proton project at all. That said, it still wouldn't hurt do donate to Wine in general! Proton is a fork of Wine and wouldn't exist without it.
I would be surprised if Codeweavers was not already involved in MoltenVK, but +1 for paying for Crossover if you want to meaningfully support WINE related efforts on Mac.
That said - this is Proton by Valve, who at least symbolically has pretty much moved on from Mac as far as one can tell given simply dropping this support and general eighth-hearted status of Steam on the platform (no thanks to Apple I'm sure)
That said - this is Proton by Valve, who at least symbolically has pretty much moved on from Mac as far as one can tell given simply dropping this support and general eighth-hearted status of Steam on the platform (no thanks to Apple I'm sure)
@jeffbax Except this issue is still open. If they had truly completely moved on, this issue would be closed. My understanding is that the main roadblock for this issue to make progress is KhronosGroup/MoltenVK#203 being resolved.
I would suggest people donate to Khronos Group, but the closest they have is membership, which is $1000 for "accredited Academic Institutions" at its cheapest.
Edit: Best thing you can do is go an contribute code directly if you have the skill!
I actually bought the CodeWeavers Crossover license to play Age of Empires 2. Willing to do the same for Proton on Mac.
@RaeesBhatti same, paid for a license the second they released the 64-bit <--> 32-bit bridge. Now more than ever they likely need support if legacy (as well as new) Mac Gaming is going to be feasible at all :(
I actually bought the CodeWeavers Crossover license to play Age of Empires 2. Willing to do the same for Proton on Mac.
@RaeesBhatti If enough people are willing to pay for it, maybe they'll consider to making a CodeWeavers Proton, which will hopefully end up coming upstream.
Drop them a line on Twitter, their macOS forum, or email them if you think it might be worth a shot.
So with the whole virus stuff going on I've been digging around twitter with my free time and I found this comment from CodeWeavers: https://twitter.com/CodeWeavers/status/1237035160983527426?s=20
Not sure what this "little something something" is but it is something to keep a lookout for.
I can vouch that I would also really like to see this. Here’s hoping the Crossover announcement helps!
Two years without built-in macOS support. I'm trying to compile and see how far I can get, but not quite there.
The main issue with Proton support for MacOS is that someone has to make either a DX -> Metal layer or a tool that will take DX -> VK -> Metal (Could be done with DXVK + MoltenVK, but the impression I had was that this method was difficult and not viable).
The other major issue, for me, is that I have a metric ton of games I still play that don't run in Catalina due to the loss of 32-bit application support.
@dhollinger Don't forget that Apple is moving to ARM, so that will make things very difficult.
Not with Universal 2 though.
Considering how long they supported Universal 1, I'm not holding my breath. That said, it is a shame this can't get ported to also work with metal1.2+, that would probably make it easier to port to ARM when it happened, but I have no idea what efforts would be needed to integrate this with metal instead of dx.
I know VMware did make a DX -> Metal layer, but I doubt they're going to open source it.
Native ARM support is not happening as per #1493, so Universal is the only option
Considering how long they supported Universal 1, I'm not holding my breath. That said, it is a shame this can't get ported to also work with metal1.2+, that would probably make it easier to port to ARM when it happened, but I have no idea what efforts would be needed to integrate this with metal instead of dx.
I know VMware did make a DX -> Metal layer, but I doubt they're going to open source it.
You must both be thinking of Rosetta. I'm not sure why they called this "Universal 2" when Universal has never stopped being supported, and you can include 5 different binaries in a single App bundle to have compatibility with every OS X Mac ever released.
I still hope this happens. Where is the best place to get updates about Proton on macOS?
The main issue with Proton support for MacOS is that someone has to make ... a DX -> Metal layer...
@dhollinger I mean, the team behind Parallels Desktop figured it out. It converts up to DirectX 12 calls to Metal API calls with their latest versions of Parallels Desktop for (Intel) Mac. So it's definitely possible, and has been done, to say none the least.
Native ARM support is not happening as per #1493
@zowers that's reasonable. It would appear Apple put a lot of work into getting Rosetta 2 to run reasonably well on M1 devices, and: (A) they develop the hardware and the OS, & (B) some* graphics/video related software still lags behind Intel Macs. If Steam wanted long term support for Proton on ARM, they would have to develop their own x86 emulation/re-compilation layer.
At best, if it were like Windows on ARM, where the majority of libraries are native, and only specific incompatible components are emulated, or even like Rosetta 2, where the application binaries are effectively re-compiled on first launch, it would still likely pale in comparison to Rosetta 2's performance, and performance would likely take a hit (as it would both have to retranslate very large programs and their libraries, and translate on-the-fly DirectX/Vulkan calls to Metal, without system support to give it an edge.)
It would also appear that Steam themselves are not exactly warm to macOS. SteamVR for Mac died in under 2 years, despite more graphically capable ARM based macs being on the horizon, and eGPUs coming down in cost. So without direct involvement of Apple, or a concentrated effort by Mac users to prove the user base for running Windows games on Mac, it is unlikely that Proton & Steam Play for Mac in general, let alone ARM Macs would ever be seen as viable.
*In some reviews, it has been found that certain tools which deal with rendering video run slower through Rosetta than when ran as native ARM binaries. However, I do not know whether or not these were using true hardware encoding, via Apple VT, or if they were using software encoding, such as x264, during these tests. Likewise, Apple touts that gaming performance on the Apple M1 hardware is 3x faster than their Intel counterparts, however, again it is unknown if this is with ARM binaries, or if this comparison is of Rosetta 2 to Intel Macs.
Considering how long they supported Universal 1, I'm not holding my breath. That said, it is a shame this can't get ported to also work with metal1.2+, that would probably make it easier to port to ARM when it happened, but I have no idea what efforts would be needed to integrate this with metal instead of dx. I know VMware did make a DX -> Metal layer, but I doubt they're going to open source it.
You must both be thinking of Rosetta. I'm not sure why they called this "Universal 2" when Universal has never stopped being supported, and you can include 5 different binaries in a single App bundle to have compatibility with every OS X Mac ever released.
Yep, you'd be correct. I was thinking of Rosetta 1 / 2 when I replied. I can't speak for anyone else, though.
Yeah, I can't deny rosetta is a performance beast of a piece of software to come out of apple. I assumed gaming was dead when they announced arm macs, however you get great performance for the price of those Macs, I wouldn't be suprised if Macs made a return, If Steam Play gets ported now it should really just run great on the new Macs.
I think Apple initiative to support macOS gaming industry is needed to encourage Steam to port this feature on mac
I just remembered! CodeWeavers helped make Proton. CodeWeavers also made CrossOver, which supports not only 64-bit macOS, but it supports M1 Macs. Plus, CrossOver's source code is public. There is literally no reason not to support macOS with Proton.
@jbmagination you're forgetting that more goes into proton than just WINE. There's DXVK, VKD3D, FAudio, OpenXR, etc. And most of those projects are not supporting MacOS.
They dropped MacOS support in Steam for proton during the beta phase in 2018. Technical issues with having to run things from DX -> VK -> Metal...... And last I heard from some GameDevs like Ethan Lee, metal and GFX drivers are in worse shape on Mac than on Linux.
Not to mention you add another translation/emulation later when talking about the M1s
CrossOver has working DXVK with MoltenVK, and FAudio doesn't require any special hardware or APIs to work, just sound output. OpenXR, not sure about that. VKD3D probably still needs work before it will work with MoltenVK.
@dhollinger
There's DXVK, VKD3D, FAudio, OpenXR, etc. And most of those projects are not supporting MacOS.
Technical issues with having to run things from DX -> VK -> Metal......
Out of those 4 things you mentioned, Kode mentioned DXVK and FAudio working. I think OpenXR works too, so that's 3/4 things off the list.
They dropped MacOS support in Steam for proton during the beta phase in 2018.
Exactly. CrossOver 19 (with support for 64-bit macOS) came out near the end of 2019.
And last I heard from some GameDevs like Ethan Lee, metal and GFX drivers are in worse shape on Mac than on Linux.
Metal's an Apple thing. GFX drivers are up to the manufacturer of the cards, not Apple-- someone's gotta take initiative.
Not to mention you add another translation/emulation later when talking about the M1s
Rosetta 2 runs incredibly well, and CodeWeavers liked it. I have no doubt that it will run smoothly if Proton works on Intel Macs.
Don't forget that Apple decided to remove 32-bit libraries begin from macOS Catalina until now that makes everything more difficult ahead.
Don't forget that Apple decided to remove 32-bit libraries begin from macOS Catalina until now that makes everything more difficult ahead.
Crossover 19 added support for 32-bit Windows applications without any 32-bit libraries: https://www.codeweavers.com/blog/jwhite/2019/12/10/celebrating-the-difficult-the-release-of-crossover-19
Also of note: Crossover 20 added support for DX11: https://www.codeweavers.com/crossover/changelog
That doesn't mean it will go into proton. While codeweavers works on proton, valve is responsible for it. They probably don't want to be maintaining the 32-bit library support themselves in proton.
And saying it's easy because it's already in crossover doesn't work. Codeweavers maintains a separate version of crossover for mac vs Linux. My guess would be that the Mac version of crossover has a lot of Mac specific optimizations.
As for DXVK, it may work in Mac, but the user has to install moltenvk first, last I checked it didn't come preinstalled on MacOS.
Proton is supposed to largely be a one-click tool for most users. That would require valve to maintain Mac optimizations and moltenvk installation as well..... Which I don't think they want to do.
Remember, they had Mac support during beta and removed it. That's not by accident, it was probably more work than it was worth to manage
With all the big Mac changes lately, it has definitely turned into a larger house of cards. I'm continuously impressed that Codeweavers is crazy enough to even get things running on Apple Silicon Macs at all. I imagine that the future of Windows gaming on Mac is either Codeweavers for things old enough to run performant enough, or likely official wine-wrapped releases as opposed to "this seems to be working well enough" Proton route.
Which is certainly disappointing as a Mac user, but probably is what it is by now. I just wish that Valve would at least put a modicum of effort into the actual Steam client on Mac.... which has been one of the worst apps on the platform for years now.
@dhollinger
That doesn't mean it will go into proton. While codeweavers works on proton, valve is responsible for it. They probably don't want to be maintaining the 32-bit library support themselves in proton.
They worked with Valve on this for 2 years before release. There's definitely a reason Valve chose them over just doing it themselves-- clearly, they couldn't even do what they have now by themselves.
And saying it's easy because it's already in crossover doesn't work. Codeweavers maintains a separate version of crossover for mac vs Linux. My guess would be that the Mac version of crossover has a lot of Mac specific optimizations.
Take a good look at the title of this page, where it says "Source Code | CrossOver Mac and Linux" with one download. Of course there are separate downloads for macOS and Linux, they install stuff a bit differently. Doesn't mean the program in and of itself is different.
As for DXVK, it may work in Mac, but the user has to install moltenvk first, last I checked it didn't come preinstalled on MacOS.
Did you not see what Kode said? "CrossOver has working DXVK with MoltenVK"
Proton is supposed to largely be a one-click tool for most users. That would require valve to maintain Mac optimizations and moltenvk installation as well..... Which I don't think they want to do.
CrossOver is also supposed to be a one-click tool (or, at the very least, close to one). Install an application, put in the name, bam you're done. KISS.
Remember, they had Mac support during beta and removed it. That's not by accident, it was probably more work than it was worth to manage
That's because they didn't have enough things working at the time. Now CodeWeavers does.
Yes, the CrossOver package bundles its own build of MoltenVK. The user does not need to supply it separately.
Well, as a paying Crossover customer myself, if everyone wants this maybe pony up some bucks for them ;) I'd love it to come to Mac some day, but I won't hold my breath.
Another risk for Valve likely being that Apple could remove Rosetta 2 at any point, which would really suck for everyone who bought Steam games expecting long term support (already a struggle, as the 64->32 transition has proven and probably doesn't inspire faith that Rosetta will be around in 3+ years)
For another comparison, Apple only shipped Classic up until 10.4 and Rosetta 1 from 10.4 to 10.6. Given historical precedent it is entirely believable that they drop Rosetta 2 in a few years.
I know that at the end of the official post, they clearly stated that there is no plan on supporting macOS at the moment.
Nevertheless, I still thing that such a support would be a really good news for every macOS gamers hence this feature request.