Inför en modulär Mac Pro sa Apple att redo ett dedikerat API för att skriva enhetsdrivrutiner

Apple förbereder en ny utvecklare API för att skriva MacOS-enhetsdrivrutiner, men vad har det att göra med ett ryktet modulärt Mac Pro som kan förhandsgranskas vid WWDC 2019 den 3 juni?

Kort sagt mycket!

9to5Macs Guilherme Rambo rapporterar att macOS 10.15 innehåller en ny API-utvecklare kan använda för att skriva enhetsdrivrutiner. Låt mig kort förklara varför det här är en mycket stor sak.

Lagernivån på enhetsdrivrutinerna låter macOS kommunicera med hårdvara som är ansluten till din dator och chips på dess logikbräda, till exempel GPU. Varje enhet, som en mus eller en skrivare, har sin egen drivrutin. Apple erbjuder ett objektorienterat ramverk för att utveckla enhetsdrivrutiner, kallad I / O Kit-ramverket, som är både modulärt och utdragbart.

macOS-arkitektur, i breda streck

En tillverkare kan använda dessa I / O-kit-resurser för att skapa en anpassad macOS-drivrutin för sin enhet på ett officiellt sanktionerat sätt. Grafikkort, PCI- och PCIe-kort, skannrar och skrivare kräver vanligtvis anpassade macOS-drivrutiner för att kunna arbeta med din dator.

När det gäller grafik är tredjepartsstöd starkt begränsat. I grund och botten skriver Apple sina egna drivrutiner - och bara för de specifika GPU: er som sänds i Mac-datorer. För några år tillbaka slutade det att använda Nvidia GPU: er helt och hållet så att nya Mac-datorer är begränsade till Intel- eller AMD-grafik.

Detta har skapat problem för kreativa proffs som ofta föredrar att dra fördel av Nvidias fantastiska grafikkort för att påskynda videoredigering och annat krävande arbete. Om du är någon som äger ett "torn" Mac Pro (det kom före den cylindriska MacPro 6,1-modellen), kan du använda Nvidias PCI-E-grafikkort internt med deras webbdrivrutin.

Nvidias GeForce GPU i en MacBook Pro från 2008

Tyvärr är det inte längre fallet med den senaste macOS Mojave-programvaran. Som ett resultat tvingas nu krävande kunder som behöver Nvidia nedgradera till macOS High Sierra, vilket låter särskilt dumt med tanke på Mojaves rika stöd för externa GPU: er eller eGPU: er.

Som AppleInsider uttryckte det:

Detta beslut har inget meningsfullt med att eGPU: er nu uttryckligen stöds i macOS. De fungerar bra i Windows, så det är inte en teknisk begränsning. Vissa uppgifter presterar bättre på AMD och andra på Nvidia, det är ett faktum av kisel. Det finns ingen anledning utöver marknadsföring och användartunnel att förbjuda användning av korten på programvarunivå.

Nej, det finns inte massor av eGPU-installationer. Ja, en bra del av dessa användare har det bra med AMD-kort. Men det är absolut alltför användarfiendtligt att inte tillåta Nvidia att släppa drivrutinerna, inte bara för framtida eGPU-användning, utan för icke-noll procent av de användare som håller den gamla Mac Pro vid liv.

Som AppleInsider separat noterade är de enda två Nvidia-korten som fortsätter att arbeta med Mojave de äldre GeForce GTX 680 och Quadro K5000-modellerna. Men varför är det så att det nu, 2019, inte finns några funktionella Nvidia-drivrutiner för Mojave alls?

Det är Apples fel, erkände Nvidia offentligt 2018:

Utvecklare som använder Mac-datorer med Nvidia-grafikkort rapporterar att efter uppgradering från macOS High Sierra 10.13 till MacOS Mojave 10.14 upplever de återgivna regressioner och långsam prestanda.

Apple kontrollerar drivrutinerna för macOS helt.

Tyvärr kan Nvidia för närvarande inte släppa en drivrutin om den inte är godkänd av Apple. Vår hårdvara fungerar på High Sierra 10.13 som stöder upp till (och inklusive) Pascal.

AppleInsider pratade med flera dussin utvecklare inuti som känner att högre nivåer i företaget dödade stöd för Nvidias högklassiga kort. Enligt en utvecklare:

Det är inte som vi har något verkligt arbete med det, Nvidia har fantastiska ingenjörer. Det är inte som att Metal inte kan flyttas till Nvidia med bra prestanda.

Någon vill bara inte ha det där.

Den "någon" förmodligen ledning.

Med andra ord, av juridiska och licensieringsskäl beslutade Apple någon gång att släppa Nvidia och använda AMD GPU: er på Mac. Men vi har fått höra att förvänta oss en modulär Mac Pro i år och "modulär" innebär förmågan att byta CPU, GPU, minne, lagring och andra komponenter.

Med det i åtanke att släppa ett modulärt pro-skrivbord som inte accepterar Nvidia-kort eftersom Apple inte tillåter Nvidia att skriva sina egna macOS-drivrutiner kommer det inte att klippa det under 2019.

Jag tror att Apple är medvetna om att de åker på tunn is. Och jag tror att de har väntat tills alla delar av detta tekniska pussel har fallit på plats innan de tog upp problemet. Därför är ett helt nytt API i macOS 10.15 för att hantera GPU / Nvidia-situationen mycket meningsfullt.

Kommit överens?

Foto: Nvidias Titan Xp fungerar på en PCI-E Mac Pro och stöds genom High Sierra