Créer/modifier un DSDT
Lors de l’installation d’un Hackintosh, l’utilisation d’un fichier DSDT est fortement conseillée pour garantir une machine stable et fonctionnant sans problème. Ils permettent de résoudre certains problème de reconnaissance des composants (carte graphique, chipset audio et réseau en particulier) et de résoudre une majorité des problèmes de mise en veille/sortie de veille. Ce qui tombe sous le sens vu que le DSDT est avant tout un fichier conçu pour que l’OS puisse communiquer sans problème lors de la mise en veille/réveil.
Le plus simple reste bien sûr d’utiliser un DSDT sur le net, adapté à sa configuration (l’élément clé étant la carte mère), mais d’un certain cas, il peut être plus aisé de concevoir son propre DSDT: s’il n’est pas fournis pour votre modèle de carte mère, que celui proposé vous pose des problèmes, qu’il ne soit pas mis à jour, ou simplement par curiosité.
Les différentes étapes sont généralement les même, extraire un fichier DSDT depuis le BIOS de votre carte mère, l’ouvrir avec un logiciel adapté, le modifier en appliquant des patchs et correctifs, le re-compiler, et enfin l’installer dans le dossier extra de votre Hackintosh. Il existe de nombreux logiciels qui permettent de faire tout ou partie de ces opérations, certains plus ou moins bien, ce qui fait que chaque logiciel à ses avantages et ces inconvénients. Je vais donc essayer de vous donner les bases pour comprendre les différentes étapes de la création d’un DSDT, et vous présentez les logiciels qui me paraissent les plus performants (et simples) dans ce domaine.
Les bases pour comprendre
Le DSDT est une table qui fait partie de la norme ACPI, cette norme vise à harmoniser la gestion de l’énergie sur les différentes plateforme. En pratique, cela correspond à plusieurs fichiers qui vont indiquer à l’OS des informations sur les différents composants pour qu’il puisse leur envoyer un signal électrique permettant de les mettre dans différents niveau d’économie d’énergie. C’est ce qui permet par exemple aux ordinateurs d’avoir plusieurs niveaux de veille, allant d’une simple veille de l’écran, à la mise en veille de tout l’ordinateur, et nécessitant un certain délai pour sortir de veille. Plus récemment, c’est aussi ce qui sert à mettre au repos un partie d’un processeur (éteindre 2 coeurs sur 4 par exemple), lorsqu’ils ne sont pas sollicité.
Au niveau du hackintosh, le problème qui se pose est que la table DSDT contenue dans le BIOS de votre carte mère n’est pas utilisable par OSX; cela pour une raison toute simple: windows tolère de nombreuses erreurs dans l’écriture du DSDT alors qu’OSX respecte strictement la norme ACPI et ne les accepte pas. Attention, je ne dis pas que les tables DSDT PC sont complètement buggé, mais simplement qu’elles contiennent des expressions qui normalement ne font pas partie de la norme ACPI: des choses parfois toutes simple comme mettre « 0″ à la place de « zero ».
Extraire le DSDT
La première étape va donc consister à récupérer le DSDT contenu dans le BIOS de votre carte mère. Certains logiciels permettent de l’extraire à partir du fichier BIOS que vous pouvez télécharger sur le net sur le site du constructeur de votre carte mère, l’avantage est que cela permet de créer un DSDT sans avoir forcément la machine correspondante sous la main. Dans la majeure partie des cas, les logiciels proposent d’extraire directement le DSDT à partir de la machine correspondante simplement en allant le chercher dans la zone de mémoire ou il est stocké, il faut donc absolument avoir la machine sous la main et utiliser le logiciel dessus. Cette étape est réalisable sous OSX mais à une condition, que vous n’ayez pas pas démarré votre hackintosh avec un DSDT déjà installé, sinon le logiciel va l’extraire, et c’est le DSDT situé dans le BIOS que l’on veut. Il vous faudra donc supprimer le fichier DSDT dans le répertoire Extra, puis re-démarrer la machine avant de vous lancer (cette opération peut vous obliger à réutiliser votre clé ou cd de Boot de type Unibeast/iBoot/rBoot/Chameleon… pour démarrer le temps de l’opération). Sinon vous pouvez aussi lancer le logiciel sous Windows ou Linux (s’il est disponible sous ces OS bien sûr), ou extraire le DSDT à l’aide d’un script sous Windows ou Linux (on conseille généralement d’utiliser un simple boot cd de Linux avec le script sur une clé USB) et ensuite de l’ouvrir avec un logiciel sous OSX pour le patcher.
Regarder rapidement à quoi ça ressemble
A ce niveau, votre DSDT s’est ouvert dans le logiciel, et vous pouvez voir plusieurs milliers de lignes de code dans l’écran principal et un menu en section sur le coté. Le menu contient le nom de toutes les sections du DSDT, cliquer dessus vous renvois à la ligne correspondante dans la fenêtre principale, vous pouvez alors modifier manuellement le code de la section qui vous intéresse. Malheureusement, le langage utilisé est assez complexe, donc vous risquez surtout de faire des bêtises, ce qui nous amène au point suivant qui consiste à modifier le DSDT en utilisant des patch.
Patcher le DSDT
Les patchs sont de simples fichiers textes qui contiennent des instructions permettant d’ajouter/modifier/supprimer des parties du DSDT, tout en respectant la norme ACPI. Vous pouvez trouver ces fichiers dans pas mal de recoins du net, mais la plus grosse base de donnée reste le forum de Mald0n: olarila.com qui regroupe un nombre impressionnant de patch pour un nombre encore plus grand de configuration différentes. Certains logiciels proposent un certains nombres de patch directement intégrés. Il suffit de les appliqué avec le logiciel, et les parties correspondantes du DSDT seront modifiées. Attention, à ce niveau il faut bien vérifier de ne jamais appliquer un patch sur un DSDT qui contient déjà ce patch! Sinon cela créer des doublons et vous ne pourrez jamais recompiler le fichier DSDT. C’est d’ailleurs pour cette raison que l’on utilise pour commencer, un DSDT extrait depuis le BIOS plutôt qu’une version téléchargé sur internet, on est sûr comme cela qu’il ne contient aucun patch.
Recompiler le DSDT
Et oui, un fichier DSDT c’est du code qui ne permet pas simplement d’enregistrer les modifications et d’utiliser le fichier. Il faut d’abord recompiler le code. Pour cela les logiciels utilisent un compilateur intégré appelé IASL qui est fournit sur le site de l’ACPI. Il est fréquent de rencontrer quelques erreurs à ce niveau, et des mécanisme de correction intégré devrait pouvoir les résoudre. Si cela ne suffit pas, c’est que vous avez fait une erreur quelque part ou que votre DSDT ou vos patch n’étaient pas adapté, chaque erreur étant accompagné du numéro de ligne où elle se situe vous pouvez allez voir si vous pouvez la résoudre manuellement mais cela nécessitera un minimum de compétences…
Sauvegarder et installer
Si vous avez passer avec succès l’étape de la compilation, vous pourrez alors sauvegarder le fichier au format .aml. Il ne vous restera alors qu’à copier ce fichier dans le répertoire Extra de votre Hackintosh, le renommez DSDT.aml et re-démarrer la machine. Et si votre DSDT contient contient des bugs vous devriez le savoir assez tôt
Et en pratique:
Pour finir, vous pouvez regarder ces deux screencast qui vous montrent en direct la création d’un DSDT, le premier avec DSDT ACPI Patcher, le second avec DSDT Editor:

merci pour tes videos ( surtout la 2eme )
j ai reussis a reinstaler lion sur mon ssd grace a mon DSDT personel (avec celuis de tonymac ça ne fonctionnez pas) bizard !!!!!
car j ai fais fonctionner lion sur la meme carte mere avec pendent un ans????