Results 1 to 3 of 3

Thread: macOS Metal API

  1. #1
    Player
    Perez's Avatar
    Join Date
    Mar 2011
    Location
    Limsa Lominsa
    Posts
    75
    Character
    Aukill Faron
    World
    Shiva
    Main Class
    Gladiator Lv 60

    Question macOS Metal API

    Any chances we might see the macOS client supporting the Metal API? Some games like the Elder Scrolls Online did it and the results are pretty good
    (0)

  2. #2
    Player
    reiichi's Avatar
    Join Date
    Sep 2013
    Posts
    264
    Character
    Franz Renatus
    World
    Balmung
    Main Class
    Astrologian Lv 100
    No, almost assuredly not. Metal isn't a magical save-all and would require actually implementing a native macOS FFXIV client which is not what Square Enix did. The Mac client is actually just the Windows client, directx calls and exe files and all, with a slightly customized Wine wrapper. A lot of the time, you can even squeeze better performance from stock Wine compiled for Mac than you can using the actual Mac client, but that can lead to some weird licensing issues, as many Linux users can attest.

    The closest thing to Metal support you might see is if MoltenVK (the Vulkan to Metal compatibility layer) gets support from DXVK (the DirectX to Vulkan compatibility layer/addon for Wine). So you'd effectively then have DirectX -> Vulkan -> Metal calls being made. (Which could very well still be more performant than Apple's increasingly bad OpenGL support and lack of native Vulkan support).

    But at the end of the day, the amount of Mac-only users will not justify the costs of a native client, which is the root of the problem. You're probably better off using Bootcamp if you can or dual-booting to Linux to use Wine + DXVK or Steam's Proton wrapper (which itself is also just a fork of Wine and other things) to play the game than to use macOS.
    (2)

  3. #3
    Player
    Packetdancer's Avatar
    Join Date
    Oct 2019
    Location
    Gridania
    Posts
    1,948
    Character
    Khit Amariyo
    World
    Leviathan
    Main Class
    Sage Lv 100
    Quote Originally Posted by reiichi View Post
    The closest thing to Metal support you might see is if MoltenVK (the Vulkan to Metal compatibility layer) gets support from DXVK (the DirectX to Vulkan compatibility layer/addon for Wine). So you'd effectively then have DirectX -> Vulkan -> Metal calls being made. (Which could very well still be more performant than Apple's increasingly bad OpenGL support and lack of native Vulkan support).
    FWIW, this appears to be exactly the path the current version of CodeWeavers' Crossover system (built atop WINE) actually follows on Catalina; if you split open the current FFXIV macOS client (built atop Crossover) to get at the WINE bottle and run it in debugging mode on Cat—say, to try to figure out for someone why it's not working with Intel Iris graphics chips on Catalina any longer—you'll see DXVK initialize and then attempt to initialize Vulkan, which itself kicks off MoltenVK, and then you'll see MoltenVK initialize the Metal frameworks.

    (Which is, I'm fairly sure, actually the root cause of why it no longer works with integrated graphics on Catalina; DXVK requires Vulkan 1.1 to properly simulate DirectX 11, and the features available on an Intel Iris integrated graphics chipset via Metal are sufficient to emulate Vulkan 1.0—really, I think it's 1.02, but I don't remember offhand—not 1.1. As a result, ffxiv_dx11.exe is told that DX11 is supported, attempts to initialize DX11, kicks off DXVK, which kicks off MoltenVK, which provides a Vulkan 1.0 interface, which DXVK says isn't enough... but it's not an error that can surface in a normal manner so things apparently just attempt to reinitialize in an endless loop, and you end up with an empty black window and a program desperately trying to figure out where its graphics API has gone.)
    (1)
    Last edited by Packetdancer; 03-07-2020 at 02:30 AM.

Tags for this Thread