OpenCore ajoute l'écran de démarrage aux cartes PC installées dans un Mac

Pierre Dandumont |

Si les bidouilleurs installent des cartes « PC » dans les Mac Pro et autres iMac — en MXM —, un problème survient souvent avec ces cartes : l'absence d'écran de boot avant le démarrage de l'OS. Et les développeurs d'OpenCore proposent maintenant une solution pour quelques modèles de Mac. Soyons clairs dès le départ, elle nécessite de mettre les mains dans le cambouis.

Quelques versions de macOS sur un Mac.

Un problème d'EFI

Commençons par expliquer le problème : quand Apple a intégré l'EFI dans ses Mac en 2006, le monde PC était encore bloqué sur son antique BIOS des années 80. Pour l'affichage en dehors de l'OS, Apple a donc utilisé le standard proposé par les concepteurs de l'EFI, l'UGA (pour Universal Graphic Adapter). Une carte graphique avec un firmware compatible UGA peut afficher des images avant que l'OS ne démarre.

Quand l'UEFI a remplacé le BIOS dans les PC, un autre protocole a été choisi, le GOP (Graphics Output Protocol). Différent de l'UGA, il offre par contre une compatibilité avec les BIOS, pour les anciens PC. Les cartes « PC » sont majoritairement équipées d'un firmware GOP et ne fonctionnent donc pas en dehors de l'OS sur un Mac.

La solution magique d'OpenCore

Jusqu'à maintenant, la seule solution pour obtenir l'écran de boot et pouvoir choisir son disque de démarrage en pressant option passait par des cartes adaptées aux Mac. Il pouvait s'agir de modèles officiels (comme celles d'Apple pour le Mac Pro), de cartes pensées pour cet usage — AMD en a proposé à une époque — ou tout simplement de cartes flashées, c'est-à-dire équipées d'un firmware modifié pour ajouter la compatibilité UGA.

eVGA sortait des cartes graphiques « Mac Edition » à une époque.

La solution d'OpenCore est un peu différente : elle consiste à ajouter un morceau de code qui va faire le lien entre l'interface de l'EFI Apple et le protocole GOP des cartes. Une fois la modification effectuée, il devient possible d'avoir un écran de boot, de voir la progression du chargement, d'afficher l'écran du choix de disque ou celui de FileVault, etc.

Deux méthodes compliquées

Les explications se trouvent dans la section /Utilities/EnableGop des dernières versions d'OpenCore. Premièrement, les machines compatibles sont les Mac Pro 4,1 et 5,1 — les modèles de 2009 à 2012 —, les iMac 27 pouces de 2009, 2010 et 2011 ainsi que le 21 pouces de 2010. Il faut bien évidemment que la carte graphique ait été remplacée par un modèle « PC », ce qui est possible sur les iMac avec des cartes MXM issues de PC portables. Ce sujet des forums de MacRumors donne pas mal d'informations, dont une liste des GPU compatibles.

La modification de l'EFI (image OpenCore).

Pour les Mac Pro, la modification consiste à ajouter le pilote nécessaire directement dans l'EFI de la machine. Cette voie fonctionne aussi sur les iMac, mais elle est déconseillée : en cas de problème, la récupération de l'EFI des iMac est beaucoup plus compliquée que dans le cas des Mac Pro.

La seconde voie va passer par une modification du firmware de la carte graphique, que ce soit un modèle AMD ou Nvidia. Ce n'est pas sans risque, mais le remplacement de la carte graphique ou un flash en aveugle sont deux options plus simples que le flash manuel de la puce qui contient l'EFI.

Voilà à quoi peut ressembler une tentative de récupération d'un EFI.

Les deux méthodes nécessitent de bien connaître les arcanes des firmwares et de ne pas craindre les coupures de courant, mais les instructions sont claires pour ceux qui bidouillent un minimum. Pour terminer, nous n'avons pas effectué la modification faute de Mac compatible sous la main. Mais si le cœur vous en dit, nous acceptons les photos.

Tags
avatar pelipa91 | 

J’ai un vieux MacPro 2009
Je tenterai p-e le coup lorsque les risques de coupures de courant seront passés. Merci pour l’information 👍🏻

avatar radeon | 

Pour avoir flashé une carte pc à l’époque sur mon Mac Pro 1.1, le premier conseil qu’il est indispensable de suivre c’est de faire un backup du firmware d’origine de la carte à flasher.

Ensuite si ça peut en aider d’autres, on peut tjrs booter sous freedos avec une seconde carte graphique pour récupérer un flashage qui a foiré.

Et oui ça précipite le blanchiment capillaire ^^

avatar loll | 

Vu que OpenCore peut ajouter un menu de boot (texte ou GFX) Quelle que soit la carte graphique, je ne vois pas trop l'utilité de cette bidouille GOP... en dehors de Filevault.
Dans mon cas, mon cMP4,1 boote sur OC, même si ma carte RX580 est compatible avec le menu de boot Apple (que je n'utilise plus en fait), afin d'utiliser les versions OSX non supportées par Apple sur ce vieux Mac... (Ventura inclus, cela depuis quelques jours).

avatar ⚜Dan | 

@loll

Un hackintosh peut bien avoir une RX580 + Ventura. Je ne comprend pas.

avatar ⚜Dan | 

Juste préciser que Opencore et Opencore legacy patcher ne sont pas les même, au cas où quelqu’un allait se lancer.

avatar Faabb | 

@⚜Dan

Aah ! C’était pas clair pour moi !
Par contre, les cartes « compatibles » restent cantonnées à celles pour lesquelles il y a un pilote macOS compatible mais ça permet éventuellement de booter sous Linux ou Windows avec une nvidia?

avatar Javelin | 

Cette manip n'a pas grand intérêt si vous voulez passer un MacPro de 2009 à 2012 jusqu'à Monterey , ( on voit même arriver les premiers "Ventura") mettez une RX580.

Avec l'Open Core version Martin Lo c'est du plug and play.
pour "monter en carte" cela devient plus compliqué ... alimentation voire effectivement flashage

avatar Change | 

Sinon ne pas se faire ch*er, ça fonctionne aussi très bien 🤩

CONNEXION UTILISATEUR