![]() |
Bienvenue invité ( Connexion | Inscription )
![]() |
![]()
Message
#1
|
|
Adepte de Macbidouille ![]() Groupe : Membres Messages : 124 Inscrit : 7 Mar 2015 Membre no 194 485 ![]() |
Salut à tous
Comme bon nombre d'entre nous , il arrive parfois que nous ayons besoins d'un DSDT pour notre Hack Jusque là tous va bien je vais bien Le DSDT permet de modifier les allocations afin de faire correspondre notre materiel avec l'OS D'apres ce que j'ai pu lire sur le net, les DSDT de nos machine ne sont pas optimisés, ce qui donne lieu à des correctifs, les patchs. Si je me trompe merci de me rectifier. Donc voici mes questions: Pourquoi lorsqu'on patch unDSDT sous Os X, impossible de compiler avec MacIasl, trop d'erreur? Ensuite, comment puis-je créer mon patch, par exemple régler le problème d'adressage des usb sous El Capitan. Quel est le language utilisé dans les DSDT? Amicalement Fred -------------------- Clover - El Capitan 10.11.6 - Sierra 10.12.3
Asus X99-A -Bios 3204- i7 5820K - Ripjaws RAM DDR4 3000 16 Go - Carte graphique Sapphire AMD HD 7950 Installer X99 - M-T-H |
|
|
![]() |
![]()
Message
#2
|
|
![]() Macbidouilleur d'Or ! ![]() ![]() ![]() ![]() ![]() Groupe : Modérateurs Messages : 13 775 Inscrit : 11 May 2006 Membre no 60 938 ![]() |
Je suis très très loin d'être un expert en la matière et je ne le serais très probablement jamais. Faut dire aussi que c'est quand même super technique et pas forcément intéressant/compréhensible sans être "du métier".
Je vais quand même essayer de te répondre et te donner quelques pistes de recherches ![]() Donc voici mes questions: Pourquoi lorsqu'on patch unDSDT sous Os X, impossible de compiler avec MacIasl, trop d'erreur? Parce que beaucoup de Bios ne sont pas conformes à la norme ACPI (même chez Apple ![]() Code #Maintained by: PHPdev32 for: Sourceforge into method label DTGP remove_entry; into definitionblock code_regex . insert begin Method (DTGP, 5, NotSerialized)\n {\n If (LEqual (Arg0, Buffer (0x10)\n {\n /* 0000 */ 0xC6, 0xB7, 0xB5, 0xA0, 0x18, 0x13, 0x1C, 0x44, \n /* 0008 */ 0xB0, 0xC9, 0xFE, 0x69, 0x5E, 0xAF, 0x94, 0x9B\n }))\n {\n If (LEqual (Arg1, One))\n {\n If (LEqual (Arg2, Zero))\n {\n Store (Buffer (One)\n {\n 0x03\n }, Arg4)\n Return (One)\n }\n If (LEqual (Arg2, One))\n {\n Return (One)\n }\n }\n }\n Store (Buffer (One)\n {\n 0x00\n }, Arg4)\n Return (Zero)\n } end Pour une raison que j'ignore, seuls les patchs de Rehabman n'en ont pas besoin. Ensuite, comment puis-je créer mon patch, par exemple régler le problème d'adressage des usb sous El Capitan. Je dirais que pour créer un patch, il faut vraiment connaître cette norme ACPI sur le bout des doigts. Sans ça, c'est un peu comme faire de la chirurgie quand tu n'y connais rien en anatomie ![]() Par exemple, si tu veux appliquer un patch HDEF (pour l'audio), il faut que ta DSDT contienne un device (HDEF) sans quoi, tu pourras toujours essayer, le patch ne s'appliquera/fonctionnera pas. Et comme les bios ne respectent pas toujours parfaitement la norme ACPI, il peut être nécessaire de renommer un device pour qu'il corresponde. C'est le cas par exemple de certaines vieilles CM dont le device (HDEF) s'appelle en fait device (AZAL). Un patch pour le renommer existe justement pour ça. Comme c'est pas évident de savoir quel device correspond à quoi et à quoi il sert, on utilise IORegistry Explorer qui permet de visualiser le tout plus "clairement". Ainsi, en cherchant HDEF (sous condition que la DSDT soit correctement patchée si on en utilise une et que l'on ait un AppleHDA fonctionnel), on peut voir que l'AppleHDA y est rattaché : ![]() Ce qui correspond bien au device (HDEF) de la DSDT (notez le layout-id, c'est le même) : Code Device (HDEF) { Name (_ADR, 0x001B0000) // _ADR: Address OperationRegion (HDAR, PCI_Config, 0x4C, 0x10) Field (HDAR, WordAcc, NoLock, Preserve) { DCKA, 1, Offset (0x01), DCKM, 1, , 6, DCKS, 1, Offset (0x08), Offset (0x09), PMEE, 1, , 6, PMES, 1 } Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake { 0x0D, Zero }) Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If (LEqual (Arg2, Zero)) { Return (Buffer (One) { 0x03 }) } Return (Package (0x06) { "layout-id", Buffer (0x04) { 0x1C, 0x00, 0x00, 0x00 }, "hda-gfx", Buffer (0x0A) { "onboard-1" }, "PinConfigurations", Buffer (Zero) {} }) } } Quel est le language utilisé dans les DSDT? L'ASL pour ACPI Source language d'où l'extension .asl. Sous sa forme décompilé, c'est le .dsl pour Disassembled Source Language. MaciASL (et d'autres) sont des compilateurs/décompilateurs qui utilisent iasl (développé par Intel). Le sujet étant bien trop vaste, voici une liste de liens pour en savoir plus : Mais avant tout, une liste de repositories de patch pour MaciASL (à copier/coller dans Preferences > Sources). Ils sont cliquables directement mais ça renverra une erreur. Il faut récupérer l'adresse du lien et copier/coller): : • Toleda : - pour l'audio - pour l'audio HDMI séries 9 - pour l'audio HDMI séries 8 • PJAlm : - Patchs génériques - Patchs pour CM Gigabyte - Patchs pour CM Asus - Patchs pour CM ASRock - Patchs pour CM MSI - Patchs les cartes graphiques - Patchs les CM à base de chipset Intel6 (Là, il suffit de remplacer 6 par 7/8/9 pour avoir les autres). • Rehabman (pour les portables notamment) : - Laptop DSDT Patch Quelques liens : • Olarila.com - demandes de patchs et aide si tu bloques sur des erreurs de compilation ou sur d'autres trucs, les gars pourront certainement t'aider. Et un guide très instructif également. Et pour terminer, une explication rapide pour injecter une CG par exemple. -------------------- Un Mac • macOS 10.15.7 MacBook Air mi-2012 Core i5 1,7 GHz Intel HD 4000 SSD 64 Go
Des Hacks • Asus Z170-P - Core i7 6700 3,40 GHz - XFX 6800 XT 16 Go - 32 Go DDR4 • Gigabyte H110M-S2H - Core i5 6600 3,30 GHz - Zotac GTX 1060 6 Go - 32 Go DDR4 • Gigabyte GA-H97-HD3 - Core i5 4570 3,20 GHz - MSI GTX 650 Ti 2 Go - 16 Go DDR3 • Acer Aspire V3 772G Core i5 4210M 2,60 GHz - Intel HD 4600 + GTX 850M 2 Go (désactivée) - 16 Go DDR3 • Dell Latitude e7470 Core i5 6300U 2,40 GHz - Intel HD 520 - 16 Go DDR4 • Dell Latitude 7490 Core i7 8650U 1,90 GHz - Intel UHD 620 - 16 Go DDR4 • Dell Latitude e7440 Core i7 4600U 2,10 GHz - Intel HD 4400 - 16 Go DDR3 • HP Elite 8300 USFF - Core i7 3770S 3,90 GHz - Intel HD 4000 (+ quelques autres...) Politique vis à vis des outils automatisés et des distributions - Guide d'installation - Tutoriels - Lexique et utilité des Kexts - FAQ Générale du Hackintosh - FAQ des Bootloaders - FAQ des Bootflags - FAQ des problèmes les plus courants - FAQ sur les Mises à jour Majeures sur Hackintosh |
|
|
![]() ![]() |
Nous sommes le : 2nd August 2025 - 11:16 |