DriverKit API - works for GPUs?

Discussion in 'macOS Catalina (10.15)' started by crazy dave, Jun 3, 2019.

  1. crazy dave, Jun 3, 2019
    Last edited: Jun 3, 2019

    crazy dave macrumors regular

    Sep 9, 2010
    So previously a rumor stated that Apple would create a driver API to allow companies to create device drivers for users to download. There was speculation that Nvidia could use this API to create drivers for its GPUs:

    Now it is here officially:

    Does this indeed look like something that could be used to create GPU device drivers or no? While I program in CUDA, I do not interact with GPU drivers on a low-level enough basis to know what is required for a GPU driver. However, I'm concerned that DriverKit does not provide the needed functionality for the same reasons as expressed here:

    I wouldn't mind if graphical acceleration was impossible but we could use the Nvidia cards for compute ... that would be good enough for me though I know others would still be disappointed. If someone with knowledge of GPU drivers could comment, that would be great!
  2. crazy dave thread starter macrumors regular

    Sep 9, 2010
  3. LK LAW macrumors member

    LK LAW

    May 30, 2016
    In theory this is possible, it's been done on linux before, having GPU drivers in user space. Though idk if driverkit has the required APIs to achieve this, maybe there's a hacker way? Though if there was a hacky way NVidia would've done so by now, my guess is the reason that they needed apple to "approve" the driver is because they needed kernel level access.
  4. crazy dave thread starter macrumors regular

    Sep 9, 2010
    Interesting ... thanks!
  5. ASentientBot macrumors 6502


    Jun 27, 2018
    the System suitcase
    What stops them from just releasing a self-signed kext? So what if we need to turn off SIP to run it, those with a Hackintosh or unsupported Mac do this everyday.

    Is there more to this than that?
  6. crazy dave thread starter macrumors regular

    Sep 9, 2010
    All we have is speculation, but I can think of reasons they wouldn't want to do that:

    1) Supporting unsupported hardware, even if Nvidia releases it caveat emptor is a good way to get a bad reputation fast for them if things don't go well. Requiring users to turn off SIP is a poor workaround.

    2) While people are inferring from the current situation that Apple and Nvidia are on the outs with each other politically, releasing drivers that encourages people to disconnect security protections and Hackintosh/unsupported Mac users is a really good way to sour that relationship even further (if they are indeed feuding). NB: I have nothing against Hackintoshes or unsupported Macs. I'm stating that Nvidia may not want to go down that path with Apple. It's also not certain that politics is at the root cause of the current issue (i.e. that the current situation may be more to do with financial decisions than animosity between the companies) - it's just a very reasonable hypothesis that it is.
  7. frou macrumors 6502


    Mar 14, 2009
    I have to assume that NVIDIA is simply not particularly interested, since in absolute terms there is not much money to be made in aftermarket GPUs for Macs.
  8. haralds macrumors 6502a


    Jan 3, 2014
    Silicon Valley, CA
    I doubt user level drivers would work for GPUs. The whole window and API architecture runs against that.
  9. Superhai macrumors 6502


    Apr 21, 2010
    Driverkit so far is only available for USB and Network. Apple have to implement some kernel abstraction layer, which I believe will take years to be fully implemented to allow for display drivers. Display drivers surely is a low priority to move into Driverkit as very few developers outside Apple, Intel, AMD and Nvidia will have a need to write drivers to support Macs. There are benefits to have display driver in userland, especially when using egpu, so I am sure that at one point Apple will extend also those. Windows have most part of their display drivers running in userland.

Share This Page

8 June 3, 2019