DirectX 12 Support on macOS

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • Whisky

    Discontinued A modern Wine wrapper for macOS built with SwiftUI [Moved to: https://github.com/Whisky-App/Whisky] (by IsaacMarovitz)

  • Important to note that this is different than what Codeweavers did and the timing of both their announcements is purely coincidental.

    https://www.codeweavers.com/blog/mjohnson/2023/6/6/wine-come...

    Apple did contribute to the Wine codebase and have their own translation layer.

    Performance and compatibility seem to be much better than what Codeweavers showed which is expected given the translation appears to be DXIL to MSIL instead of DX to VK to MS.

    The Mac gaming Reddit has a bunch of people posting results

    https://reddit.com/r/macgaming/hot

    And someone’s already made a tool to simplify running games

    https://github.com/IsaacMarovitz/Whisky/releases/tag/pre-0.2...

    This is also a triumph for open source imho because wine is now receiving patches for macOS directly, and it’s a symbiotic relationship that hopefully grows.

    Things look very promising.

  • wine

  • It's Wine with some special sauce (Apple couldn't reuse VKD3D because they chose to invent Metal rather than stick with OpenGL/Vulkan so they had to build their graphics translation themselves). Crossover is built on the same technology. In fact, Apple's brew script literally links to Crossover's sources: https://raw.githubusercontent.com/apple/homebrew-apple/main/...

    Things like the crypto API should be implemented if you can find the reference for your specific API calls here: https://github.com/wine-mirror/wine/tree/master/dlls/crypt32

    Apple's version of Wine is aimed at developers, though. It shouldn't take too long for someone to make an app or script to easily set up environments with the developer runtime, but I doubt they'll support it as well as Valve supports Proton. If your application of choice doesn't need any fancy graphics, there's a decent chance Wine/Crossover can already run it anyway, no need to mess with Apple's SDK.

    With the M2 Max outputting 28fps at 1080p (screenshot linked), I wouldn't expect too much from the gaming performance of this thing, though.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • darwin-libplatform

    Discontinued Legacy mirror of Darwin Platform Library. Replaced by https://github.com/apple-oss-distributions/libplatform

  • It's still not a great thing to do. Apple used to contribute a lot more, even if some of their stuff was exclusive to their platform. https://opensource.apple.com

  • box64

    Box64 - Linux Userspace x86_64 Emulator with a twist, targeted at ARM64 Linux devices

  • macOS runs x64 executables just fine through Rosetta so I don't see why Wine couldn't make use of that hardware acceleration.

    It's also possible to only simulate the entrypoints through Rosetta and then execute native aarch64 code from there. On Linux https://github.com/ptitSeb/box64 does exactly that, for example. However, with the performance Apple has been able to squeeze out of Rosetta, I'm not sure of that workaround is even necessary.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts