Hallo und ein frohes neues Jahr zusammen,
ich probiere eine DSDT für oben genanntes Mainboard zu erstellen.
Ich orientiere mich dabei an den grandiosen Recourcen von @al6042:
https://www.hackintosh-forum.d…php/FAQ/?category=20-ACPI (ich glaube das ist von ihm)
Leider komme ich am ende nicht bei einer gut funktionierenden DSDT heraus. Ich habe einige Verständnisfragen zu
den Tutorials und würde mich freuen wenn ihr mir weiterhelfen könntet.
Mein System:
Asus h170m-Plus (intel I219V Lan, Realtec ALC887 Audio)
Core I3-6320
GTX 950 GPU
1x Samsung SATA SSD
1x standart HDD
Ohne DSDT läuft das System ziemlich einwandfrei (sleep, sound, multi-monitor, speedstep, usb (nicht sicher)) mit folgenden Settings:
Config.plist und Kexte:
die config.plist (siehe anhang) ist so wie CLover sie beim installieren erstellt.
Hinzu kommen die änderungen für AppleALC, wie hier beschrieben:
https://www.hackintosh-forum.d…amische-AppleHDA-Patcher/
sowie nvda_drv=1, webdriver und EmuVariableUefi-64.efi (das Asus board braucht das für das laden des webdrivers)
Kexte sind
lilu.kext für AppleALC.kext und NcidaiaGraphicsFixup.kext
und rahabmans FakeSMC und IntelMausi
Mein Ziel wäre es die Relevanten Einstellungen der config.plist in die DSDT aufzunehmen, sowie meine Geräte richtig in der DSDT zu definieren.
Mit meinen Versuchen bekomme ich am ende eine bootende DSDT ohne Sound (und vermutlich auch ohne Sleep), allerdings steht mit dieser unter "Systembericht -PCI" keine Tabelle mehr sondern ein einzelner Eintrag zu meiner GPU.
Für das Erstellen der DSDT habe ich mich an der Anleitung "3. Standard DSDT-Patch Verlauf für Desktops Skylake-Chipsätze:" orientiert :
https://www.hackintosh-forum.d…php/FAQ/?category=20-ACPI
Vielleicht schreibe ich hier meine Anmerkungen und Fragen zur Anleitung und damit klärt sich schon alles:
1. Extrahiert mit CLover (f4)
zu Punkt 2 und 3: Ich habe in der DSDT jeweils HDAS-HDEF und HECI-IMEI "find&replaced"
zu Punkt 4
als annähernden Patch habe ich das H97M-E genommen und den Patch folgendermaßen angepasst (realtec Lan raus und "Intel Series 9" mit "Intel Series10" ersetzt:
- # Maintained by: PJALM (help@pjalm.com) for: http://pjalm.com/repos/
- # These patches are the registered property of PJALM.COM and can not be
- # redistributed or modified without the written consent of PJALM.COM.
- # Links to these patches are allowed. All material is protected under the DMCA.
- # Last Updated : 05/07/2016
- # Patch Name : H97M-E
- # Patch Version : 1.01
- #IASL:Check $BUILD = 20131218
- #External Fixes
- into_all all code_regex \/\*\sExternal\sreference\s\*\/\s+ removeall_matched;
- into definitionblock code_regex ,\sUnknownObj removeall_matched;
- into definitionblock code_regex External\s\(_SB_.PCI0.PEG0\)\s+ removeall_matched;
- into definitionblock code_regex External\s\(_SB_.PCI0.PEG0.PEGP\)\s+ removeall_matched;
- into definitionblock code_regex External\s\(_SB_.PCI0.PEG1\)\s+ removeall_matched;
- into definitionblock code_regex External\s\(_SB_.PCI0.PEG2\)\s+ removeall_matched;
- into definitionblock code_regex External\s\(_SB_.PCI0.PEGP\)\s+ removeall_matched;
- into definitionblock code_regex External\s\(_SB_.PCI0.PEGP.GFX0\)\s+ removeall_matched;
- # Add the DTGP method
- 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) { 0x03 }, Arg4)\n
- Return (One)\n
- }\n
- If (LEqual (Arg2, One))\n
- {\n
- Return (One)\n
- }\n
- }\n
- }\n
- Store (Buffer (One) { 0x00 }, Arg4)\n
- Return (Zero)\n
- }
- end;
- # Add Darwin to the supported operating systems
- into method label _INI code_regex (\s+)(If\s\(_OSI\s\("Windows\s2001"\)\)) replace_matched begin \n
- If (_OSI ("Darwin"))\n
- {\n
- Store (0x2710, OSYS)\n
- }\n
- \n
- $2
- end;
- # Intel 9 Series Fixes
- into_all all code_regex _T_([0-6]) replaceall_matched begin T_%1 end;
- into_all method label _INI code_regex INIR\n replace_matched begin Store (Zero, INIR)\n end;
- into device label PCI0 code_regex (\s+Zero){2,} remove_matched;
- into_all method label ADBG code_regex (?<=Return\s\(MDBG\))\s+Arg0 remove_matched;
- into_all method label _PS3 code_regex PS3X\n replace_matched begin Store (Zero, PS3X)\n end;
- into_all method label _PS2 code_regex PS2X\n replace_matched begin Store (Zero, PS2X)\n end;
- into_all method label _PS0 code_regex PS0X\n replace_matched begin Store (Zero, PS0X)\n end;
- into_all method label GPEH insert begin Return (Zero) end;
- into method label _CRS parent_label PCI0 code_regex DWordField\s\(BUF0,\s\\_SB.PCI0._Y1E._LEN,\sMSLN\) replace_matched begin QWordField (BUF0, \\_SB.PCI0._Y1E._LEN, MSLN) end;
- into_all all code_regex Acquire\s\(MUT0,\s0x0FFF\) replace_matched begin Acquire (MUT0, 0xFFFF) end;
- into method label _HID parent_label _SB.PCI0.LPCB.TPM code_regex (Return\s\(Zero\)) remove_matched;
- into method label _HID parent_label _SB.PCI0.LPCB.TPM insert begin Return (Zero) end;
- into method label _PS0 parent_label NVM0 code_regex (Return\s\(Zero\)) remove_matched;
- into method label _PS0 parent_label NVM0 insert begin Return (Zero) end;
- into method label _PS0 parent_label XHC code_regex (Return\s\(Zero\)) remove_matched;
- into method label _PS0 parent_label XHC insert begin Return (Zero) end;
- into method label _PS0 parent_label RHUB code_regex (Return\s\(Zero\)) remove_matched;
- into method label _PS0 parent_label RHUB insert begin Return (Zero) end;
- into method label _PS3 parent_label NVM0 code_regex (Return\s\(Zero\)) remove_matched;
- into method label _PS3 parent_label NVM0 insert begin Return (Zero) end;
- into method label _PS3 parent_label XHC code_regex (Return\s\(Zero\)) remove_matched;
- into method label _PS3 parent_label XHC insert begin Return (Zero) end;
- into method label _DSM parent_label SHUB code_regex (Return\s\(Zero\)) remove_matched;
- into method label _DSM parent_label SHUB insert begin Return (Zero) end;
- into method label RDCA parent_label SHUB code_regex (Return\s\(Zero\)) remove_matched;
- into method label RDCA insert begin Return (Zero) end;
- into method label CNRS parent_label SHUB code_regex (Return\s\(Zero\)) remove_matched;
- into method label CNRS insert begin Return (Zero) end;
- into method label SPL1 parent_label SHUB code_regex (Return\s\(Zero\)) remove_matched;
- into method label SPL1 insert begin Return (Zero) end;
- into method label OE1X parent_label _GPE code_regex (Return\s\(Zero\)) remove_matched;
- into method label OE1X parent_label _GPE insert begin Return (Zero) end;
- # into method label TINI parent_label _SB.PCI0.RP05 code_regex (Return\s\(Zero\)) remove_matched;
- into method label TINI parent_label _SB.PCI0.RP05 insert begin Return (Zero) end;
- into method label TWAK parent_label _SB.PCI0.RP05 code_regex (Return\s\(Zero\)) remove_matched;
- into method label TWAK parent_label _SB.PCI0.RP05 insert begin Return (Zero) end;
- into method label TPTS parent_label _SB.PCI0.RP05 code_regex (Return\s\(Zero\)) remove_matched;
- into method label TPTS parent_label _SB.PCI0.RP05 insert begin Return (Zero) end;
- into method label SMSR parent_label _SB code_regex CreateDWordField\s\(Arg0,\s0x04,\sAEBX\)\s+ remove_matched;
- into method label SDSP parent_label AMW0 code_regex CreateDWordField\s\(Arg0,\sZero,\sACTN\)\s+ remove_matched;
- into method label GDSP parent_label AMW0 code_regex CreateDWordField\s\(Arg0,\sZero,\sACTN\)\s+ remove_matched;
- into method label DEVS parent_label AMW0 code_regex CreateDWordField\s\(Arg0,\s0x04,\sCPAR\)\s+ remove_matched;
- # Device injection for the Intel 9 Series SATA
- into device label SAT0 set_label begin SATA end;
- into_all all code_regex SAT0 replaceall_matched begin SATA end;
- into device label SAT1 remove_entry;
- into_all scope label _SB.PCI0.SAT0.PRT0 set_label begin _SB.PCI0.SATA.PRT0 end;
- into_all scope label _SB.PCI0.SAT0.PRT1 set_label begin _SB.PCI0.SATA.PRT1 end;
- into_all scope label _SB.PCI0.SAT0.PRT2 set_label begin _SB.PCI0.SATA.PRT2 end;
- into_all scope label _SB.PCI0.SAT0.PRT3 set_label begin _SB.PCI0.SATA.PRT3 end;
- into method label _DSM parent_label SATA remove_entry;
- into device label SATA insert begin
- Method (_DSM, 4, NotSerialized)\n
- {\n
- Store (Package (0x0A) {\n
- "AAPL,slot-name", "Built In",\n
- "name", "Intel AHCI Controller",\n
- "model", Buffer (0x2D) {"Intel 10 Series Chipset Family SATA Controller"},\n
- "device_type", Buffer (0x0F) {"AHCI Controller"},\n
- "device-id", Buffer (0x04) {0x02,0x1E,0x00,0x00}\n
- }, Local0)\n
- DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))\n
- Return (Local0)\n
- }
- end;
- into method label SDSP parent_label AMW0 code_regex (Create) replace_matched begin //%1 end;
- into method label GDSP parent_label AMW0 code_regex (Create) replace_matched begin //%1 end;
- into method label SMSR parent_label _SB code_regex (CreateDWordField\s\(Arg0,\s0x04,\sAEBX\)) replace_matched begin //%1 end;
- # Add the missing MCHC device
- into device label MCHC parent_label PCI0 remove_entry;
- into device label PCI0 insert begin
- Device (MCHC)\n
- {\n
- Name (_ADR, Zero)\n
- }
- end;
- # Fix the SMBUS to allow for loading of the AppleSMBusController.kext
- into device label BUS0 parent_label SBUS remove_entry;
- into device label SBUS insert begin
- Device (BUS0)\n
- {\n
- Name (_CID, "smbus")\n
- Name (_ADR, Zero)\n
- Device (DVL0)\n
- {\n
- Name (_ADR, 0x57)\n
- Name (_CID, "diagsvault")\n
- Method (_DSM, 4, NotSerialized)\n
- {\n
- Store (Package (0x02) {\n
- "address", 0x57
- }, Local0)\n
- DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))\n
- Return (Local0)\n
- }\n
- }\n
- }
- end;
- # Patches the Intel USB3 on Intel 9 Series chipsets
- into method label _DSM parent_label XHC remove_entry;
- into device label XHC insert begin
- Method (_DSM, 4, NotSerialized)\n
- {\n
- Store (Package (0x15) {\n
- "AAPL,slot-name", "Built In",\n
- "name", "Intel XHCI Controller",\n
- "model", Buffer (0x37) {"Intel 10 Series Chipset Family USB xHCI Host Controller"},\n
- "device_type", Buffer (0x0E) {"USB Controller"},\n
- "AAPL,current-available", 0x0834,\n
- "AAPL,current-extra", 0x0A8C,\n
- "AAPL,current-in-sleep", 0x03E8,\n
- "AAPL,current-extra-in-sleep", 0x0834,\n
- "AAPL,max-port-current-in-sleep", 0x0A8C,\n
- "AAPL,device-internal", 0x02,\n
- Buffer (One) {0x00}\n
- }, Local0)\n
- DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))\n
- Return (Local0)\n
- }
- end;
Alles anzeigen
Danach musste ich sat0 zu SATA umbenennen
Punkt 5,6,7,8 wie in der Anleitung
Danach habe ich den Patch für Z97X-UD7-TH angepasst um mein Intel Lan einzubauen (hier ist der fehler, oder ?)
- # Maintained by: PJALM (help@pjalm.com) for: http://pjalm.com/repos/
- # These patches are the registered property of PJALM.COM and can not be
- # redistributed or modified without the written consent of PJALM.COM.
- # Links to these patches are allowed. All material is protected under the DMCA.
- # Last Updated : 05/07/2016
- # Patch Name : Z97X-UD7-TH
- # Patch Version : 1.0
- #External Fixes
- into_all all code_regex \/\*\sExternal\sreference\s\*\/\s+ removeall_matched;
- into definitionblock code_regex ,\sUnknownObj removeall_matched;
- into definitionblock code_regex External\s\(_SB_.PCI0.PEG0\)\s+ removeall_matched;
- into definitionblock code_regex External\s\(_SB_.PCI0.PEG0.PEGP\)\s+ removeall_matched;
- into definitionblock code_regex External\s\(_SB_.PCI0.PEG1\)\s+ removeall_matched;
- into definitionblock code_regex External\s\(_SB_.PCI0.PEG2\)\s+ removeall_matched;
- into definitionblock code_regex External\s\(_SB_.PCI0.PEGP\)\s+ removeall_matched;
- into definitionblock code_regex External\s\(_SB_.PCI0.PEGP.GFX0\)\s+ removeall_matched;
- # Intel 9 Series Fixes
- into_all all code_regex _T_([0-6]) replaceall_matched begin T_%1 end;
- into_all method label _INI code_regex INIR\n replace_matched begin Store (Zero, INIR)\n end;
- into device label PCI0 code_regex (\s+Zero){2,} remove_matched;
- into_all method label ADBG code_regex (?<=Return\s\(MDBG\))\s+Arg0 remove_matched;
- into_all method label _PS3 code_regex PS3X\n replace_matched begin Store (Zero, PS3X)\n end;
- into_all method label _PS2 code_regex PS2X\n replace_matched begin Store (Zero, PS2X)\n end;
- into_all method label _PS0 code_regex PS0X\n replace_matched begin Store (Zero, PS0X)\n end;
- into_all method label GPEH insert begin Return (Zero) end;
- into method label _CRS parent_label PCI0 code_regex DWordField\s\(BUF0,\s\\_SB.PCI0._Y1E._LEN,\sMSLN\) replace_matched begin QWordField (BUF0, \\_SB.PCI0._Y1E._LEN, MSLN) end;
- into_all all code_regex Acquire\s\(MUT0,\s0x0FFF\) replace_matched begin Acquire (MUT0, 0xFFFF) end;
- into method label _HID parent_label _SB.PCI0.LPCB.TPM code_regex (Return\s\(Zero\)) remove_matched;
- into method label _HID parent_label _SB.PCI0.LPCB.TPM insert begin Return (Zero) end;
- into method label _PS0 parent_label NVM0 code_regex (Return\s\(Zero\)) remove_matched;
- into method label _PS0 parent_label NVM0 insert begin Return (Zero) end;
- into method label _PS0 parent_label XHC code_regex (Return\s\(Zero\)) remove_matched;
- into method label _PS0 parent_label XHC insert begin Return (Zero) end;
- into method label _PS0 parent_label RHUB code_regex (Return\s\(Zero\)) remove_matched;
- into method label _PS0 parent_label RHUB insert begin Return (Zero) end;
- into method label _PS3 parent_label NVM0 code_regex (Return\s\(Zero\)) remove_matched;
- into method label _PS3 parent_label NVM0 insert begin Return (Zero) end;
- into method label _PS3 parent_label XHC code_regex (Return\s\(Zero\)) remove_matched;
- into method label _PS3 parent_label XHC insert begin Return (Zero) end;
- into method label _DSM parent_label SHUB code_regex (Return\s\(Zero\)) remove_matched;
- into method label _DSM parent_label SHUB insert begin Return (Zero) end;
- into method label RDCA parent_label SHUB code_regex (Return\s\(Zero\)) remove_matched;
- into method label RDCA insert begin Return (Zero) end;
- into method label CNRS parent_label SHUB code_regex (Return\s\(Zero\)) remove_matched;
- into method label CNRS insert begin Return (Zero) end;
- into method label SPL1 parent_label SHUB code_regex (Return\s\(Zero\)) remove_matched;
- into method label SPL1 insert begin Return (Zero) end;
- into method label OE1X parent_label _GPE code_regex (Return\s\(Zero\)) remove_matched;
- into method label OE1X parent_label _GPE insert begin Return (Zero) end;
- # into method label TINI parent_label _SB.PCI0.RP05 code_regex (Return\s\(Zero\)) remove_matched;
- into method label TINI parent_label _SB.PCI0.RP05 insert begin Return (Zero) end;
- into method label TWAK parent_label _SB.PCI0.RP05 code_regex (Return\s\(Zero\)) remove_matched;
- into method label TWAK parent_label _SB.PCI0.RP05 insert begin Return (Zero) end;
- into method label TPTS parent_label _SB.PCI0.RP05 code_regex (Return\s\(Zero\)) remove_matched;
- into method label TPTS parent_label _SB.PCI0.RP05 insert begin Return (Zero) end;
- into method label SMSR parent_label _SB code_regex CreateDWordField\s\(Arg0,\s0x04,\sAEBX\)\s+ remove_matched;
- into method label SDSP parent_label AMW0 code_regex CreateDWordField\s\(Arg0,\sZero,\sACTN\)\s+ remove_matched;
- into method label GDSP parent_label AMW0 code_regex CreateDWordField\s\(Arg0,\sZero,\sACTN\)\s+ remove_matched;
- into method label DEVS parent_label AMW0 code_regex CreateDWordField\s\(Arg0,\s0x04,\sCPAR\)\s+ remove_matched;
- # Fixes 'Built-in' status for Intel Gigabit Ethernet
- into method label _DSM parent_label GLAN remove_entry;
- into device label GLAN insert begin
- Method (_DSM, 4, NotSerialized)\n
- {\n
- Store (Package (0x0C) {\n
- "AAPL,slot-name", "Built In",\n
- "name", "Intel Ethernet Controller",\n
- "model", "Intel I217-V Gigabit Network Controller",\n
- "device_type", Buffer (0x13) {"Ethernet Controller"},\n
- "built-in", Buffer (One) {0x01},\n
- "location", Buffer (0x02) {"1"}\n
- }, Local0)\n
- DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))\n
- Return (Local0)\n
- }
- end;
Alles anzeigen
Den Realtec Audio eintrag habe ich von den Toleda Patches angepasst (und die layout ID auf 7 gesetzt, damit es die
funktionierende Einstellung - audio layout id for AppleALC - aus der config.plist ersetzt)
die anderen Schritte waren wieder wie in der Anleitung.
Ich muss sagen ich kapiere grob, was ich da mache mit der DSDT, ich kapiere aber vor allem, dass ich ohne eure Hilfe aufgeschmissen bin und wäre euch darum sehr dankbar.
Bitte weißt mich darauf hin wenn mein Betrag falsch Formatiert oder ähnliches ist.
[/b]