# Activarea X86PlatformPlugin

Așadar, înainte de a putea regla fin gestionarea energiei după bunul nostru plac, trebuie mai întâi să ne asigurăm că nucleul XCPM al Apple este încărcat. Rețineți că acest lucru este acceptat numai pe Haswell și mai nou (cu Ivy Bridge-E), CPU Sandy, Ivy Bridge și AMD de consum ar trebui să se refere la partea de jos a ghidurilor:

(Deschideți o fereastră nouă) și căutați AppleACPICPU (rețineți dacă utilizați căutarea, nu va afișa copiii așa că ștergeți căutarea după ce ați găsit intrarea):

XCPM Prezent XCPM lipsă
gestionării

După cum puteți vedea din imaginea din stânga, avem atașat X86PlatformPlugin, ceea ce înseamnă că driverele de gestionare a alimentării procesorului Apple își fac treaba (Rețineți că numele procesorului nu contează, numele procesorului vin în multe variante, cum ar fi CP00, CPU0, PR00 etc. contează că AppleACPICPU se atașează la acesta). Dacă obțineți ceva asemănător cu imaginea potrivită, atunci probabil că există o problemă. Asigurați-vă că verificați următoarele:

    SSDT-PLUG.aml este prezent și activat în config.plist și EFI/OC/ACPI
      Dacă vă lipsește acest lucru, mergeți la Noțiuni introductive despre ACPI

    (se deschide o fereastră nouă) despre cum se realizează acest lucru

  • SSDT-PLUG este setat la primul fir al procesorului dvs., puteți verifica selectând primul CPU listat (CP00 pentru exemplul nostru) și asigurați-vă că aveți acest lucru în proprietăți:
  • Notă X99:

    XCPM nu acceptă în mod nativ Haswell-E și Broadwell-E, ceea ce înseamnă că trebuie să falsificăm ID-ul procesorului într-un model care acceptă XCPM:

    Haswell-E:

    • Kernel -> Emulează:
      • Cpuid1Data: C3060300 00000000 00000000 00000000
      • Cpuid1Mask: FFFFFFFF 00000000 00000000 00000000

    Broadwell-E:

    • Kernel -> Emulează:
      • Cpuid1Data: D4060300 00000000 00000000 00000000
      • Cpuid1Mask: FFFFFFFF 00000000 00000000 00000000

    # Utilizarea CPU Friend

    Pentru început, vom avea nevoie de câteva lucruri:

    • X86PlatformPlugin încărcat
      • Aceasta înseamnă că CPU-urile Sandy, Ivy Bridge și AMD nu sunt acceptate
    • CPUFriend

      (se deschide o fereastră nouă)

      • Această furcă are câteva caracteristici suplimentare care pot ajuta atât la simplificarea procesului, cât și la utilizarea unui control mai bun

    # LFM: Mod de joasă frecvență

    Acum permiteți rularea CPUFriendFriend.command:

    Când deschideți prima dată CPUFriendFriend, veți fi întâmpinat cu un prompt pentru alegerea valorii LFM. Acest lucru poate fi văzut ca podeaua procesorului sau cea mai mică valoare la care va rămâne inactiv. Această valoare poate ajuta foarte mult la funcționarea corectă a somnului, deoarece macOS trebuie să poată trece cu ușurință de la S3 (somn) la S0 (trezire).

    Pentru a determina valoarea LPM, puteți fie:

      Căutați frecvența TDP-down pe site-ul Intel ARK

    (se deschide o fereastră nouă)

    • Rețineți că majoritatea procesoarelor nu au o valoare listată, deci va trebui să vă determinați
  • Sau alegeți valorile recomandate:
  • GenerationLFM ValueComment
    Laptop-uri Broadwell +08Echivalentul a 800Mhz
    Broadwell + Desktop-uri0AEchivalent cu 1000Mhz
    Haswell/Broadwell HEDT/Server (adică X99)0DEchivalentul a 1300Mhz
    Skylake + HEDT/Server (adică X299)0CEchivalentul a 1200Mhz
    • Notă: Valoarea LFM este disponibilă numai pe Broadwell și SMBIOS mai noi
    • Nota 2: aceste valori nu sunt setate în piatră, fiecare mașină va avea caracteristici unice și așa că va trebui să experimentați ce funcționează cel mai bine pentru hardware-ul dvs.

    Pentru acest exemplu vom folosi i9 7920x

    (se deschide o fereastră nouă) care are un ceas de bază de 2,9 GHz, dar fără LFM, așa că vom alege 1,3 GHz (adică 1300Mhz) și vom lucra în sus/în jos până vom găsi stabilitate.

    • Rețineți că valoarea LFM este pur și simplu multiplicatorul procesorului, deci va trebui să vă tăiați valoarea în mod corespunzător
      • adică Împărțiți la 100, apoi convertiți în hexadecimal

    • Acordați o atenție deosebită că am folosit 13 pentru 1.3Ghz și nu 1.3

    # EPP: Preferință de performanță energetică

    Urmează preferința de performanță energetică, PPE. Acest lucru îi spune MacOS cât de repede se poate turbo CPU până la ceasul său complet. 00 îi va spune macOS să lase CPU să meargă cât de repede poate, în timp ce FF îi va spune macOS să ia lucrurile încet și să lase CPU să se ridice într-o perioadă mult mai lungă de timp. În funcție de ceea ce faceți și de răcirea mașinii dvs., poate doriți să setați ceva la mijloc. Graficul de mai jos vă poate ajuta puțin:

    Viteza EPP
    0x00-0x3F Performanță maximă
    0x40-0x7F Performanță echilibrată
    0x80-0xBF Echilibrează puterea
    0xC0-0xFF Economisire maximă de energie

    Notă: Doar Skylake și SMBIOS mai noi acceptă oficial EPP

    # Bias de performanță

    Această intrare finală este pentru a ajuta MacOS să afle ce fel de performanță generală doriți de la CPU. Recomandarea generală depinde de configurarea dvs. exactă, iar experimentarea vă ajută să aflați ce este mai bine pentru dvs.

    # A curăța

    După ce ați terminat, vi se va furniza un CPUFriendDataProvider.kext și ssdt_data.aml. Ceea ce alegeți este preferința dvs., dar vă recomand varianta kext pentru a evita orice durere de cap cu injectarea de date în Windows și Linux.

    • Notă: Ordinea de încărcare nu contează cu CPUFriendDataProvider, deoarece este doar un kext numai plist
    • Nota 2: Problemele de trezire rezultate din CPUFriend se datorează probabil unor vectori de frecvență incorecte, fiecare sistem este unic, așa că va trebui să vă jucați până când veți obține o configurare stabilă. Panicile kernelului vor avea eșecul Sleep Wake în efi .
    • Nota 3: Dacă alegeți să utilizați ssdt_data.aml, rețineți că SSDT-PLUG nu mai este necesar. Cu toate acestea, configurarea pentru acest SSDT este întreruptă pe platformele HEDT precum X79, X99 și X299, deci recomandăm cu încredere SSDT-PLUG cu CPUFriendDataProvider.kext în schimb.

    # Gestionarea energiei Sandy și Ivy Bridge

    Cu Sandy și Ivy Bridge, computerele de consum au probleme legate de conectarea la XCPM de la Apple. Deci, pentru a rezolva acest lucru, trebuie să ne creăm propriul tabel de gestionare a energiei.

    • Notă: CPU-urile Ivy Bridge-E acceptă oficial XCPM, vă rugăm să consultați în loc Activarea X86PlatformPlugin

    • Asigurați-vă că tabelele CpuPm și Cpu0Ist sunt NU scăzut
    • ssdtPRGen

    Inițial cu configurarea OpenCore în secțiunea Ivy Bridge, recomandăm utilizatorilor să renunțe la CpuPm și Cpu0Ist pentru a evita orice probleme cu AppleIntelCPUPowerManagement.kext. Dar renunțarea la aceste tabele are efectul negativ de a sparge turbo boost în Windows. Deci, pentru a rezolva acest lucru, vom dori să păstrăm tabelul OEM, dar vom dori să adăugăm un nou tabel pentru a suplimenta datele numai pentru macOS. Deci, odată ce am terminat de creat tabelul nostru CPU-PM, vom adăuga din nou SSD-urile CPU ale OEM-ului nostru.

    Pentru a începe, apucați config.plist apoi mergeți la ACPI -> Ștergeți și asigurați-vă că ambele secțiuni au Activat setat la YES:

    Valoare tip cheie
    Toate Boolean DA
    cometariu Şir Drop CpuPm
    Activat Boolean DA
    OemTableId Date 437075506d000000
    Lungimea mesei Număr 0
    TableSignature Date 53534454
    Valoare tip cheie
    Toate Boolean DA
    cometariu Şir Drop Cpu0Ist
    Activat Boolean DA
    OemTableId Date 4370753049737400
    Lungimea mesei Număr 0
    TableSignature Date 53534454

    Odată ce acest lucru este făcut, putem acum să preluăm ssdtPRGen și să îl rulăm:

    După ce ați terminat, vi se va furniza un SSDT.aml sub /Users/your-name>/Library/ssdtPRGen/ssdt.dsl, îl puteți găsi cu ușurință cu comanda rapidă și lipire Cmd + Shift + G

    Nu uitați să adăugați acum atât EFI/OC/ACPI cât și config.plist, vă recomand să îl redenumiți SSDT-PM pentru a-l găsi mai ușor.

    În cele din urmă, putem dezactiva ACPI-ul anterior -> Ștergeți intrările (Activat setat la NO):

    Valoare tip cheie
    Toate Boolean DA
    cometariu Şir Drop CpuPm
    Activat Boolean NU
    OemTableId Date 437075506d000000
    Lungimea mesei Număr 0
    TableSignature Date 53534454
    Valoare tip cheie
    Toate Boolean DA
    cometariu Şir Drop Cpu0Ist
    Activat Boolean NU
    OemTableId Date 4370753049737400
    Lungimea mesei Număr 0
    TableSignature Date 53534454

    # ssdtPRgen Depanare

    În timp ce ssdtPRgen încearcă să facă față oricăror probleme de incompatibilitate cu SSDT-ul OEM-ului dvs., este posibil să găsiți că încă se blochează la pornire deoarece OEM-ul dvs. a declarat deja anumite dispozitive sau metode în secțiuni precum _INI sau _DSM .

    Dacă găsiți în timpul pornirii primiți erori precum aceasta de la SSDT-PM:

    Acest lucru înseamnă că există unele conflicte, pentru a rezolva acest lucru, vă recomandăm să mutați informațiile ssdtPRgen într-un format ca acesta:

    Fiți foarte atenți la ceea ce am făcut:

    • S-a asigurat că obiectul Procesor este mutat în exterior
    • Mutați toate metodele în sfera procesorului

    Pentru editarea și recompilarea SSDT-PM, consultați aici: Noțiuni introductive despre ACPI

    # AMD Power Management CPU

    În timp ce este posibil ca macOS să nu accepte în mod oficial gestionarea alimentării procesorului AMD, există eforturi ale comunității pentru ao adăuga. În mod specific fiind SMCAMDProcessor

    (se deschide o fereastră nouă). Rețineți că atunci când adăugați acest kext, acesta ar trebui să fie după VirtualSMC în config.plist, deoarece este un plugin.

    Avertizare: Se știe că acest kext creează și probleme de stabilitate, dacă primiți panici aleatorii ale kernelului sau probleme de pornire pentru a ține cont de acest kext poate fi vinovatul.