J’ai failli craquer après avoir testé l’excellent Mac mini M1 pendant deux mois, mais je n’ai pas encore tout à fait abandonné mon hackintosh. Profitant d’avoir deux Mac sous la main [enfin, un vrai Mac et un faux, ndlr], je l’ai mis à jour pour lui permettre de remplir son rôle de Mac principal pour quelques mois encore. Si vous avez raté les épisodes précédents, vous pouvez tout savoir sur mon hackintosh depuis sa création à cette adresse.
Par rapport à la tour que j’ai montée en plein mois de juillet 2016, peu de composants ont changé. Le processeur est toujours un Core i5 de la génération Skylake, la plus récente à l’époque. Deux ans après, j’ai remplacé la carte graphique Nvidia par un modèle AMD pour me rapprocher des Mac en bénéficiant des pilotes fournis par Apple. Et il y a un petit peu plus d’un an, j’ai opté pour un SSD NVMe pour me rapprocher des performances des Mac récents.
Depuis, il ronronne gentiment sous mon bureau et ne me pose aucun problème majeur, mais j’ai choisi de profiter du passage à macOS Big Sur pour toucher à ses fondations en changeant de bootloader. Pourquoi et comment ? On voit ça ensemble !
Pourquoi abandonner Clover au profit d’OpenCore ?
Un hackintosh, c’est un ordinateur qui n’est pas vendu par Apple sur lequel on installe macOS. Cette possibilité a été ouverte quand le constructeur est passé sur des processeurs Intel en 2006, ce qui a considérablement rapproché les Mac des ordinateurs sous Windows, en tout cas sur le plan matériel. macOS n’est adapté que pour les composants utilisés dans les Mac et le système ne peut pas être installé comme son concurrent sur n’importe quelle machine x86.
Le bootloader est une app de bas niveau qui se charge de faire l’intermédiaire entre le matériel et le logiciel. Dans un hackintosh, c’est lui qui simule un Mac à partir de pièces qu’Apple n’a pas choisies et c’est ainsi lui qui permet à macOS de s’installer puis de démarrer. Plusieurs solutions ont existé pour assurer ce rôle, mais Clover a longtemps été le standard et c’est lui que j’utilisais depuis le montage de mon hackintosh.
Clover est simple d’accès, c’est sa plus grande qualité, mais il a aussi des défauts. Je ne vais pas les détailler tous ici, mais sachez que sa logique est différente de celle du bootloader d’Apple, ce qui complique son fonctionnement et peut introduire des instabilités. J’ai pu le constater moi-même après avoir ajouté un SSD NVMe à mon hackintosh, j’avais de temps en temps un kernel panic lié aux pilotes gérés par Clover, problème qui a entièrement disparu suite à cette opération de maintenance.
OpenCore est un bootloader en développement depuis 2019 qui est appelé à remplacer Clover à terme. Il respecte la philosophie de celui d’Apple et opte pour une configuration plus stricte. Cette approche a de nombreux avantages, listés à cette adresse : il est plus rapide au démarrage, plus stable, plus sûr et plus complet, puisqu’il peut aussi fonctionner avec le chiffrement FileVault 2 et sans désactiver SIP. Tout n’est pas rose toutefois, car ce nouveau-venu est plus complexe à configurer initialement et il est aussi en développement constant, si bien que chaque mise à jour nécessite plus de soin et d’attention.
Cela dit, Clover n’est pas épargné par les mises à jour qui cassent les hackintosh, j’en ai fait les frais moi-même. Mais ce qui a fini de me convaincre de passer à OpenCore, c’est que ce dernier est indispensable pour macOS Big Sur. À tel point que son moteur a été intégré à Clover cet automne et c’est lui qui se charge de démarrer le système. Dans ces conditions, autant basculer entièrement sur le nouveau bootloader, mais je savais que la tâche allait être complexe et me demander du temps.
En effet, Clover s’est accompagné au fil des années de multiples guides et outils pour faciliter son installation et sa gestion. En utilisant une app comme Clover Configurator, on peut tout faire avec des interfaces graphiques rassurantes. Cette app configure le bootloader, elle gère les numéros de série essentiels au bon fonctionnement de macOS et de multiples apps et elle peut même installer, puis mettre à jour les extensions du noyau et autres pilotes tout aussi indispensables.
Face à cette approche grand public, celle d’OpenCore va en refroidir plus d’un. Ses créateurs refusent au contraire que leur outil soit simple à utiliser, leur objectif est plutôt de faire de la pédagogie en forçant les utilisateurs à comprendre ce qu’ils font et même à chercher de l’aide par eux-mêmes. De ce fait, ils mettent en garde contre l’utilisation d’outils clés en main, tel qu’OpenCore Configurator, du même développeur que Clover Configurator. Ce type d’outils n’est pas toujours adapté à la dernière version du bootloader et ils incitent fermement sur la nécessité de configurer à la main son hackintosh.
Si cela ne suffisait pas, ils précisent bien que le projet est en bêta, que son développement est encore actif et qu’une mise à jour peut nécessiter des ajustements conséquents de la configuration. Toutes ces mises en garde n’ont pas suffi à me décourager, mais j’insiste sur le fait que ce n’est pas une mince affaire et qu’il vaut mieux avoir du temps devant soi pour le faire. Pour vous donner une idée, il m’a fallu une bonne journée de travail pour convertir mon installation de Clover à OpenCore.
Comment passer de Clover à OpenCore
Je ne vais pas détailler ce que j’ai fait, car ça n’aurait pas d’intérêt pour votre hackintosh, sauf si vous avez exactement la même configuration que moi. Je vais rapidement évoquer les différentes étapes du processus, en glissant ce que j’ai appris au passage. Mais vous n’y couperez pas, une lecture attentive du guide d’installation sera un passage obligé pour adopter OpenCore. Prenez votre temps et soyez attentif à toutes les informations qu’il contient, sous peine d’obtenir un hackintosh hors service.
Formater une clé USB pour démarrer sur OpenCore sans risque
N’allez pas modifier directement le volume EFI de votre hackintosh pour supprimer Clover, ce serait la recette parfaite pour un désastre. À la place, dépoussiérez une clé USB pour créer une configuration OpenCore à part et pour démarrer l’ordinateur sur cette clé dans un premier temps. C’est un bon conseil d’ailleurs, gardez toujours sous la main une clé USB avec un bootloader fonctionnel, cela vous donnera une voie de sortie en cas de problème.
Le formatage d’une clé USB ne change pas entre Clover et OpenCore. Vous devez la formater avec l’Utilitaire de disque de macOS en choisissant le format « Mac OS étendu (journalisé) » et le schéma « Table de partition GUID ».
Deux remarques à ce sujet, car je me fais toujours avoir :
- L’Utilitaire de disque affiche désormais les volumes et non plus les appareils dans sa barre latérale. Pour formater la clé USB elle-même, vous devez cliquer sur la commande « Afficher tous les appareils » dans le menu « Présentation », ou utiliser le raccourci
⌘é
. Son nom devrait alors apparaître dans la barre, cliquez dessus et choisissez l’option « Effacer ». - Même si vous n’avez pas besoin d’une grosse clé USB, prenez-en une de 4 Go au minimum, sinon la partition EFI indispensable ne sera pas créée. Pour ma part, j’ai acheté un modèle de 32 Go car il ne coûte que 6 €, mais n’importe quelle clé d’au moins 4 Go de stockage fera l’affaire.
Une fois la clé formatée, vous devez monter sa partition EFI, par exemple grâce à l’utilitaire en ligne de commande MountEFI proposé par corpnewt, auteur de plusieurs outils recommandés dans la documentation d’OpenCore. Les instructions sur la page du projet sont assez claires, mais sachez qu’il faudra passer par le terminal. Si vous ne vous en sentez pas capable, mieux vaut éviter OpenCore pour le moment, c’est quasiment impossible de faire sans.
Installer et configurer OpenCore sur la clé USB
Le guide officiel d’OpenCore explique comment créer une clé USB pour installer macOS et transformer un PC vierge en hackintosh. Si vous voulez passer votre hackintosh existant à OpenCore, vous n’avez pas besoin de suivre les instructions liées à l’installateur de macOS, vous pouvez uniquement installer et configurer le bootloader.
Le guide est assez bien détaillé pour s’en sortir facilement. Cette section explique comment télécharger les fichiers de base et surtout comment les nettoyer ensuite pour avoir une configuration de base correcte. Vous devrez ensuite récupérer plusieurs éléments importants, notamment les extensions de noyau sans lesquelles macOS ne démarrera pas. Tous ces fichiers sont accessibles via des liens listés sur cette page. Même si ces fichiers sont identiques entre Clover et OpenCore, je vous recommande de repartir de zéro, à la fois pour les mettre à jour et parce que certains éléments ne sont plus nécessaires.
L’étape la plus complexe vient ensuite : la création du fichier de configuration config.plist
. Il existe aussi avec Clover, mais OpenCore est nettement plus exigeant parce que seuls les éléments qui y sont listés seront chargés pendant la procédure de démarrage. Il faut bien retenir cette différence fondamentale : avec Clover, il suffit d’ajouter une extension du noyau dans le bon dossier pour qu’elle soit chargée au lancement de macOS. Avec OpenCore, il faut non seulement l’ajouter au dossier, mais en plus la renseigner dans le fichier de configuration.
C’est pour cette raison qu’il est préférable d’utiliser ProperTree, un outil graphique développé en Python qui ne gagnera aucun concours de beauté, mais qui dispose d’une fonction bien utile. Il est capable de lire le dossier d’OpenCore et d’insérer dans la configuration les fichiers que vous avez téléchargés à l’étape précédente avec la bonne syntaxe, au bon endroit et dans le bon ordre. En soi, vous pourriez vous en passer et faire tout à la main, mais c’est le meilleur moyen de faire des erreurs.
La procédure est détaillée sur le site officiel : vous partirez du fichier d’exemple fourni avec OpenCore, puis vous chargerez toutes les extensions et pilotes nécessaires avec ProperTree et il vous restera ensuite à modifier la configuration selon la génération de votre processeur. J’ai un CPU Skylake, j’ai suivi les consignes données sur cette page. Chaque génération a des instructions spécifiques, ne vous trompez pas de guide.
Un point important si vous mettez à jour un hackintosh : vous n’avez pas besoin de générer de nouveaux numéros de série pour OpenCore. Au contraire, vous avez tout intérêt à reprendre ceux utilisés avec Clover pour éviter de perdre du temps ensuite à configurer à nouveau iCloud et gérer les problèmes de licences pour toutes les apps qui reposent sur cette information.
Quand vous pensez avoir un fichier de configuration complet, redémarrez votre hackintosh en sélectionnant la clé USB comme partition de démarrage et croisez les doigts ! 🤞
Tester et corriger tous les problèmes rencontrés
Si tout va bien, votre hackintosh démarrera normalement à partir de la clé USB. C’est le signe que vous pouvez alors monter la partition EFI de l’ordinateur, sauvegarder son contenu une toute dernière fois par sécurité, puis supprimer la configuration de Clover et installer celle d’OpenCore à la place. Redémarrez cette fois sans la clé USB, vérifiez que tout fonctionne encore et vous pouvez passer à la suite ! Un scénario idéal, qui n’est pas forcément celui que vous connaîtrez…
Dans mon cas, je n’ai pas pu démarrer immédiatement sur la clé USB configurée avec OpenCore et il m’a fallu passer un petit peu de temps pour tout débloquer. La configuration préconisée par le guide active un mode verbeux qui affiche en détail ce qui se passe au démarrage. Grâce à ces informations, il est assez facile de s’en sortir, même s’il faut taper à l’aveugle.
Faites des recherches avec les termes des derniers messages affichés à l’écran. La difficulté, c’est que ce n’est pas nécessairement le dernier message qui contient l’information sur l’erreur, c’est parfois plusieurs lignes au-dessus que vous trouverez l’élément qui pose problème. Sur la photo donnée en exemple plus haut, le plus important est le message « AppleNVME Assert failed », ce qui indique que l’erreur est lié à la gestion des SSD NVMe, pour vous donner un exemple.
Il m’a fallu plusieurs recherches pour éliminer toutes mes erreurs. J’ai notamment corrigé des valeurs mal renseignées dans le guide de Skylake et signalées dans ce sujet Reddit. Impossible de prévoir ce que vous pourriez avoir, mais tant que le Mac ne redémarre pas normalement sur la clé USB, continuez vos recherches pour modifier la configuration d’OpenCore et trouver la bonne.
Post-installation simplifiée depuis Clover
Comme avec Clover, une « post-installation » est nécessaire une fois que la configuration initiale est correcte. Les créateurs d’OpenCore proposent à nouveau un guide très complet, mais vous n’aurez pas besoin de tout refaire si vous aviez un hackintosh fonctionnel. Je vous recommande de suivre les étapes pour alléger le démarrage et éliminer l’affichage de tous les messages. Vous pouvez aussi configurer l’interface graphique, absente par défaut, pour que ce soit plus agréable.
OpenCore essaie de rester aussi proche d’Apple, ce qui se retrouve aussi sur cette interface de démarrage et son fonctionnement. Ainsi, le volume de démarrage sélectionné par défaut est défini dans macOS, dans les Préférences système, puis le panneau « Disque de démarrage ». Cela simplifie aussi les procédures de mise à jour, les redémarrages se font toujours correctement, contrairement à Clover qui pouvait parfois s’emmêler les pinceaux.
Si voulez reproduire l’expérience du démarrage d’un Mac officiel, il est même possible de définir un son de démarrage avec OpenCore. Clover le permet aussi depuis quelques versions et je dois dire que je ne me suis pas embêté à le configurer, déjà parce que je n’éteins jamais mon hackintosh et ensuite parce que je l’utilise toujours avec un casque que je ne porte pas quand il démarre. Mais si cela vous intéresse, suivez les instructions données ici.
La gestion des ports USB n’est pas simplifiée par OpenCore, mais vous pouvez reprendre ce que vous aviez avec Clover. Dans mon cas, j’ai gardé l’extension de noyau que j’avais créée en 2016, optimisée spécialement pour ma carte-mère et mes besoins. Si vous n’avez pas fait ce travail, il vous reste comme toujours deux options :
- garder le fichier
USBInjectAll.kext
en place pour activer tous les ports USB et gérer les problèmes éventuels quand ils arriveront ; - créer votre configuration, ce qui peut être partiellement automatisé à l’aide de l’outil USBMap (le mot clé ici étant partiellement).
Si vous venez d’un hackintosh avec Clover, vous devriez rapidement trouver un hackintosh fonctionnel avec OpenCore. Le son, le Wi-Fi, le Bluetooth et même iMessage devraient toujours fonctionner comme avant, ce qui accélérera la post-installation. De mon côté, j’ai surtout pris le temps de configurer l’interface graphique au démarrage et j’ai tenté d’activer la prise en charge des DRM vidéo, mais j’ai vite abandonné, n’en ayant jamais l’utilité. L’accélération graphique fournie par le GPU Intel fonctionne correctement, ce qui est plus important pour de bonnes performances.
Des mises à jour de macOS aussi faciles que sur un Mac
Configurer OpenCore n’est pas une partie de plaisir, je ne vais pas dire le contraire. Clover conserve l’avantage de la simplicité, mais la contrepartie est évidente à l’usage. Avec OpenCore, une fois que tout est configuré, un hackintosh se comporte encore davantage comme un Mac officiel, notamment pour ses mises à jour. J’ai pu le vérifier avec macOS Big Sur.
Après avoir configuré OpenCore et vérifié que tout fonctionnait normalement, j’ai lancé la procédure comme n’importe quel Mac, depuis les Préférences système. Après un long moment et plusieurs redémarrages, mon hackintosh était sous Big Sur, sans histoire. Pendant l’écriture de cet article, c’est macOS 11.2 qui est sorti et j’ai pu l’installer de la même manière, sans le moindre souci. Avant cela, l’ordinateur tournait depuis une vingtaine de jours sans aucun plantage, ce qui prouve que mes problèmes liés au NVMe ont bien été réglés.
Au passage, macOS Big Sur ne pose aucun problème à un hackintosh bien configuré. J’ai eu quelques bugs, mais ils sont tous liés au système lui-même, pas à ma configuration atypique. Apple continue de renforcer la sécurité de son système d’exploitation, mais sans poser problème à cet univers, en tout cas pas jusqu'à maintenant.
En parlant de mises à jour, celles de macOS se font sans encombre, mais je peux aussi témoigner que celles d’OpenCore ne sont pas aussi simples et transparentes. À ce stade, l’outil continue d’évoluer de manière significative tous les mois et il faut être prêt à modifier sa configuration à chaque fois, ou presque. Pour vous donner un exemple, j’ai installé à l’origine la version 0.6.4 sortie début décembre 2020. En faisant cet article, je me suis dit que j’allais passer à la version 0.6.6 sortie début février, mais c’était nettement plus de travail qu’escompté.
La procédure est détaillée à cette adresse et elle commence de façon simple. Il faut télécharger la dernière version d’OpenCore, puis remplacer les fichiers principaux du bootloader. Il faut bien penser à tous les remplacer en même temps d’ailleurs, le programme ne tolère pas des variations internes de versions. C’est ensuite que ça se corse : il faut comparer son fichier de configuration avec celui fourni et compléter ce qui manque, mais aussi retirer les éléments supprimés par les développeurs.
L’outil fourni dédié à cette tâche, OOConfigCompare, fonctionne bien et il est assez simple à exploiter. Il met en avant les différences, mais c’est à vous de les éliminer, en choisissant d’ajouter les clés manquantes et en supprimant celles qui sont désormais en trop. Sachant qu’il ne faut pas le faire à l’aveugle, vous avez ajouté pendant la configuration initiale des éléments spécifiques à votre hackintosh qu’il faut conserver.
Mon conseil : ne mettez pas à jour OpenCore tant que vous n’avez pas besoin de le faire et tant que le projet ne sera pas stabilisé. Ce n’est sans doute pas nécessaire pour les mises à jour mineures de macOS, mais il faut malgré tout garder un œil, au cas où un changement effectué par Apple oblige le bootloader à évoluer. C’est pour cette raison que je fais un clone régulier de mon hackintosh et je vous encourage à en faire de même, par sécurité.
Pour conclure : bientôt la fin de mon aventure avec les hackintosh ?
Après quatre ans et demi de fonctionnement, mon hackintosh tourne désormais sur la toute dernière version de macOS et sans problème à signaler. Pour être honnête, je ne m’attendais pas à une telle longévité quand j’ai lancé l’idée de monter un hackintosh à l’été 2016. Je pensais que ce serait une expérience enrichissante et que ça ferait une série d’articles intéressants, mais pas que ce serait mon Mac principal pendant tant d'années.
Et pourtant, après tout ce temps, j’ai préféré garder mon hackintosh et renvoyer un Mac mini M1, alors même que ce dernier est une excellente machine, bien plus puissante et sans maintenance ni bricolage. J’ai fait ce choix en petite partie parce que j’aime bien avoir trois écrans et que le Mac mini ne permet d’en brancher que deux. Mais c’est surtout par curiosité pour la suite de la transition Apple Silicon : j’ai envie de voir ce qu’Apple nous réserve pour le bureau, que ce soit un nouvel iMac ou le fameux petit Mac Pro que la rumeur nous annonce, avant de me décider.
Je n’aurais pas fait ce choix si gérer le hackintosh était un enfer au quotidien. Mais ce n’est pas le cas et je peux toujours oublier la tour noire cachée sous le bureau pour me concentrer sur le même macOS que celui des Mac officiels. Certes, il m’a fallu l’équivalent d’un bon jour de travail pour passer de Clover à OpenCore, mais j’aurais pu m’en passer et n’oubliez pas ma position originale dans le sens où ce temps passé sur la mise à jour m’a aussi permis de produire cet article. Mon avis serait indéniablement différent si je devais consacrer mes soirées et week-ends à la maintenance.
Pour autant, je ne crois pas que cet ordinateur restera mon Mac principal pour encore longtemps. J’imagine que ma période hackintosh touchera à sa fin dans les mois qui viennent. À l’heure où j’écris ces lignes, j’envisage de le garder jusqu’à la sortie des prochains Mac de bureau avec Apple Silicon pour décider de la suite. Mon hackintosh devrait rester bloqué à macOS Big Sur, en tout cas en tant que machine professionnelle, sachant que cette machine qui fonctionne parfaitement pourra toujours être recyclée d’une manière ou d’une autre par la suite.
Cet abandon n’est pas obligatoire à court et même à moyen terme. Tant qu’Apple continue de prendre en charge les processeurs x86, les hackintosh devraient continuer de fonctionner sans encombre. Mais j’ai connu la transition de PowerPC à Intel en 2006 et je sais bien que rester sur l’ancienne architecture est une voie condamnée à l’échec. Une future version de macOS sera forcément incompatible avec Intel et dans l’intervalle des apps vont commencer à être codées uniquement pour Apple Silicon.
Choisir de créer un hackintosh avait sa logique en 2016 pour qui voulait un Mac de bureau performant sans être hors de prix. Le Mac mini d’alors était à la traîne sur les performances et pas si bon marché que ça. Les 1 300 € dépensés alors pour les composants de ma tour ont été amplement rentabilisés en plus de quatre ans d’utilisation quotidienne et à cet égard, cette expérience a été un succès indéniable.
La situation est toutefois différente en 2021, où la même somme permet d’avoir un Mac mini M1 puissant, silencieux et surtout pris en charge officiellement. À choisir aujourd’hui, je prendrais l’ordinateur vendu Apple au lieu d’un hackintosh. Et c’est aussi lui que je recommanderais presque systématiquement si l’on me posait la question.