Principe pour créer son DSDT

Le DSDT (Differentiated System Description Table) est une série de tables qui fourni diverses informations sur la configuration au système d’exploitation, (ex : son, usb, carte graphique, etc).

L’intérêt  de modifier le DSDT est d’obtenir un Hackintosh parfaitement optimisé, c’est à dire de bien faire communiquer l’Os et et le Matériel.

Cet article n’a pas pour but de donner de solution miracle pour concevoir son DSDT. c’est plutôt une approche pour partager ce que j’ai compris et d’illustrer la méthode que j ai utilisé pour obtenir mon DSDT.

Au préalable il nous faut des outils

Comme nous cherchons à fabriquer notre DSDT dans un premier temps nous allons utiliser les patchs automatiques de Clover.

Nous allons configurer notre config.plist de base comme ceci:

Cliquez pour agrandir

Cliquez pour agrandir

Vous démarrez votre Hackintosh et un fois sur l’écran de Boot vous appuyez sur la touche F4, ce qui aura pour effet d’enregistrer le DSDT original de votre carte mère dans /Volumes/EFI/EFI/CLOVER/ACPI/origin, puis vous bootez.

Cliquez pour agrandir

Avec le config.plist de base les patchs sont bien appliqués mais ne sont pas complets, tout fonctionne à quelques details prêts. Pas de son son aux sorties HDMI et DisplayPort et aucun affichage vos périphériques PCI.

Une fois sur votre bureau vous lancez  IoregistryExplorer cela vous donnera la cartographie de votre DSDT et les adressages.

La gestion électrique des USB

Cliquez pour agrandir

La carte graphique

Cliquez pour agrandir

Contrôleur USB2

Cliquez pour agrandir

Cliquez pour agrandir

Les USB3

Cliquez pour agrandir

Cliquez pour agrandir

 

Les ports SATA

Cliquez pour agrandir

Cliquez pour agrandir

 

Le son

Cliquez pour agrandir

Le son HDMI

Cliquez pour agrandir

L’Ethernet

Cliquez pour agrandir

Maintenant on attaque dans le dur 😉

Vous copier votre DSDT original sur le Bureau et vous l’ouvrez avec MaciASL.

Nous allons renommer

EC0 => EC pour la gestion d’alimentation des USB

ALZA => HDEF pour le son

Dans BR3A

  • H000 => GFX0 pour la carte graphique
  • H001 => HDAU pour le son HDMI

Enfin nous appliquons les patchs, sauvegarde, puis nous pouvons placer notre nouveau DSDT dans /Volumes/EFI/EFI/CLOVER/ACPI/patched

 

Une fois le redémarrage effectué votre Hackintosh est optimisé, voici le résultat:

Cliquez pour agrandir

Pour les patchs la référence est pjalm, mais il en existe des tonnes, une bonne recherche sur le net et vous trouverez votre bonheur.

 

Pour Télécharger

Activer la Trim

Bonjour à. tous,
Personne n’est sans savoir qu’il est nécessaire d’activer la TRIM pour une bonne gestion de son/ses SSD.
Pour activer cette fonction, qui est implanté dans le terminal depuis 10.10.4, nous entrons dans le terminal sudo trimforce enable.

Le souci est, qu’a chaque mise à jour nous devons réitérer cette commande, donc pour les allergiques au terminal et qui utilisent clover, il est tout à fait possible d’injecter dans le config.plist un patch binaire. Mais il faut connaitre le patch.
Name : IOAHCIBlockStorage
Find : 004150504C452053534400
Replace : 0000000000000000000000
Comment : TRIM Enabler
A cet effet pour facilité la vie, j’ai fais un petit kext que l’on place dans EFI/clover/kexts/other.


Comme ça la trim est systématiquement activée, plus besoins du terminal ou de patch.

Pour Télécharger le kext

37306e_2a9e9c55788c4b7592ce756550d55268

Comment Modifier le FrameBuffer AMD + Injection Clover

Il peut être nécessaire de modifier le FrameBuffer de votre carte Amd parce que vous obtenez

  •  un Black Screen
  • dans à propos de ce mac le nom de la carte n’apparait pas
  • un seul écran de fonctionnel lorsque plusieurs sont connectés

 

Voici les différent  FrameBuffer contenu dans  Os X

Carte graphique Série 2400
Kext /System/Library/Extensions/AMD2400Controller.kext/Contents/MacOS/AMD2400Controller
Personality: Iago
ConnectorInfo count in decimal: 2

Carte graphique Série 2600
Kext /System/Library/Extensions/AMD2600Controller.kext/Contents/MacOS/AMD2600Controller
Personality: Hypoprion
ConnectorInfo count in decimal: 2

Personality: Lamna
ConnectorInfo count in decimal: 2
Carte graphique Série 3800
Kext /System/Library/Extensions/AMD3800Controller.kext/Contents/MacOS/AMD3800Controller
Personality: Megalodon
ConnectorInfo count in decimal: 3

Personality: Triakis
ConnectorInfo count in decimal: 2
Carte graphique Série 4600
Kext /System/Library/Extensions/AMD4600Controller.kext/Contents/MacOS/AMD4600Controller
Personality: Flicker
ConnectorInfo count in decimal: 3

Personality: Gliff
ConnectorInfo count in decimal: 3

Personality: Shrike
ConnectorInfo count in decimal: 3
Carte graphique Série 4800
Kext /System/Library/Extensions/AMD4800Controller.kext/Contents/MacOS/AMD4800Controller
Personality: Cardinal
ConnectorInfo count in decimal: 2

Personality: MotMot
ConnectorInfo count in decimal: 2

Personality: Quail
ConnectorInfo count in decimal: 3
Carte graphique Série 5000
Kext /System/Library/Extensions/AMD5000Controller.kext/Contents/MacOS/AMD5000Controller
Personality: Douc
ConnectorInfo count in decimal: 2

Personality: Langur
ConnectorInfo count in decimal: 3

Personality: Uakari
ConnectorInfo count in decimal: 4

Personality: Zonalis
ConnectorInfo count in decimal: 6

Personality: Alouatta
ConnectorInfo count in decimal: 4

Personality: Hoolock
ConnectorInfo count in decimal: 3

Personality: Vervet
ConnectorInfo count in decimal: 4

Personality: Baboon
ConnectorInfo count in decimal: 3

Personality: Eulemur
ConnectorInfo count in decimal: 3

Personality: Galago
ConnectorInfo count in decimal: 2

Personality: Colobus
ConnectorInfo count in decimal: 2

Personality: Mangabey
ConnectorInfo count in decimal: 2

Personality: Nomascus
ConnectorInfo count in decimal: 4

Personality: Orangutan
ConnectorInfo count in decimal: 2
Carte graphique Série 6000
Kext /System/Library/Extensions/AMD6000Controller.kext/Contents/MacOS/AMD6000Controller
Personality: Pithecia
ConnectorInfo count in decimal: 2

Personality: Bulrushes
ConnectorInfo count in decimal: 6

Personality: Cattail
ConnectorInfo count in decimal: 4

Personality: Hydrilla
ConnectorInfo count in decimal: 5

Personality: Duckweed
ConnectorInfo count in decimal: 4

Personality: Fanwort
ConnectorInfo count in decimal: 4

Personality: Elodea
ConnectorInfo count in decimal: 5

Personality: Kudzu
ConnectorInfo count in decimal: 2

Personality: Gibba
ConnectorInfo count in decimal: 5

Personality: Lotus
ConnectorInfo count in decimal: 3

Personality: Ipomoea
ConnectorInfo count in decimal: 3

Personality: Muskgrass
ConnectorInfo count in decimal: 4

Personality: Juncus
ConnectorInfo count in decimal: 4

Personality: Osmunda
ConnectorInfo count in decimal: 4

Personality: Pondweed
ConnectorInfo count in decimal: 3

Personality: Spikerush
ConnectorInfo count in decimal: 4

Personality: Typha
ConnectorInfo count in decimal: 5
Carte graphique Série 7000
Kext /System/Library/Extensions/AMD7000Controller.kext/Contents/MacOS/AMD7000Controller
Personality: Namako
ConnectorInfo count in decimal: 4

Personality: Aji
ConnectorInfo count in decimal: 4

Personality: Buri
ConnectorInfo count in decimal: 4

Personality: Chutoro
ConnectorInfo count in decimal: 5

Personality: Dashimaki
ConnectorInfo count in decimal: 4

Personality: Ebi
ConnectorInfo count in decimal: 5

Personality: Gari
ConnectorInfo count in decimal: 5

Personality: Futomaki
ConnectorInfo count in decimal: 4

Personality: Hamachi
ConnectorInfo count in decimal: 4

Personality: OPM
ConnectorInfo count in decimal: 6

Personality: Ikura
ConnectorInfo count in decimal: 1

Personality: IkuraS
ConnectorInfo count in decimal: 6

Personality: Junsai
ConnectorInfo count in decimal: 6

Personality: Kani
ConnectorInfo count in decimal: 1

Personality: KaniS
ConnectorInfo count in decimal: 6

Personality: DashimakiS
ConnectorInfo count in decimal: 4

Personality: Maguro
ConnectorInfo count in decimal: 1

Personality: MaguroS
ConnectorInfo count in decimal: 6
Carte graphique Série 8000
Kext /System/Library/Extensions/AMD8000Controller.kext/Contents/MacOS/AMD8000Controller
Personality: Baladi
ConnectorInfo count in decimal: 6
Carte graphique Série 9000
Kext /System/Library/Extensions/AMD9000Controller.kext/Contents/MacOS/AMD9000Controller
Personality: OPM
ConnectorInfo count in decimal: 6

Personality: Basset
ConnectorInfo count in decimal: 4

Personality: Greyhound
ConnectorInfo count in decimal: 6

Personality: Baladi
ConnectorInfo count in decimal: 6

 

Maintenant il faut de terminer votre FB par défaut

La premier fois que j ai démarré sous Clover voici ce qui est apparu

post-1181448-0-06709000-1469454759

Cliquez pour agrandir

Mac Carte est une AMD Radeon HD 7950

Mon FB est Futomaki soit:

Une Carte graphique Série 7000
Kext /System/Library/Extensions/AMD7000Controller.kext/Contents/MacOS/AMD7000Controller

Personality: Futomaki
ConnectorInfo count in decimal: 4

 

Avec Xcode 7.3 d’installé

Dans le terminal je glisse ati-personality.pl /System/Library/Extensions/AMD7000Controller.kext

Avec Xcode 8 d’installé vous devez utiliser Ait-personality-Xcode8

(Voir ici pour le fonctionnement avec Xcode 8)

 

J’obtiens le positionnement du début du FB dans le fichier AMD7000Controller.Kest

Capture d’écran 2016-08-02 à 12.17.08

cliquez pour agrandir

J’ai donc 1885648

Je lance iHEX pour ouvrir /System/Library/Extensions/AMD7000Controller.kext/Contents/MacOS/AMD7000Controller et je récupère les 4 décimales après la position du curseur, soit 4*32

Capture d’écran 2016-08-02 à 12.29.59

Cliquez pour agrandir

Résultat

00 04 00 00 04 03 00 00 00 01 01 01 12 04 04 01 00 04 00 00 04 03 00 00 00 01 02 01 22 05 05 02 04 00 00 00 14 02 00 00 00 01 03 00 00 00 06 06 00 08 00 00 04 02 00 00 00 01 04 00 11 02 01 03

qui donne

00 04 00 00 04 03 00 00 00 01 01 01 12 04 04 01

00 04 00 00 04 03 00 00 00 01 02 01 22 05 05 02

04 00 00 00 14 02 00 00 00 01 03 00 00 00 06 06

00 08 00 00 04 02 00 00 00 01 04 00 11 02 01 03

NB: la construction générique est celle-ci

02000000 40000000 08010000 / LVDS + (ajouter son code construction)
10000000 10000000 00010000 / VGA + (ajouter son code construction)
00040000 04030000 00010000 / DP + (ajouter son code construction)
00020000 04020000 00010000 / DVI-SL + (ajouter son code construction)
04000000 14020000 00010000 / DVI-DL + (ajouter son code construction)
00080000 00020000 00010000 / HDMI 
+ (ajouter son code construction)

J’ai donc pour le FB original

00 04 00 00 04 03 00 00 00 01 01 01 12 04 04 01 un DisplayPort

00 04 00 00 04 03 00 00 00 01 02 01 22 05 05 02 un DisplayPort

04 00 00 00 14 02 00 00 00 01 03 00 00 00 06 06 un DVI- Dual Link

00 08 00 00 04 02 00 00 00 01 04 00 11 02 01 03 un HDMI

 

Maintenant je construit mon code de connexion pour cela il me faut:

La rom de ma carte graphique, je peux la récupérer via DPCIManager ou bien la télécharger sur TechPowerUp

Ensuite je récupère les infos dans la Rom avec redsock_bios_decoder et radeon_bios_decode pour construire le code

Capture d’écran 2016-08-02 à 13.38.27

Cliquez pour agrandir

Capture d’écran 2016-08-02 à 13.42.00

Cliquez pour agrandir

01 Connector Object Id [19] which is [DISPLAY_PORT]

encoder obj id [0x21] which is [INTERNAL_UNIPHY2 (osx txmit 0x12 [duallink 0x2] enc 0x4)] linkb: false

Connector at index 0

Type [@offset 45426]: DisplayPort (10)

Encoder [@offset 45430]: INTERNAL_UNIPHY2 (0x21)

i2cid [@offset 45544]: 0x90, OSX senseid: 0x1

construction du code: 12 04 01 01

 

02 Connector Object Id [19] which is [DISPLAY_PORT]

encoder obj id [0x21] which is [INTERNAL_UNIPHY2 (osx txmit 0x22 [duallink 0x2] enc 0x5)] linkb: true

Connector at index 1

Type [@offset 45436]: DisplayPort (10)

Encoder [@offset 45440]: INTERNAL_UNIPHY2 (0x21)

i2cid [@offset 45571]: 0x91, OSX senseid: 0x2

construction du code: 22 05 02 02

 

03 Connector Object Id [12] which is [HDMI_TYPE_A]

encoder obj id [0x20] which is [INTERNAL_UNIPHY1 (osx txmit 0x11 [duallink 0x1] enc 0x2)] linkb: false

Connector at index 2

Type [@offset 45446]: HDMI-A (11)

Encoder [@offset 45450]: INTERNAL_UNIPHY1 (0x20)

i2cid [@offset 45598]: 0x93, OSX senseid: 0x4

construction du code: 11 02 03 04

 

04 Connector Object Id [2] which is [DVI_I]

encoder obj id [0x1e] which is [INTERNAL_UNIPHY (osx txmit 0x10 [duallink 0x0] enc 0x0)] linkb: false

Connector at index 3

Type [@offset 45456]: DVI-I (2)

Encoder [@offset 45460]: INTERNAL_UNIPHY (0x1e)

i2cid [@offset 45635]: 0x95, OSX senseid: 0x6

construction du code: 10 00 04 06

 

Code Final

00 04 00 00 04 03 00 00 00 01 01 01 12 04 04 01 un DisplayPort => 00 04 00 00 04 03 00 00 00 01 01 01 12 04 01 01

00 04 00 00 04 03 00 00 00 01 02 01 22 05 05 02 un DisplayPort => 00 04 00 00 04 03 00 00 00 01 02 01 22 05 02 02

04 00 00 00 14 02 00 00 00 01 03 00 00 00 06 06 un DVI- Dual Link => 04 00 00 00 14 02 00 00 00 01 03 00 10 00 04 06

00 08 00 00 04 02 00 00 00 01 04 00 11 02 01 03 un HDMI => 00 08 00 00 04 02 00 00 00 01 04 00 11 02 03 04

Pour Terminer il faut injecter le code via Clover

Code original

000400000403000000010101120404010004000004030000000102012205050204000000140200000001030000000606000800000

40200000001040011020103

Code construit

000400000403000000010101120401010004000004030000000102012205020204000000140200000001030010000406000800000

40200000001040011020304

Comme ceci:

Capture d’écran 2016-08-02 à 14.28.15

Cliquez pour agrandir

Voici le résultat

une Carte pleinement reconnue et fonctionnelle

Capture d’écran 2016-08-02 à 14.31.42

Capture d’écran 2016-08-02 à 14.31.56

Capture d’écran 2016-08-02 à 14.35.06

Cliquez pour Agrandir

Source: InsanelyMac

Intel Power Gadget

Lorsue vous souhaitez installer Intel Power Gadget sur une X99 le cpu n’etant pas reconnu voici ce qui apparaît.

37306e_a3b4c0f6183b421a8edf2f3396ff2dd1

 

C’est un problème de verification, materiel, j ai donc fais sauter cette verification, l’intallation de fait donc sans probleme.
37306e_840cba23fcbc4d748cfca8e5dc2da721
Vous pouvez télécharger le package d’installation modifié

37306e_2a9e9c55788c4b7592ce756550d55268