MacOSX Graphics Drivers - who writes them?

nenforcer

Golden Member
Aug 26, 2008
1,767
1
76
I know the support of video cards for MacOSX is very hit and miss with even a special BIOS needed on the graphics card itself to function on MacOSX.

This must have to do with the special licensing agreements Apple requires for each hardware release whether it be Macbook, Macbook Pro, Imac, Mac Pro, etc.

Does anyone know if Apple exclusively writes the graphics drivers "OpenGL", etc. themselves or is there some sort of agreement from the OEM's i.e. ATI/AMD and Nvidia whereas they license a certain portion of the lowest level stuff from the OEM's.

Clearly there is a performance difference between the MacOSX OpenGL drivers for Steam games when compared to their PC (Windows) counterparts.

I know Apple is big on OpenCL and have written their own compiler for it?

Yet I know you can also download CUDA drivers / development kit for MacOSX so nVidia must have some ability to develop for themselves on the platform.

I imagine the complexity of modern GPU / APU the graphics drivers are written by the GPU providers themselves and then "licensed" to Apple.
 
Last edited:

Schadenfroh

Elite Member
Mar 8, 2003
38,416
4
0
I am leaning towards nVidia and AMD writing the drivers and handing them to Apple for approval. Writing your own drivers would be a waste of time and resources for Apple as they lack the expertise and pre-existing code.
 

nanaki333

Diamond Member
Sep 14, 2002
3,772
13
81
I am leaning towards nVidia and AMD writing the drivers and handing them to Apple for approval. Writing your own drivers would be a waste of time and resources for Apple as they lack the expertise and pre-existing code.

surely apple has somebody at one of their many genius bars to handle writing drivers!
 

dunno99

Member
Jul 15, 2005
145
0
0
Apple used to write their own drivers. Don't know about now, but I suspect the same. They definitely have the expertise -- who else would code up the Apple-specific extensions for the iOS devices?

That and it only takes one or two knowledgeable people to do it -- I even know a few that can easily do it. The difficulty with implementing an OpenGL driver is really all the standards-conformation and dealing with virtualization/working alongside the OS (i.e. if the app crashes, it can't drag down the OS's rendering with it -- they're all rendering to the same device!). The hardware is actually the easy part.
 

Outrage

Senior member
Oct 9, 1999
217
1
0
you should hire your friends and start a company, you could sell drivers to amd/nvidia and make a fortune rather fast..... if it was that easy.
 

ViRGE

Elite Member, Moderator Emeritus
Oct 9, 1999
31,516
167
106
Considering the driver strings in the NV drivers and the fact that they've been known to release updates separate from Apple, it's clear that Apple isn't doing the primary development of NVIDIA's Mac OS X drivers. At the most they're getting the common core and then attaching the appropriate Mac OS X bits to it.

What's more likely is that Apple is going to NV & AMD with their requirements.
 

dunno99

Member
Jul 15, 2005
145
0
0
you should hire your friends and start a company, you could sell drivers to amd/nvidia and make a fortune rather fast..... if it was that easy.

It's easy for them, as in they know what needs to be done, and none of it requires tons of problem solving skills at or beyond their capabilities. What's not enticing is that it's really tedious work. To them, it's like asking, "Can you flip a burger for 16 hours a day? Yes? So do you want to do it if I paid you $300k/yr? Oh, no?" These people can all find much more fulfilling jobs that pay the same, if not more.

That and I don't know how you came to the conclusion that selling drivers to amd/nvidia will make you a fortune.
 

dunno99

Member
Jul 15, 2005
145
0
0
Considering the driver strings in the NV drivers and the fact that they've been known to release updates separate from Apple, it's clear that Apple isn't doing the primary development of NVIDIA's Mac OS X drivers. At the most they're getting the common core and then attaching the appropriate Mac OS X bits to it.

What's more likely is that Apple is going to NV & AMD with their requirements.

It's very possible that Apple is using some sort of interface code from nVidia/AMD. However, I doubt nVidia and AMD are writing Apple's drivers...yet.

Remember the most "difficult" part about drivers isn't dealing with the hardware -- it's actually dealing with the OS/virtualization and handling resource usage, all of which fall on Apple's plate, since it's the author of OSX.

And to preemptively stop people from going down an argument route: If someone wants to try and define a "core" of the driver and claim that whomever wrote that core is the "ultimate author" of the driver, then that's like saying the core of the car is the engine, and everything else is irrelevant/icing on the cake. Therefore, it could very well be a joint effort, and no one party is solely responsible for everything.

Do note that the graphics API on the PS3 isn't called a "driver" at all (or even DirectX on the 360). Therefore, I think we can safely conclude that a driver is much more than just the software interface/abstraction to the hardware.
 

ViRGE

Elite Member, Moderator Emeritus
Oct 9, 1999
31,516
167
106
It's very possible that Apple is using some sort of interface code from nVidia/AMD. However, I doubt nVidia and AMD are writing Apple's drivers...yet.

Remember the most "difficult" part about drivers isn't dealing with the hardware -- it's actually dealing with the OS/virtualization and handling resource usage, all of which fall on Apple's plate, since it's the author of OSX.

And to preemptively stop people from going down an argument route: If someone wants to try and define a "core" of the driver and claim that whomever wrote that core is the "ultimate author" of the driver, then that's like saying the core of the car is the engine, and everything else is irrelevant/icing on the cake. Therefore, it could very well be a joint effort, and no one party is solely responsible for everything.
It very well could be a joint effort. Apple is definitely using NV's common core (like I said the strings give it away), but the layer between the core and the OS is up in the air. The only reason I question that Apple is doing any of the work is because NVIDIA has released their own driver updates before - it would seem odd to have them distributing Apple's work.

Though I think you underestimate the complexity of drivers. NVIDIA's Windows drivers are over 100MB, and it's not the Windows interface that makes it so big. Modern GPU drivers are basically miniature OSes; resource allocation, thread scheduling, etc all need to be handled by the drivers. Every part of a GPU driver is difficult.:p
 

Outrage

Senior member
Oct 9, 1999
217
1
0
It's easy for them, as in they know what needs to be done, and none of it requires tons of problem solving skills at or beyond their capabilities. What's not enticing is that it's really tedious work. To them, it's like asking, "Can you flip a burger for 16 hours a day? Yes? So do you want to do it if I paid you $300k/yr? Oh, no?" These people can all find much more fulfilling jobs that pay the same, if not more.

That and I don't know how you came to the conclusion that selling drivers to amd/nvidia will make you a fortune.

Yeah, i know what needs to be done to build a formula one car also, but i wouldent be able to win a single race anyway.

Just take a look at the open source communitys efforts into building an open source driver for amd, they even get a lot of help and documentation from amd about how there cards work, they are still far behind amds own closed driver

and while your at it, take a look at the development of open source driver for nvidia, and how thats going.

There is a reason amd and nvidia dont release there drivers as open source, there are a lot of complicated things going on in them that they dont want to give away to the competition.

so if you and your friends teamed up with amd or nvidia that would give them a big advantage over the other, if it's as easy as you say to write drivers that take maximum advantage of the hardware.