Une carte graphique externe Thunderbolt sur un Mac mini

Vu qu’on m’a déjà posé la question : oui, il est possible d’utiliser un eGPU (carte graphique externe) sur un Mac mini. J’ai testé récemment sur un Mac mini 2012 sans aucun souci, et la méthode est exactement la même qu’avec un MacBook Air (et a priori n’importe quel Mac).

Pour le montage, j’utilise un Sonnet Echo Express Pro couplé à un boîtier ExpressCard Vidock, mais ça fonctionne selon les retours avec les boîtiers Sonnet et d’autres, parfois en ouvrant ou en modifiant le boîtier.

Pour mon test, j’ai utilisé une Quadro 410, une carte nVidia compacte qui consomme peu (mais n’est pas performante) mais ça fonctionne avec la majorité des cartes nVidia récentes.

Côté système, il faut donc d’abord patcher trois fichiers :

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

Si vous avez une carte AMD, ça marche en patchant aussi quelques fichiers de la même façon. Ca dépend un peu des cartes graphiques, ceci dit, il faut tester. Avec une Asus R9 280X, ça ne démarre pas, avec une radeon HD 7950 Mac Edition, ça passe.

Le plus simple est d’aller dans la console et de filtrer sur IOPCI une fois la carte branchée. Avec ma Radeon HD 7950, il faut modifier les fichiers suivants.

/System/Library/Extensions/AMD7000Controller.kext
/System/Library/Extensions/AMDSupport.kext
/System/Library/Extensions/AppleHDA.kext/Contents/PlugIns/AppleHDAController.kext

Il faut aller chercher chaque fichier, ouvrir le paquet (clic secondaire -> Afficher le contenu du paquet) et ouvrir le fichier Info.plist avec un éditeur de texte qui supporte l’édition des fichiers systèmes (par exemple TextWrangler dans sa version qui ne provient pas du Mac App Store). Dans ce fichier, 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/>

Avec une carte AMD, en plus, il faut aller modifier /System/Library/Extensions/AMDRadeonX4000.kext et aller ajouter les lignes dans la section qui correspond à votre modèle. Pour une Radeon HD 7950, c’est AMDTahitiGraphicsAccelerator.

Ensuite on redémarre et la carte devrait fonctionner.

Quadro

Quadro


Un écran 1080p

Un écran 1080p

Si vous avez une carte nVidia et que la sortie DisplayPort ne fonctionne pas (c’est mon cas), il est possible d’installer les pilotes nVidia. Il faut les installer après avoir activé la carte, normalement ça devrait fonctionner, alors que sans la carte, le pilote refusera de s’installer. Une fois que c’est fait, il faut aller patcher de la même façon un des fichiers (/System/Library/Extensions/NVDAStartup.kext).

En dehors des possibles gains en performances, qui ne sont pas vraiment présents avec ma Quadro, c’est intéressant pour prendre en charge les écrans Ultra HD, notamment, avec une carte graphique qui a une sortie DisplayPort 1.2.