-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Steam Play macOS support #1344
Comments
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: 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 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!!! |
@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? |
@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. |
I'd be willing to pay to have this functionality. Please upvote if you're too |
This comment has been minimized.
This comment has been minimized.
@RaeesBhatti Maybe tell CodeWeavers. They made paid, proprietary stuff with Wine, and help fund the project.
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) |
@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 :( |
@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. |
@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 |
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 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 ? |
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 |
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. |
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. |
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. |
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. |
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. |
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 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. |
1 similar comment
"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. |
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. |
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:
|
@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. |
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.
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 This does not change the fact that 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. |
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.
The text was updated successfully, but these errors were encountered: