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.
And also entirely feasible that the current Mac Pro will become obsolete at that point, too. They already discontinued that iMac Pro when it became apparent that the regular iMacs were on par with it, while also costing half as much or less. They're likely to discontinue all support and OS updates for Intel machines by the time they remove Rosetta 2.
With the supposedly 100% support for Proton in Steam Deck I think this would be crucial for macOS users to jump ship and get one if they can play the same games in their macs
With the supposedly 100% support for Proton in Steam Deck I think this would be crucial for macOS users to jump ship and get one if they can play the same games in their macs
This would require having money... for new hardware... and managing a separate machine...
NGL, whilst it is tempting, this isn't a "solution".
Fact of the matter is, Macs are more than capable of gaming, but "perception" around them for years, along with the existence of bootcamp, has caused the market for "gaming on Mac" to be near non-existent for a considerable time now.
For instance, Apple worked with Valve to bring SteamVR to macOS, and it was unceremoniously discontinued about a year before M1/Apple Silicon, possibly due to lack of developer support (and not even Valve supported it with Alyx).
Whilst Rosetta 2 isn't a "long term" solution, CodeWeavers already plans to have functioning ARM support by the time Apple discontinues it, as mentioned in their Apple Silicon Roadmap: https://www.codeweavers.com/blog/jramey/2021/5/19/what-is-our-technology-roadmap-for-apple-silicon — They already have a version working on ARM; just the performance at this time is not up to spec.
With CodeWeavers already supporting everything Proton would need in the short term, and estimating to have full ARM compatibility without Rosetta within about 2 years time (or less!), it is confusing, when the software is Open Source, to say none the least, why some form of this is not available for Proton, barring Valve purposefully pushing users to Steam Deck & Windows Machines.
Gaming on Mac is going to be less viable than Linux without Valve's support, and at this rate, it feels like Valve almost wants Steam on Mac as a whole to die.
Valve's own Mac games are 32-bit, and won't run on newer Macs even (despite 64-bit macOS being the norm when some of them were published).
I think Apple support for macOS gaming is the most important. Cases like: removal of 32 bit Applications which kill lots of macOS games and lack of Vulkan support are discouraged everyone to play games on macOS.
Apple provided 64-bit Macs at least as early as 2012, but developers consistently made their applications 32-bit only, even well after games would no longer support the specifications of 32-bit Mac hardware.
The removal of 64-bit was both to push developers to build for current hardware, and to begin paving the pathway to Apple Silicon (ARM) Macs.
The lack of built in Vulkan support may effect some games, but a majority of the Steam store library uses either OpenGL or DirectX. For most purposes, if a developer is going to have to port their DirectX code to another language, they should optimally use the language best suited to the target platform, which in this case is Metal.
Lack of Vulkan support is likely similar to the removal of 32-bit; to encourage developers to use the technologies best suited for the platform, rather than porting them to the lowest common denominator, even if the hardware requirements of the software exceeds anything that still runs with those specifications; and to pave the way for ARM devices.
Vulkan support in context of Proton is purely for intermediate purposes as a DirectX to Vulkan to Metal pathway.
In general, Apple does support gaming; they added XBOX 1[S/X]/S[S/X] & PlayStation controller support to iOS & tvOS, as well as their shared frameworks for macOS, Apple Arcade has a lot of indie titles (including temporary exclusivity on some), etc. They also didn't work with Valve for SteamVR support for nothing (though it ended in nothing).
The problem with Metal are this API is not open source, not cross-platform, and the market share is quite low compared to directx. Besides, the Vulkan support you mentioned must be MoltenVK which is a translation layer for Metal and this technology is not supported by Apple and it is not feasible yet compared to the original one and also the last opengl approved by Apple is quite old. I understand that Apple tends to force developers to change everything whatever he likes (i.e: lack of support of Wine on m1 Macs ) and sometimes this change cause to break many things and frustrated many developers.
CrossOver distribution and Gcenx unofficial Wineskin winery with engines built from the Open Source releases of CrossOver, 20.0.2 or newer, running on macOS 11.1 or newer, with Rosetta 2 installed, work for most things.
Rosetta 2's x87 fpu math translator is accurate but super slow, though, so some really legacy software will run terribly bad. As will anything more recent which is 32 bit and fpu heavy, but still built to support pre-sse2 machines for whatever reason. This behavior has been confirmed by Justin Frankel in updating Reaper for M1 machines, in early tests of x64 builds under Rosetta 2.
Seconding @kode54's comments, highlighting that it is very possible to run 32-bit Windows apps on modern macOS via the gcenx's wine-crossover repository (currently deploys Wine via a combination of crossover versions) and in my experiences with installing/running old games, it works really well for what it's worth. It would be awesome to see Steam/Proton hook onto this and make it even better.
Update! Wine 6.0 is now running on macOS Big Sur and supports 32 bit apps, so that hole is plugged.
@yllekz Based on a similar conversation on the Linus Tech Tips forums, it appears another reason support for Proton was dropped in MacOS is that Metal is missing some key functionality needed to translate DX/Vulkan calls to Metal. So, it sounds like there are some hard limits within the Metal API for Proton.
Stop complaining, DXVK was not the only drag there is also esync fsync, futex2_fsync and more, amd64 in arm translations will be heavy and 32 bits not compatible. even Apple doesn't seem to think its OS is for gaming. I think this bone is not Right for you 😅 plus the steamdeck is on Linux valve has no real reason to lose time for that. It's like wanting to use a microwave to wash your clothes, it's not for 😅😅😅
If Valve decides to support macOS on Steam Play then Steam goes from being a distribution platform to being THE platform, devs would create games for Steam, not for Windows or macOS or Linux.
Makes no sense for Valve to support macs at this point. Metal is closed source and MoltenVK is not exactly official. Apple has removed apps from AppStore for moltenvk claiming was using unofficial apis. Also let's not forget they dropped support for 32 bit and OpenGL makes it very difficult to implement all of the above.
Apple claims to be pro opensource but in reality takes advantage of opensource. A lot of opensource projects are run by hobbists with lower resource and it makes no sense to have to put extra work especially hacky usupported work in order to make your software work on a mac. The only way to get proper support is Apple needs to change their position and open up.
They got all kinds of levels of control now like the App store and gatekeeper that's making it increasingly difficult to get software running on macs.
A lot of people jumped on the M1 bandwagon only to find they are stuck in this locked mac ecosystem.
Except.. there are PLENTY of open source and indie games that work just fine on macOS.
And if you're using a triple-A engine like Unity or Unreal? Guess what? It's a damned checkbox.
There is no excuse other than laziness or they don't want to admit they wrote something that can't be ported because they took short cuts.
Further, while I agree Apple's marketplace is not open, you need only look at their organization account here to see they do keep what they say about opensource technology.
Don't confuse the App Store as the only way you can get software for macOS because it simply isn't.
If Valve decides to support macOS on Steam Play then Steam goes from being a distribution platform to being THE platform, devs would create games for Steam, not for Windows or macOS or Linux.
This is the biggest miss here, if you ask me. It isn't about JUST supporting macOS-only users, its about supporting all the users you can possibly support.
The return of investment is just not worth it otherwise the market would have fixed this. Also Apple fucked often enough game developers in the past (as @filipworksdev pointed out)
@obrhoff yeah the tragedy of macOS Catalina is the biggest disaster.
Indeed, based on some comments by developers, it is not currently possible to implement the same SteamPlay functionality on macOS as on Linux since Metal lacks functionality needed by Proton BUT... CrossOver has a custom version of Proton which can run quite a few games, what's stopping Valve from simply adding this custom code to SteamPlay and supporting macOS, even if it's not at the same level as Linux. It would be a great start and might motivate more devs to help out.
well, I saw their announcement for new release and they said that macOS have a bigger stumbling block compare to Linux
What is stopping Valve is sadly the amount of time in effort required for a platform missing parts and in ways actively hostile to them being there in the first place (not that the Steam app itself isn't hot garbage)
Also the amount of work to verify (or redefine and confuse) what SteamPlay means -- particularly given they are going to be selling their own SteamDeck that depends on it.
I hope it changes, but I'm not holding my breath at this point.
I don't think adding macOS support adds any more complexity, either a game is supported via SteamPlay on macOS or not. And actually having the SteamDeck it's an incentive to have macOS users jump on the platform since they could potentially play many games in both platforms.
Is no secret that Gabe Newell (co founder and president of Valve) sees Apple as the biggest threat to the game and software industry in general. In his own words:
"If you ask us which is scarier, it’s people falling in love with Apple’s model of controlling everything and having faceless bureaucrats who get to keep your product from entering the market if they don’t want it to, or designing a store in a way that minimizes software’s value-add to experience and stuff like that."
If you scour the internet you gonna see is a lot of disgruntled mac users frustrated that things don't run properly on macs and come here disliking posts taking it on devs not realizing the issue is not from us not wanting to support but more from Apple not supporting us. 😄
Apple wants to control all you can and cannot run. This is perhaps to force using Apple products only in the Apple approved way. On M1 mac, for example, Gatekeeper now blocks all apps that are not codesigned (costs $100 to get a dev account and is a painful process) and even then Apple can always drop your app if they want to.
You can dislike all you want but if you want proper mac support you need to take your fight with Apple to open up some of their apis to allow us to properly support your platforms.
Anyway dislike away 😁
Well the code sign part is false, it's a setting you can change. This is not about supporting Apple, it's about adding more potential users to Steam, which is Valve's business. There's already some partial implementation done by CodeWavers, and Valve being a big company could steer Apple to add more API's to Metal to enable this kind of support because it's in the their own interest.
@filipworksdev I dislike your posts because 1) you don't know what you are talking about (you obviously have no idea how Macs work) 2) yours (and other Apple haters') posts add no value to the conversation. Why do you people keep coming here? This is not a place for your righteous wars. A lot of people here is following the issue and the repo and keep getting your spam.
Ultimately, it's for Valve to decide if macOS is a market worth investing.
macOS Gatekeeper blocks unsigned apps but you can always enable manually and run anyway.
For average users, it's a block, and scary to touch. But nothing gamers can't learn and live with after installing Proton.
Apple's control over macOS and how users use it is just dumb-proofing, and they attract people who don't want to overthink when using computers. I think that's fair, and maybe good for those people. As a developer, I have nothing to complain, and only go back to Windows when I need something that is unsupported or unusable (games, Unreal Engine, Valve SDK...)
If Valve made a stripped-down AppStore-like Steam version, those people would buy the games!
So how is it that I'm running several directX11 titles on my m1, but valve apparently can't be bothered to support the platform despite the work being there already, and freely available? I'm not even expecting full support, but at least provide the bare minimum of support.
What is stopping Valve is sadly the amount of time in effort required for a platform missing parts and in ways actively hostile to them being there in the first place (not that the Steam app itself isn't hot garbage)
Folks say "hostile" all the time, and when asked the hostility is centered around the exclusion of OpenGL / other 32bit libraries from the OS as the primary reason.
More than a year of heads up and nearly a decade of the OS being 64bit-only isn't hostile. It's pretty dang nice of them.
I mean, it is degrees of hostile and indifferent. Apple once had Valve VR on stage (hilarious in hindsight), but also clearly doesn't like competing stores. Yet also games are not like other software, there's often no money in ongoing modernization particularly on a platform that traditionally had pretty anemic GPUs and a smaller userbase to spread these costs across. OpenGL is gone, but it's not like they support Vulkan (which, they could but they have reasons for Metal beyond just politics) that would go a long way for gaming.
Valve isn't without blame either, Steam has been an general turd as an app since it launched on Mac (good lord, the fonts). They don't seem to make developers aware of how to configure 64-bit releases in the store (so, some games are actually ported or using modernized/compatible libraries -- and just not turned on to offer that binary) And Valve certainly doesn't lead by example of getting their own titles running on 64-bit Macs in any native way.
Codeweavers is working miracles, but who knows what happens after Metal 2 goes away? There's no roadmap and its hard for them to have much predictability either. Codeweavers got 64-bit machines to run 32-bit Windows binaries, but Apple themselves couldn't be bothered. In ways this is why we like Apple's platforms which generally move fast and have high quality apps but games don't tend to get ongoing development and often the libraries they depend on get frozen in time (thus why many games don't get 64-bit releases)
Apple's the richest company on earth, if they wanted to they could probably still have an OpenGL and Vulkan implementation going as well as a lot of other things (like when they had an entire MacOS 9 compatibility layer when OS X first came on the scene) -- but they don't, so I don't think it's unfair to say they just aren't interested in the PC gaming legacy as opposed to likely getting the thousands of iOS games running on ARM Macs instead.
The real question will be whether Steam ever supports ARM at all, or if Mac Steam just lives in stasis forever where you can't run even most of their listed Mac titles on modern Macs. But it's clear Valve's attention is on Linux which is a platform it has a lot more ability to do what it feels like it needs to. And again, I wish it were different and hope to be wrong some day, and I pay for Crossover Mac myself... but this just sadly seems to be how it is.
As someone that ended up on a Mac, I too would like to see macOS support for Proton. I could set up wine32on64 and all that and run a copy of steam there too, but that's just annoying.
Are the graphics and the multithreaded performance be not as great as Linux? Yeah, definitely. But Steam isn't limited to performance-hungry AAA games, and a big disclaimer should suffice.
Heck, there is already precedent for Steam allowing games that would not run on current macOS to be downloaded. Just ask around about 32-bit being chopped.
Yeah, CrossOver is getting better but it's really annoying to have to launch 2 steam clients for different games, it would not be too hard to just integrate their work into a SteamPlay macOS Beta with a nice disclaimer.
"Annoying" does not sound like a very convincing argument for all the work it would take.
It wouldn't take that much work to implement whatever CrossOver is doing into Steam, most of their work is open source
Annoying = bad user experience.
Ideally, the mac client should launch Windows games seamlessly using Proton underneath.
It's been mentioned several times here, CodeWavers is doing all the heavy lifting regarding macOS support for Proton, we are only asking them to take this work which is mostly open source (https://www.codeweavers.com/crossover/source), and implementing it into SteamPlay for macOS. I would do it myself if Steam was open source.
@armartinez I am not an expert here but my understanding is that Proton is not quite the same. Codeweavers has helped with WINE ports for years, and does so with games where the APIs implementations are reliable to make a Mac binary from it, but this is separate from Proton/SteamPlay.
The main Proton issue is that it runs on DXVK, and MoltenVK is not always up to parity with implementing Vulkan API calls on Metal reliably. Which is needed to do modern Direct3D fast, or when games are natively built with newer Vulkan versions https://github.com/KhronosGroup/MoltenVK#moltenvk-and-vulkan-compliance
Modern OpenGL is also not available, and these are big blockages for making a mostly reliable, wider solution like SteamPlay and something that Apple has significant impact on.
@jeffbax You are correct in part, they don't create Mac binaries, they take the same upstream as Proton from DXVK and implement changes on their own to support macOS, they also add support for MoltenVK and make some more adjustments, but you can pretty much replace their version with the upstream and things work. CrossOver is just a nice GUI for WINE and the rest of the libraries. We are asking for valve to basically add CrossOver's DXVK and MoltenVK support to Proton, even if not all software is compatible, it's more than nothing. I've played almost flawlessly God of War, Halo: Master Chief Collection and Sonic Mania with CrossOver, it would love to have that directly into Steam.
Just my 5 cents: even if it wouldn't be perfect, having it in very-alpha state would be more convenient that installing and running second Steam instance through CodeWeavers.
@armartinez what you are missing is that the work Codeweavers has done for MacOS may be incompatible with the with Valve has done with proton. Same baseline code != compatible. It's likely that those changes cannot be added without significant development effort and Valve doesn't have a lot of developers working on proton anyway.
Even then, most of them are working on fixing up various issues with the Linux side of things, especially with the Steam Deck being Linux based.
On top of that, we never know when Apple will arbitrarily decide to remove support for some features/APIs those games or proton may need. Unless you work exclusively in the Apple ecosystem, it is incredibly unpredictable to develop for...... Especially in gaming.
@dhollinger well only Valve can answer that, but I really don't think so TBH, just being able to replace library files and things keep working is pretty telling to me. And yes, Apple is pretty hard to work with sometimes, I know by experience, but Metal is not going anywhere anytime soon nor Apple Silicon chips, so this is a pretty good time to support those at least.
@armartinez I saw Andrew video on YT about running windows games such as God of War on crossover. But, proton/Protonup-QT solution in Linux is simpler.
@dhollinger Maybe for right now the Proton team is small, but that going to change very soon. The entire success of the Steam Deck now relies on how well Proton can translate Windows games, so I see them about to throw many shiploads of cash into their Proton efforts in order to sell enough Steam Decks to be profitable. Unfortunately because of the crunch to push out new versions of Proton that can run more Windows games, it seems likely that the team will be less concerned with making Proton compatible with other distributions of Linux and of course the distant cousin (macOS). But with all the extra hands that will probably be hired, there are bound to be some leftover people who might wanna put in the effort of enabling broader support for these versions of Proton. Only time will tell, but it seems that several parties (Valve, Codeweavers, Epic Games, Battleye) are interested in this effort, and with the pleasant surprise of the EAC team expanding support to Linux AND macOS, let's hope more pleasant surprises come our way in the next few months.
@keef-khan Totally agree, it seems that a significant part of the industry is going to rely on Proton to support multiple platforms, it is encouraging.
I really hope with metal 3 it makes moltenvk better and helps support for mac in the future
with M1 there is a lot of potential for really powerful and power efficient gaming laptops.
Definitely hope to see proton coming to Mac one day. Crossover is fine and all, but it's not at all user friendly to use.
@BrentMifsud - This issue was opened 4 years ago ... I think the likelihood of this happening are slim ... to none ...
@EasyG0ing1 Valve's priority has been to improve Proton for the Steam Deck, but once it gets stable enough I think it's possible they add macOS support. The ball right now it's on MoltenVK side, they need to implement the new Metal 3 features that would allow for better compatibility with DX12 https://github.com/KhronosGroup/MoltenVK/discussions/1616
@armartinez I understand what you're saying ... It's just that in a small span of four years, Apple has managed to introduce significant changes to McOS, rendering it as the "difficult to support" operating system - especially in this space. This is of course nothing new for MacOS (aka OSX, System whatever etc. etc.) or Apple who kinda does their own thing without apology... what are the odds that MoltenVK gets Metal working and at the moment they're ready to support MacOS, Apple does something again to break supportability. I think four years without a Mac version says all that needs to be said ... playing catchup with donated developer time against the changes that Apple does constantly in their OS ... is a pipe dream at best.
@EasyG0ing1 yeah I hear you, it is indeed a pipe dream, but nonetheless I don't see Apple making significant changes to their processors or the software that drives it in the near future, so I'm hopeful next year MoltenVK would be up to speed with Proton functionality and that at least CrossOver picks up those changes. At that point, maybe Valve decides that a low effort to integrate those changes into Proton is worth their time.
@armartinez with Mac users being six times more abundant than Linux users (see stats) ... I think it's a worthy effort.
@EasyG0ing1 yeah I think their plan is to grow those number exponentially with good hardware, which started with the Deck and might continue with their next VR headset ( Deckard ) and possibly a desktop console. But I think if adding macOS support becomes trivial to them they'll do it, Proton actually started with macOS support.
I just read like 4 years of thread in an hour. What I'm getting is. With Steam Deck requiring proton for almost everything. maybe steam will look into it more and after perfecting it will hopefully add Mac support.
there is no point in putting proton on Mac knowing that MacOs is a closed Os. there will never be proton on mac.
@kisak-valve would you consider locking the conversation on this issue? The majority of the conversation thus far has been people arguing for or against this issue on behalf of Valve from people that have no technical insight into this at all.
Hello @GreyAsteroid, that request is not hard to consider. The direct result of locking this issue report on that basis is that people will open duplicate issue reports to express themselves in the exact same way, which will need to be closed as non-productive fragmentation of the issue. This will lead to more frustration than it would mitigate.
Hello @GreyAsteroid, that request is not hard to consider. The direct result of locking this issue report on that basis is that people will open duplicate issue reports to express themselves in the exact same way, which will need to be closed as non-productive fragmentation of the issue. This will lead to more frustration than it would mitigate.
Very good point, and we can also always point people to using CrossOver from CodeWeavers as they're the ones actually working on the equivalent thing for Mac (or also PlayOnMac for a free alternative; among others) while then also having virtualization as an option (via Parallels, VMWare, VirtualBox, etc.)
The people that want this will always ask (to your point), and it seems they're kinda just looking in the wrong place with other options already being out there for what they want (while, yes, it sure would be nice to have Proton work with macOS... there's really not much that can be done outside of a large effort to make it happen... which might not ever come.) Also, heck, I wouldn't be surprised if the efforts Proton & similar conversion layers/libraries are doing are cross-pollinating with what CrossOver has put together.
As @KZeni said.
Crossover already exists for this. But it's not at all user friendly when compared with proton.
Maybe some sort of partnership between valve and CodeWeavers is in order?
@BrentMifsud Codeweavers does already work with Valve on Proton. Due to the direction Apple has taken, though, it's not as simple as it used to be. MoltenVK would have to be used to translate Vulkan to Metal (or a new tool for DX -> Metal) and from my understanding, MoltenVK is still missing a lot of functionality needed to do the translation. Additionally, CodeWeavers mostly partners with Valve on WINE related work (IIRC) things like DXVK, vkd3d, etc are all handled by other developers that are contracted by Valve, but not explicitly employees of either Valve or Codeweavers.
Apple's decision to abandon standardized interfaces for their own is, more or less, a massive root to this problem. It creates a lot of complexity with little incentive for Valve/Others to go back and reintegrated it. Especially with the differing philosophies on how computers should work for users. Whereas Microsoft and the Linux project put a huge emphasis on not breaking user space as much as possible, Apple just doesn't care and as such their ABI tends to be in flux quite a bit with massive breaking changes almost every year. We use Macs at work and every year's MacOS update is delayed by 6+ months waiting on official Apple fixes or fixes to critical 3rd party applications that had to significantly change their application due to Apple.
People give MS a lot of crap, but most windows applications can still be run at some level due to the underlying existence of the Win32 APIs. Same with Linux Distros - the general underlying pieces are largely still there and only infrequently do things get significantly changed or removed.
IMHO at this point is easier to give support to execute x86 applications on ARM platform like Box86 and Box64 project are doing.
Integrating the work of Box86 developers into proton could give de opportunity to run steamOS on handheld devices with low battery consumption (arm-based handhelds).
Once you get arm+linux support. Doing dual boot on Asahi Linux and running steam should be easier. (we need to wait until a vulkan driver is developed first)
TLDR; instead of mac support, ARM Linux support. I hope people understand this post is not off-topic.
The easiest way to follow progress on this is looking into https://github.com/KhronosGroup/MoltenVK, which is the basis for CrossOver mac support and possibly proton on mac if it ever happens. One of the biggest advances is going to be support for geometry and mesh shaders which is expected for Q1 2023, which could make a lot of modern games work, specially UE based.
Apple's decision was bad,There is no need to put the program on the Mac.
"Apple bad, me smart" is not a valuable contribution to a GitHub issue.
Again, there is no need to develop any games for the Mac. My words have no problem.
That's a bad platform. It's a wise choice for protons to leave the mac. I don't need to make any contribution here, because it's not worth it.
First it is not possible to use Steam on macOSX because this operating system does not support Vulkan. It's not the fault of Valve but of Apple who made a different choice and did not participate in the development of Vulkan, nor AMD drivers, nor DXVK... As an Apple product user, you are subject to this decision.
Instead of wasting your energy in fruitless discussions here, instead use your energy in the development of MoltenVK and send your complaints to Apple instead.
If Apple still supports opengl4.6 and gles3.2 and supports vulkan1.3, the situation will not be as bad as it is now. It is Apple that messed up everything. They rejected all APIs and only admitted that metal has only one interface.
This also means that if your game or application wants to log on to Apple (Mac or ios), you need to force yourself to do more work to make your application compatible with metal.
Apple is now like a proud woman and says to you, if you want to pursue me, you must obey me in everything. I think the best choice you can do is to go another way and never look back at her.
Games and applications on mac and ios platforms are decreasing.
Isn't this the consequence they should bear for their pride?
@mercuriete The most recent T2 Macs are from 2019 and are still very relevant and they run on Intel not ARM. If it was 2027 it would make more sense to ignore the T2 chipset, although dual-booting into BOOTCAMP is still an option on T2, but it sucks, because you cannot wake MacOS from hibernation if you boot another OS. So no, I can not support your statement.
@RIKDXHQ11 I'm on a par with your judgement of Apple from the consumer side of view. This HN thread was quite interesting to understand their decision regardless though. They invested in their own thing for very good reasons and since the gaming market was never huge under the Apple, it's not a core problem for them to not support other APIs in favor of their own.
Metal is their own baby, created before Vulkan and optimised for Mac hardware and I doubt Metal will be dropped for those reasons, so solving this issue could give a lot of people access to great games in the long run.
The main reason that proton is not on mac os is that it's just a hell a lot work to port all these translation layers to metal and it was previously basically impractical to get good compatibility with metal 2, not sure how things are with metal 3 though. One more reason is that mac os only supports 64 bit applications, 32 bit applications are not supported at all. Wine can only function properly when the host has 32 bit libraries installed, but this is slowly changing as wine's wow64 implementation becomes functional, and capable of running graphical programs (hopefully soon).
Even as all things apple hater, I really wish for steam play to come to mac os, many people use macbooks and it just pains me to see them not being able to play games that they could easily play if they knew tools like wine and DXVK existed. Apparently heroic games launcher does have support for crossover's wine and dxvk built in to the launcher itself and people are now discovering that mac os can play windows games, albeit way fewer than what linux can do.
I admit that what I said will make many Apple users unhappy. It is blind to like a platform, just like steam fans,
They expressed dissatisfaction with the exclusive game in Epic and raised their middle finger. These people believed that if the game company did not publish the game on Steam, it would be a betrayal to them.
Understandably, but this is too extreme.
Apple's approach also angered some programmers, leading them to reject Apple.
I want to ask everyone present, if Apple is not wrong, why force players who like steam games to wait so long and rarely see AAA games landing on mac? Why force programmers in the open source community to do so much extra work to make steam's game move to the mac? Is he really right? I only believe what my eyes see. I am not a person who is dominated by my own feelings.
https://github.com/apple/homebrew-apple/tree/main/Formula maybe this could be integrated into Proton ?
I did a bit of digging and it seems it's a completely new thing but rather D12 support-patch to wine (?!) that could indeed be upstreamed due to OK licence?
Somewhat WOW if true.
Ref:
@woj-tek The D3D12 to Metal layer isn't public yet and we don't know what the license of that will be.
@K0bin ah, bummer. But still, even if that part is not public/FOSS, would it be possible to use those APIs in Steam?
The part that is FOSS is literally just Codeweavers Crossover.
if the translation layer does end up going public i hope we can start to see proton on mac again :D would be huge
@K0bin The part that is FOSS is literally just Codeweavers Crossover.
Is it though? The giant game-porting-toolkit.rb formula is based on Crossover, but there's a giant LGPL patch with:
Well I mean, the layer is indeed closed-source and only referenced thru dlopen("@rpath/libd3dshared.dylib", RTLD_LOCAL);. We can still hope a bit though: if the license for the library is good enough to be used for game publishers, it might eventually be acceptable for Proton to link to it. Maybe.
Hahhaha nevermind the license is development-only, no shipping .🤣 I don't even know what that makes the thing good for. Uh, for "comparison"??
Yep it seems Apple's intention with this is just a way for devs to preview how a game would run on macOS and make a good estimate of the effort required for porting, nothing more.
It seems like Apple's GPTK newest license allows companies to redistribute the library, that's why Whiskey and the latest CrossOver beta can use it. Shouldn't Valve be able to integrate it in Proton easily ?
It seems like Apple's GPTK newest license allows companies to redistribute the library, that's why Whiskey and the latest CrossOver beta can use it. Shouldn't Valve be able to integrate it in Proton easily ?
No, proton has lots of Linux specific code, we might see a proton version in the far future with Mac support, but it's not happening in this year. It's probably not gonna happen tho
It seems like Apple's GPTK newest license allows companies to redistribute the library, that's why Whiskey and the latest CrossOver beta can use it. Shouldn't Valve be able to integrate it in Proton easily ?
Not necessarily. As mentioned elsewhere, Proton has a lot of Linux specific moving parts that it connects together. Valve would have to create a code path for the Apple/MacOS-specific changes. While that sounds easy, that also means changing Proton to allow for multiple code paths for different Operating Systems.
Finally, as Proton is primarily a tool used to support the Steam Deck, a Linux based product, that's where most of Valve's work is likely to go.
What would be more likely would be MacOS fan forking the repo and building a MacOS version of proton themselves, but I'm not sure if the Steam Client's compatibility API is available on the MacOS client, which would also be needed.
Replying to https://github.com/ValveSoftware/Proton/issues/1344#issuecomment-1729656890
Well Proton actually started with a macOS codepath, it might be possible to restore that codepath and integrate it with the current changes and GPTK without a massive amount of work. GPTK is also based on WINE so we are talking about integration two "forks" together, not completely different implementations.
Replying to https://github.com/ValveSoftware/Proton/issues/1344#issuecomment-1729772593
That code path existed before Apple announced the end of OpenGL support. That code path may exist, but MacOS and its GFX APIs have completely changed since then and a whole new code path would be needed. Additionally, the old code path is likely using old Proton paths that also no longer exist. It would have to be rebuilt from scratch as there are too many changes to just bring it back.
Replying to https://github.com/ValveSoftware/Proton/issues/1344#issuecomment-1729656890
If anyone is gonna do it it's probably the CodeWeavers team. The only reason we have GPTK is because Apple decided to fork their open source CrossOver engine. They're essentially a group of hobbyist programmers with an annual revenue between $5 and $15 million. I don't think any other group would do it.
FWIW Crossover is already well integrated with Heroic Games Launcher, which is a home brew front end for Epic Games. It's essentially a mirror of Proton but for EGS on Mac.
Well maybe Valve can hire them :P, I'm interested if this is integrated directly into Steam Play, I'm not getting a different app to run unoptimised games, specially since it seems like Apple is really pushing to get gaming going on its platforms, but for anyone else the latest CrossOver beta or Whisky are indeed good choices.
Well maybe Valve can hire them :P, I'm interested if this is integrated directly into Steam Play, I'm not getting a different app to run unoptimised games, specially since it seems like Apple is really pushing to get gaming going on its platforms, but for anyone else the latest CrossOver beta or Whisky are indeed good choices.
Steam Play/Steam Compatibility supports unofficial tools. Valve doesn't need to hire anyone, someone just needs to build it themselves.... the bigger issue is that I'm not sure the Steam Client for MacOS supports Steam Play at all, if that's the case, then the client needs to be updated too. And that is likely more complicated than you realize.
Part of the problem is that MacOS is now a smaller userbase on Steam than Linux and Apple doesn't seem to show any interest in working with Valve on that front as they want to funnel games through the App store.
Replying to https://github.com/ValveSoftware/Proton/issues/1344#issuecomment-1729805678
Indeed I forgot that you can plug in different libraries to Steam Play, I really don't think porting that functionality to macOS would be that difficult since the actual library would be doing most of the work, I would give it a shot if Steam was open source. Of course it seems Valve is loosing interest in macOS and Apple's intentions are clear, buy once, play on all of your devices if possible, which only works with the App Store, but a guy can hope.
buy once, play on all of your devices if possible
"Buy once, play on all of your APPLE devices if possible" - FTFY.
With Steam, that's already largely there as long as you have a PC that supports the Steam client and standard GFX/SysCalls. Apple chose to go away from those standards in favor of their own.
buy once, play on all of your devices if possible
"Buy once, play on all of your APPLE devices if possible" - FTFY.
With Steam, that's already largely there as long as you have a PC that supports the Steam client and standard GFX/SysCalls. Apple chose to go away from those standards in favor of their own.
@dhollinger Obviously, Apple's goal is to maximise profit so that's the smartest move they can make.
macOS support has been removed from Proton itself: a841204
that seriously hurts. ouch.
@Buggem The comment you're quoting & the commit it's pointing to are both from Oct 2018. Apple's Game Porting Toolkit (GPTK) was introduced 6 or so months ago while Apple's GPUs & graphics APIs have been fleshed out a notable amount in recent updates, and that could certainly affect the actions Proton developers made more than 5 years ago. Still far from being a sure thing (per the other discussions above), of course, but pointing out they removed mentions of support >5 years back is somewhat irrelevant to the current situation.
@Buggem The comment you're quoting & the commit it's pointing to are both from Oct 2018. Apple's Game Porting Toolkit (GPTK) was introduced 6 or so months ago while Apple's GPUs & graphics APIs have been fleshed out a notable amount in recent updates, and that could certainly affect the actions Proton developers made more than 5 years ago. Still far from being a sure thing (per the other discussions above), of course, but pointing out they removed mentions of support >5 years back is somewhat irrelevant to the current situation.
Ok, but do you really think that 32-bit libraries are going to run on macOS?
@Buggem: Ok, but do you really think that 32-bit libraries are going to run on macOS?
Why are we circling back to 32-bit library support? Running 32-bit applications on a wine that relies on 64-bit system libraries is a solved issue. There are two ways:
wine32on64. The wine part of GPTK is built on Crossover's fork.@kisak-valve could Steam Play use Game Porting Toolkit on macOS?
@kisak-valve could Steam Play use Game Porting Toolkit on macOS?
I think that would cause some licensing issues, maybe Steam could ask you to install GPTK separately.
Their best bet is actually partnering with Isaac Marovitz since he has his own GPTK named WhiskyWine.
But WhiskyWine still uses d3metal so maybe they still need a license.
@SomeoneIsWorking
Their best bet is actually partnering with Isaac Marovitz since he has his own GPTK named WhiskyWine.
But WhiskyWine still uses d3metal so maybe they still need a license.
The only part with a problematic license is D3DMetal. The rest of it is just Wine which is licensed under the GPL and Steam already uses that for Proton. And yes, the license of D3DMetal is extremely restrictive and wouldn't allow usage in Proton.
The only part with a problematic license is D3DMetal. The rest of it is just Wine which is licensed under the GPL and Steam already uses that for Proton. And yes, the license of D3DMetal is extremely restrictive and wouldn't allow usage in Proton.
Codeweavers ships D3DMetal with Crossover so there must be a way.
It seems I've been mentioned here, so I figured I'd clarify some things.
D3DM was updated with a more permissive license after requests from the community. Originally Whisky could not bundle it either and required the user to drag-n-drop in the dmg from Apple's website. It is now fully allowed to bundle D3DM for non-commercial purposes, like Whisky.
CrossOver and CodeWeavers have a special deal with Apple (seeing as GPTK directly uses their tech, this is not surprising), that allows them to use D3DM in a paid application such as CrossOver.
This does not change the fact that D3DM is closed-source and reverse engineering is prohibited. Apple seemed unwilling to budge on this point after I and several others suggested it.
There is an open-source DirectX-Metal translation layer in development that would bypass the shortcomings of MoltenVK+DXVK called DXMT. CodeWeavers are directly sponsoring this project, but it is still very early days.
I do see a path forward for Proton, or at least a CrossOver Wine derivative, being fully supported by Steam using DXMT and MoltenVK as translation layers, but this would require support from Valve and CodeWeavers. Given Valve's hostile nature towards Apple and macOS as a platform, though, I don't see this as very likely. Valve likely does not consider macOS's market share to be big enough to be worth the dev time on supporting Steam Play.
I would be very happy if Valve proved me wrong.
Hmm… could Steam macOS client at least let downloading Windows games and configuring the launch environment (so it would be run via wine/CrossOver bottle)?
In general Steam and Windows games work fine under CrossOver, but it would be nice to not have to install another copy of Steam inside the bottle (and also native Steam client works way better then the on inside CrossOver)
(so, something like https://github.com/natbro/kaon tries to achive without so much fragile steps…)
@woj-tek I thought about this also but I think Valve either doesn't want to allow it just because stubbornness or they don't want to create a situation where they have to deal with users saying "WHAT DO YOU MEAN I NEED TO PROVIDE MY OWN TRANSLATION LAYER????"
have to deal with users saying "WHAT DO YOU MEAN I NEED TO PROVIDE MY OWN TRANSLATION LAYER????"
I think this is the case most likely… I mean - if they provide the option it should be almost completely "out of the box" experience (like they did on Linux / Steam deck). Having custom translation layer is quite "hairy". And I'd argue that majority of macOS users are on the other side of the technical saavy spectrum to Linux user base…
Alas, it still would be nice to have it as sort of advanced option not quite visible or accessible…
Having custom translation layer is quite "hairy". And I'd argue that majority of macOS users are on the other side of the technical saavy spectrum to Linux user base…
Industry has had to dumb down technical details for the average consumer since forever. Nintendo literally invented a data format (blocks) because they thought BYTES would be too hard for the average consumer to understand.
The same could be done for translation layers. Steam
Play could contact a server to see what arguments need to be passed (MoltenVK, DXVK, etc) to the layer based on what game is launching, a structured list maintained by the community. With developer buy-in, game executable for windows could include the translation layer arguments so running on Mac would instantly tell the computer how to run it.
Also considering that Apple distributes GPTK they could easily bundle this in with the OS install so it’s available to everyone and the consumer doesn’t need to do anything, Steam knows exactly where to look. Apple could also choose to bypass third party entirely and build in Windows emulation as a core part of their OS offering but that would break the laptop market and create unnecessary security risks for their users, so won’t happen. Still, the magic of being able to launch .exe-s on Mac with no hassle is a dream worth fighting for.
Also considering that Apple distributes GPTK
Don't even need it, GPTK is just Wine + d3metal but we have Wine + DXMT both open source running just fine.
The same could be done for translation layers. Steam
Play could contact a server to see what arguments need to be passed (MoltenVK, DXVK, etc) to the layer based on what game is launching, a structured list maintained by the community. With developer buy-in, game executable for windows could include the translation layer arguments so running on Mac would instantly tell the computer how to run it.
Hmm… while this is true, this still relies on Valve doing quite a lot of work and relying on community providing information. And while there is a proton compatibility db it's mostly for information and while sourced from the community it's mostly a "hint" not a solid truth, which would be required for launching a game.
And when providing the functionality Valve would have to take ownership of the feature and basically support it - that's the biggest issue (especially if the data would be community driven).
I kinda do hope that simple "magic to launch exe from mac" could be implemented for "power users" (which I still think make rather sizeable part of people using Steam on macOS) where it would be possible, with one "enable custom runtime environment" both: a) installing windows games (currently disabled) and b) using configured environment/bottle to launch such installed game.
Right now Steam just lanches the game (exe). With above option it would add the configured env (wine, crossover, etc) as a prefix to what it's launching and then the env would take over the rest. I think this is very much doable and NotThatComplicated (definitely the guide would be simpler than the one in kaon repository :) )
I'm currently playing on Asahi Linux with FEX-Emu, Steam and Proton, and it works pretty well on my Silicon mac! Of course it's not macOS, but if anybody is looking for a plausible workaround I'd suggest this is the way to go for now. Graphics drivers have heavily improved since 2023, and I'd say it's a pretty solid experience now.
It isn't no macOS, but I've had a great experience with Windows gaming on it so far.
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.