Une carte graphique NVIDIA Maxwell en Thunderbolt sur un Mac sous Yosemite

Si vous me suivez sur Twitter, vous avez sûrement vu passer les vidéos : il est possible d’utiliser les dernières générations de cartes NVIDIA avec un Mac sous Yosemite. Le fonctionnement est assez proche de ce que j’avais présenté, mais Yosemite et les dernières cartes NVIDIA nécessitent quelques ajustements.
In English.
04036056-photo-logo-intel-thunderbolt-hd

Disclaimer : Ce qu’il y a ici est surtout une preuve de concept. N’espérez pas le faire chez vous en un claquement de doigt : ça demande du matériel (environ 500 € sans la carte graphique), et de bien comprendre ce que l’on fait, étant donné que les manipulations sont à refaire à chaque mise à jour de Mac OS X. Apple peut aussi décider de bloquer la manipulation sans prévenir. Si les explications vous semblent absconses, je vais être franc : vous n’y arriverez pas. Pour le reste, j’ai testé avec un PC équipé en Thunderbolt sans succès, je vais tester avec Boot Camp (on en reparle).

Les bases (rapidement) : pour utiliser un GPU externe en Thunderbolt, il faut un adaptateur PCI-Express et (éventuellement) une alimentation. J’utilise un Vidock 3 ExpressCard, un adaptateur Sonnet ExpressCard et un câble Thunderbolt, le tout sur un MacBook Air. Je n’ai testé que sur des machines avec un IGP Intel, mais visiblement ça fonctionne avec des Mac équipés d’une carte graphique dédiée. Je vous conseille dans ce cas-là de garder la même marque (AMD ou NVIDIA). La manipulation nécessite des modifications de pilotes à chaque mise à jour mineure de Mac OS X et il faut brancher un écran externe pour que ça fonctionne.

Yosemite

Premier point important, Yosemite. Apple a ajouté une nouvelle sécurité à son OS : une signature des pilotes. Donc si vous modifiez manuellement un pilote, il ne fonctionnera plus. Il y a une ligne de commande à taper pour activer le chargement des pilotes non-signé, et elle est nécessaire.

sudo nvram boot-args="kext-dev-mode=1"

Attention, la manipulation saute en cas de reset de la PRAM et ça peut poser des soucis si votre machine a une carte graphique dédiée.

Les cartes NVIDIA Maxwell

En 2014, NVIDIA a lancé une nouvelle gamme de cartes graphiques, avec un GPU qui consomme peu, Maxwell. Les cartes actuellement disponibles sont les GTX 750 (Ti), les GTX 970 et les GTX 980.Première chose à savoir, elles ne fonctionnent que sous Yosemite, et uniquement avec les pilotes NVIDIA. Deuxième chose à savoir, toutes les sorties ne sont pas nécessairement supportées : la prise HDMI 2.0 des GTX 970 et 980 ne fonctionnent pas encore sous Mac OS X. La GTX 750 Ti (on en trouve vers 130 €) est un bon choix : elle offre des performances correctes pour le prix et se contente de l’alimentation du bus PCI-Express. Pour jouer en 1080p sans aller vers les détails les plus élevés, c’est largement suffisant. Les GTX 970 et 980 demandent une alimentation puissante et sont nettement plus onéreuses.

Une 750 Ti

Une 750 Ti


Une GTX 980 (et un écran 4K)

Une GTX 980 (et un écran 4K)

Les pilotes NVIDIA

Pour que les cartes fonctionnent, il faut les pilotes NVIDIA, mis assez régulièrement à jour. Les pilotes ne s’installent pas si vous n’avez pas une carte NVIDIA, mais pour installer la carte, il faut les pilotes, la solution est donc de modifier les pilotes (comme expliqué dans ce sujet).

Téléchargez les pilotes (ici les derniers en date pour Yosemite 10.10.1).

Ensuite, décompressez les pilotes.

pkgutil --expand WebDriver-343.01.02b02.pkg WebDriver

Allez modifier le fichier Distribution avec un éditeur de texte (par exemple TextWrangler).

Remplacez la ligne var found_hardware = 0; par var found_hardware = 1;.

Recompressez les pilotes

pkgutil --flatten WebDriver WebDriver-334.01.02b02_mod.pkg

Installez les pilotes et redémarrez.

Modifier pour le Thunderbolt

Dernière étape, un classique, il faut modifier les pilotes pour qu’ils se chargent en Thunderbolt.

Il faut ajouter deux lignes dans les trois fichiers suivants.

/System/Library/Extensions/NVDAStartup.kext
/System/Library/Extensions/IONDRVSupport.kext
/System/Library/Extensions/AppleHDA.kext/Contents/PlugIns/AppleHDAController.kext

Dans ces fichiers, il faut chercher les sections qui commencent par <key>CFBundleIdentifier</key> et ajouter, juste avant le </dict>, les deux lignes suivantes.

<key>IOPCITunnelCompatible</key>
<true/>

Maintenant, lancez Kext Utility et redémarrez et ça devrait fonctionner.

GTX 750 Ti

GTX 750 Ti


GTX 980

GTX 980

Pour rire : Valley Benchmark en 4K et en Ultra atteint quand même 22 fps en moyenne. Je pense qu’aucun “vrai” Mac n’atteint ça.

En 4K

En 4K