Live data from Hacker News

Apple's game porting toolkit is fantastic. Cyberpunk 2077 at Ultra on an M1 MBP

twitter.com

21–30 of 380 posts

Re: Apple's game porting toolkit is fantastic. Cyberpunk 2077 at Ultra on an M1 MBP

#21

This actually makes me wonder if I should sell my Apple stocks, that they even put out something like this (even if only as an "evaluation tool" and based on CrossOvers GPL code) screams as an validation that there is enough developers ignoring Apple/Metal that they're actually starting to hurt from a lack of titles. Sure, everyone doing Unity or Unreal will probably have the middleware take care of the biggest diffe…

Apple has video games, there are probably more people playing games on iPhone than ps5/Xbox combined. Many very popular Moba/eSports titles also work on Mac (LoL, all things blizzard, cs:go). The fact that there aren't many AAA games (that you can play on consoles anyway, not your laptop) is not a problem for Apple.

Re: Apple's game porting toolkit is fantastic. Cyberpunk 2077 at Ultra on an M1 MBP

#23

This actually makes me wonder if I should sell my Apple stocks, that they even put out something like this (even if only as an "evaluation tool" and based on CrossOvers GPL code) screams as an validation that there is enough developers ignoring Apple/Metal that they're actually starting to hurt from a lack of titles. Sure, everyone doing Unity or Unreal will probably have the middleware take care of the biggest diffe…

You're gonna sell your stocks in the most successful tech company of all time because they don't have enough video games? I think Apple has proven they can grow a company's value without games. But what we all want is a larger investment in games so the Mac becomes a competitive platform again. Not to mention the headset... we'll see, but there is no reason to expect it won't be an insane commercial success by gen 3.

> But what we all want is a larger investment in games so the Mac becomes a competitive platform again.

As a Mac-only user, I really don’t care about games. I guess it’s cool if they work on it, but I wouldn’t want Apple diverting resources away from other areas to try and make it a gaming device.

Re: Apple's game porting toolkit is fantastic. Cyberpunk 2077 at Ultra on an M1 MBP

#24
post #2

What is the game porting toolkit? Is this something that game devs would use or is this some wrapper or emulation layer for the end user? Is there a list of games that use it?

Apparently it’s a emulator like Proton as used by Steam to run Windows games on Linux. It even uses Rosetta to run x86_64 core on ARM. But it’s not intended for end users. Instead it’s intended for developers to evaluate how their game would run on macOS so they can decide wether or not to port it.

Wine (and Proton) is not an emulator

Re: Apple's game porting toolkit is fantastic. Cyberpunk 2077 at Ultra on an M1 MBP

#25
From what I gather, Game Porting Toolkit is two things - a fork of Wine, and their own adaptation/extension of open source projects for DirectX compatibility. Some observations:

Windows compatibility:

* Windows platform compatibility is achieved with a slightly patched version of Codeweavers' Wine fork - virtually all of the hard work of Windows compatibility has been achieved by the Wine developers and Codeweavers and was already available open source before today.

* Interestingly, Apple is distributing this thing as a Homebrew library. Has Apple ever done this before? [1]

DirectX compatibility:

* In addition, outside of the core Wine based stuff, there's a framework called D3DMetal.framework. This is a DirectX 9-12 compatibility layer akin to DXVK used in Proton as a compatibility layer from DirectX 9-11 to Vulkan. This is what seems to be the game changer here compared to before. Before today, running DirectX on macOS was possible but lost a lot of performance and compatibility needing to go through Apple's old OpenGL support or a third party Vulkan intermediary layer in MoltenVK. This is direct (heh) first party Direct3D to Metal translation.

* Actually, it's more than "akin to DXVK". The D3DMetal.framework contains copyright attribution to DXVK as required under their MIT license. It's quite likely Apple ported a lot of DXVK to Metal. It's worth noting that DXVK itself doesn't support Direct3D 12 though, Proton uses another LGPL2.1 licensed library called VKD3D for that.

* However, D3DMetal.framework is very much not open source itself. Its license is actually very restrictive, seemingly only permitting use for game development/QA use cases. [2]

* The restrictive license seems to make it harder for someone like Valve to use this akin to how they use Proton on Linux in a sanctioned way. Apple seems intent on preventing developers from dumping their games on macOS with just their compatibility layer. It definitely won't stop hobbyists making better tools to continue run Windows games on Macs though.

* The fact that D3DMetal.framework appears to support DirectX 9 and 10 is interesting. No new commercial efforts use those anymore, so that's just there for what? Allowing homebrewers to run their 00s era Windows games?

[1]: https://github.com/apple/homebrew-apple/tree/main/Formula

[2]: It contains a license with the following language - "you are granted a limited, non-exclusive, non-transferable, personal copyright license to (i) install, internally use, and test the Apple Software for the sole purpose of developing, testing, or evaluating video games for use on Apple-branded products".

Re: Apple's game porting toolkit is fantastic. Cyberpunk 2077 at Ultra on an M1 MBP

#26

Earlier quoted context omitted.

According to CodeWeavers, it is based on their CrossOver code (GPL 2.1) and can be committed back into Wine: https://www.codeweavers.com/blog/mjohnson/2023/6/6/wine-come...

It uses a proprietary framework that implements Direct3D on top of Metal: https://news.ycombinator.com/item?id=36224057

Your link confirmed that it uses wine. And your description sounds exactly like how codeWeavers wine implements direct 3D upon opengl.

I imagine it’s simply a proprietary product based on liberally licensed (LGPL) open source code, much in the same way Safari was built upon KHTML.

Re: Apple's game porting toolkit is fantastic. Cyberpunk 2077 at Ultra on an M1 MBP

#27
post #8

Running at ~40 fps on M2 Max: https://www.reddit.com/r/macgaming/comments/1435ukq/cyberpun...

Nice, imagine all these games on an iPad…

On iPad they would need their controls redone; it's possible, but an extra step.

I'm also getting the feeling the ipad is quickly running out of favor, I haven't seen one in ages except on my parents' dinner table.

Re: Apple's game porting toolkit is fantastic. Cyberpunk 2077 at Ultra on an M1 MBP

#28
post #8

Running at ~40 fps on M2 Max: https://www.reddit.com/r/macgaming/comments/1435ukq/cyberpun...

Nice, imagine all these games on an iPad…

Imagine all these games on an Apple TV… I’m assuming at some point those will also start using M chips. Excited to see if apple can enter the console market.

Re: Apple's game porting toolkit is fantastic. Cyberpunk 2077 at Ultra on an M1 MBP

#29
post #25

From what I gather, Game Porting Toolkit is two things - a fork of Wine, and their own adaptation/extension of open source projects for DirectX compatibility. Some observations: Windows compatibility: * Windows platform compatibility is achieved with a slightly patched version of Codeweavers' Wine fork - virtually all of the hard work of Windows compatibility has been achieved by the Wine developers and Codeweavers a…

It's sad that D3DMetal isn't open source. Worth noting that this stuff is exactly why people should strongly consider using a copyleft license. It's pretty annoying that nobody can build on top of Apple's work here or incorporate any improvements into DXVK, but that's the license the DXVK project chose.

Re: Apple's game porting toolkit is fantastic. Cyberpunk 2077 at Ultra on an M1 MBP

#30
post #25

From what I gather, Game Porting Toolkit is two things - a fork of Wine, and their own adaptation/extension of open source projects for DirectX compatibility. Some observations: Windows compatibility: * Windows platform compatibility is achieved with a slightly patched version of Codeweavers' Wine fork - virtually all of the hard work of Windows compatibility has been achieved by the Wine developers and Codeweavers a…

> Windows platform compatibility is achieved with a slightly patched version of Codeweavers' Wine fork

If by "slightly patched" you mean "DirectX 12 support on Apple Silicon was added, then sure.

Codeweavers recently announced their own effort to support DirectX 12, but so far only one game, Diablo II Resurrected, works with it.

Post reply on HN