CPUFriend Guide, HWP & Speedstep: X86PlatformPlugin vs ACPI_SMC_PlatformPlugin

  • CPU Friend Guide

    X86PlatformPlugin Customization und Anpassung – Perfektes Speedstepping

    Vor und Nachteile des X86PlatformPlugin vs ACPI_SMC_PlatformPlugin in der Diskussion: plugin-type=1 vs plugin-type=0


    In diesem ausführlichen Guide geht es um absolutes Feintuning – um das Ziel perfektes Apple-konformes CPU-Speedstepping und Frequenz-/Powermanagement zu erreichen. Ich will ein paar Anpassungsmöglichkeiten und Herangehensweisen für Speedstepping erklären und durchgehen, mitunter wird es aber nicht besonders unkompliziert und nutzerfreundlich.


    Das am häufigsten genannte Indiz für korrektes PowerManagement ist meistens das TaktFrequenz Verhalten der CPU. Dies kann unter macOS beispielsweise mit dem Intel Power Gadget ausgelesen werden, hierbei gilt jedoch zu beachten, dass der angezeigte Graph häufig und schnell die Realität ein wenig verzerrt. Deswegen ist es wichtig beim Testen von Speedstep im Intel Power Gadget das Log zu aktivieren und die dabei erzeugte Tabelle im Nachhinein auszuwerten. Hier werden die "echten" Frequenzen angezeigt.


    Vereinfacht gesagt stellt macOS zwei Treiber zur Verfügung, die genutzt werden können um allgemein das Powermanagement zu kontrollieren: ACPI_SMC_PlatformPlugin und X86PlatformPlugin. Beide Kexts liegen unter /System/Library/Extensions/IOPlatformPluginFamily.kext/Contents/PlugIns.

    Das ACPI_SMC_PlatformPlugin stammt zwar aus Zeiten vor Ivy Bridge Prozessoren, hat aber die schöne Eigenschaft, dass es die benötigten Daten über die CPU größtenteils aus dem ACPI ließt, was in den meisten Fällen dazu führt, dass viele CPU Frequenzen verfügbar sind und die CPU "schön" taktet. Das ACPI_SMC_PlatformPlugin ist für aktuelle Prozessoren und Hardware jedoch nicht wirklich konzipiert, sondern nur ein Fallback. Das X86PlatformPlugin ist das korrekte Plugin für aktuelle CPUs und Chipsets. Das Plugin sowie die bekannte Technologie XCPM (Xnu Power Management) ist tief in den Kernel Integriert und hat Einfluss auf viele Verschiedene Bereiche:

    Xcpm ist tief in den Kernel Integriert und hat weitreichende Auswirkungen und Dependenzen. Das X86PlatformPlugin sorgt (von seiner Funktion her) für korrektes Speedstepping, aber hat Einfluss auf viel mehr als nur das, wie zB System Capabilities, Sleep, Wake, DVFS, HWP, (AGPM), (Temp-/FanManagement), Shutdown-, Reboot-, Reset- und PowerFailure Monitoring, ME Events, Energiehaushalt/PowerProfiles, Boot Geschwindigkeit, (Systemeinstellungen), etc.


    GUIDE:

    Das X86PlatformPlugin lädt nur, wenn macOS für die installierte CPU das Property plugin-type=1 bereitgestellt wird. (plugin-type=0 sorgt dafür, dass das ACPI_SMC_PlatformPlugin lädt)

    Um plugin-type=1 zu injecten können wir eine SSDT benutzen, ein gutes Template hierfür ist diese SSDT-PLUG. (Für IvyBridge CPUs hier entlang)

    Im Gegensatz zum ACPI_SMC_PlatformPlugin holt sich das X86PlatformPlugin seine Informationen nicht aus dem ACPI, sondern aus SMBios-abhängigen Profilen. In /System/Library/Extensions/IOPlatformPluginFamily.kext/Contents/PlugIns/X86PlatformPlugin.kext/Contents/Resources sind für sämtliche Board-IDs Profile mit Properties und Daten hinterlegt. Zu diesen Daten gehören ebenfalls die FrequencyVectors (siehe Plists), welche das Speedstepping der CPU beeinflussen, und mit genau diesen Frequency-Vectors wollen wir uns im Laufe des Guides beschäftigen.


    Da die Profile also SMBios abhängig sind, müssen wir jetzt erstmal ein SMBios finden, dass am besten zu unserer CPU passt (wir werden unser per Clover/OC/Oz injectetes SMBios nicht ändern! Bitte weiterlesen). Es empfiehlt sich MacTracker zu nutzen. Ihr solltet unbedingt einen Mac finden, der die gleiche CPU Generation besitzt (zB Kaby Lake). Die genauen CPU-Modell Bezeichnungen können von Mac zu eigener Hardware variieren, also am besten etwas möglichst Nahes wählen. Bei zB einem i5-8265U bietet sich das MacBookPro15,4 SMBios mit i5-8257U an, denn beide Prozessoren haben laut Intel Website die gleiche maximale Taktrate von 3,9 GHz (Wichtig! Wenn nicht möglich, dann möglichst nah) und gehören der gleichen Prozessor Generation an. Wir merken uns "MacBookPro15,4" und/oder die passende Board-ID von zB hier.


    Pike R. Alpha hat Teile der Frequency-Vectors entschlüsselt und ein Skript namens freqVectorsEdit geschrieben. Dieses Script wollen wir jetzt erstmal für den Anfang benutzen, da es uns hilfreiche Informationen gibt und erste sinnvolle Anpassungen vornimmt, auf die ich jetzt nicht explizit eingehen will.

    Also, Script herunterladen, ggf ausführbar machen (chmod, chown) und auf ein geöffnetes Terminal-Fenster ziehen. Dahinter setzen wir noch die Debug Anweisung, sodass es so aussieht: ./freqVectorsEdit.sh -d 1 und führen den Befehl aus.

    Das Script analysiert jetzt alle "Mac-... .plists" aus dem X86PlatformPlugin und stellt uns verschiedene Informationen bereit, Mac-Modelle mit passender maximal Frequenz werden automatisch blau markiert. Warum ist das wichtig?

    In den Profilen aus dem X86PlatformPlugin sind häufig mehrere FrequencyVectors hinterlegt. macOS wählt die entsprechende Spalte je nach Maximalfrequenz der CPU aus. Beispiel /System/Library/Extensions/IOPlatformPluginFamily.kext/Contents/PlugIns/X86PlatformPlugin.kext/Contents/Resources/Mac-53FDB3D8DB8CA971.plist

    Hat unsere CPU einen MaxClock von 3900mHz wird Eintrag 0 unter FrequencyVectors benutzt, bei 4500mHz der andere.


    Mit den gegebenen Daten haben wir jetzt also das korrekte CPU SMBios ausgewählt. Jetzt machen wir folgendes:

    1. SIP deaktivieren (per config.plist Eintrag oder Terminal) -> Neustarten
    2. Aus /System/Library/Extensions/IOPlatformPluginFamily.kext/Contents/PlugIns/X86PlatformPlugin.kext/Contents/Resources folgende Plists finden und als Backup auf dem Schreibtisch sichern: 1. die Plist unserer aktuell gesetzten SMBios Board ID; 2. die Plist unserer für die CPU gewollten Board ID (unter Catalina+ mit KextUpdater -> Werkzeuge die Systempartition als read/write mounten)
    3. Danach freqVectorsEdit im Terminal ausführen (siehe oben) und die Plist die wir für die CPU wollen per Nummer auswählen (entsprechend unseren Recherchen)
    4. freqVectorsEdit patcht jetzt die entsprechende Plist im X86PlatformPlugin und überschreibt die Alte (welche wir gebackupt haben)
    5. Danach unsere Plist aus /System/Library/Extensions/IOPlatformPluginFamily.kext/Contents/PlugIns/X86PlatformPlugin.kext/Contents/Resources kopieren und sichern. Wir wollen genau das Produkt von freqVectorsEdit, wir wollen aber nicht, dass das X86PlatformPlugin modifiziert wurde
    6. Also kopieren wir unsere gebackupte Plist von Schritt 1 wieder zurück an ihren alten Ort, sodass dort alles wie eh und jeh ist
    7. Mit KextUpdater unter Werkzeuge Kextcache neu aufbauen und Rechte reparieren

    Wir haben jetzt also eine X86PlatformPlugin Plist – von freqVectorsEdit gepatcht – in einem eigenen Ordner vorliegen. Weiter gehts.

    Wir öffnen diese Plist mit einem Plist Editor und beachten 2 Dinge:

    1. Unter Frequencies steht ein Eintrag mit genau der Maximalfrequenz unserer installierten CPU. Wenn nicht, passen wir den nähesten Eintrag auf unseren MaxClock an und merken uns den Index.
    2. Wer gerne 2 (statt einem) Slider in Systemeinstellungen -> Energie Sparen haben will, setzt ganz unten UnifiedSleepSliderPref auf false

    Jetzt suchen wir unter FrequencyVectors den Eintrag raus, der unserem Index/Takt bei Frequencies entspricht. Der i5-8265U MaxClock ist 3900 und das steht auf Index 0 (siehe Bild oben), also wähle ich die Daten bei FrequencyVectors Index 0 aus.

    Wir kopieren die FrequencyVectors-Daten in einen Hex Editor.

    1. Wenn wir eine CPU größer, gleich Skylake haben, unterstützt sie wahrscheinlich HWP (Hardware P-States) (am besten nochmal für die CPU googeln!) und deswegen ist es wichtig, dass unsere FrequencyVectors dies auch tun. Am Ende der Hex Daten können wir evtl folgendes sehen:

    (Mac-53FDB3D8DB8CA971) "hwp on"

    und das zeigt uns, dass HWP supported ist. Ist der Eintrag nicht vorhanden und wir benutzen eine HWP CPU, müssen wir uns eine neue Plist suchen! In Hex lautet die Folge: 687770 [...] 010000006F6E, also einfach danach suchen.


    2. Alle FrequencyVectors beginnen mit 02000000, danach folgt beispielsweise 0C000000. Diese 4 byte (8 Zahlen) sind der LFM (Low Frequency Mode), welchen wir anpassen müssen. Also googeln wir den LFM oder TDP-down für unsere CPU. In unserer Plist entspricht 0C 00 00 00 = 0C (hex) was in dezimal 12, also 1200MHz ist. Der i5-8265U hat einen 800MHz LFM, also tragen wir 8 (dec) -> 08000000 (hex) anstatt 0C000000 ein.

    Manche CPUs vertragen sogar noch weniger, beispielsweise hat sich bei meinem i5-8265U herausgestellt, dass selbst 500MHz möglich sind. Also evtl ausprobieren.


    3. Wir kommen zum EPP, dem Energy Performance Preference (im Screenshot oben auch sichtbar). Dies ist ein Wert für HWP CPUs, der die Aggressivität des Taktverhaltens steuert und wie eine Präferenz festgelegt werden kann. Der EPP liegt zwischen 0x00 (0) und 0xFF (255) und entspricht grob folgenden Richtlinien:

    RichtlinieEPPEPB (siehe 4.)
    performance0x00 - 0x400 - 4
    balance-performance0x40 - 0x804 - 8
    normal, default0x606
    balance-power0x80 - 0xC08 - 12
    power0xC0 - 0xFF12 - 15

    Wir müssen uns für einen Wert zwischen 0x00 (0) und 0xFF (255) entscheiden, je niedriger desto schneller taktet die CPU nach oben. Wenn wir ihn zu niedrig setzen kann es sein, dass die CPU später praktisch nie im Idle die LFM Frequenz erreichen wird. Wenn wir den Wert zu hoch setzen kann es sein, dass unsere CPU praktisch garnicht mehr in den Turbo schaltet. Hier ist also evtl später etwas probieren gefragt. Für Desktops eignet sich meist ein Wert zwischen performance und balance-performance, zB 0x40. Für Laptops empfiehlt sich meist ein Wert im balance-power bis power Bereich, zB 0xC0.

    Sobald wir uns entschieden haben suchen wir im Hex Editor die Folge 65707000 (epp) und passen 16 bytes später den Wert an, also zB von 65707000000000000000000000000000000000006000 zu 6570700000000000000000000000000000000000C000 (normal -> stromspar)


    4. EPB ist eine Art Fallback zu EPP, wenn EPP nicht unterstützt ist. Also sollten wir EPB (IA32_ENERGY_PERF_BIAS) auch noch passend zum gewählten EPP setzen (siehe Tabelle). Der Wert findet sich 16 bytes hinter perf-bias, eine mögliche Anpassung wäre zB 706572662D6269617300000000000000000000000500 zu 706572662D6269617300000000000000000000001200.


    Unsere angepassten FrequencyVectors können wir jetzt aus dem Hex Editor wieder in das entsprechende Feld des PlistEditors kopieren und unsere Custom X86Platform Plist speichern.


    Jetzt laden wir als letztes CPU-Friend herunter und ziehen das Tool ResourceConverter.sh ins Terminal. Der Befehl lautet ./ResourceConverter.sh -a "Mac-... .plist" wobei wir anstatt "Mac-... .plist" unsere Custom X86Platform Plist ins Terminal ziehen. Es wird eine ssdt im Ausgangsordner erstellt.

    Wir öffnen MaciASL, lassen uns die DSDT anzeigen und suchen nach CPU0 oder PR00 um die ACPI ID unserer CPU herauszufinden. Sobald wir etwas finden wie

    Code
    1. Scope (_PR)
    2. {
    3. Processor (CPU0, 0x01, 0x00001810, 0x06) {}

    wissen wir, dass unsere CPU zB bei _PR_.CPU0 liegt.

    Als letztes öffnen wir die von ResourceConverter erstellt ssdt_data.dsl mit MaciASL und stellen sicher, dass als External und Scope jeweils die gerade gefundene ACPI ID eingetragen ist. Danach Save As -> File Format: ACPI Machine... aml, speichern. Die SSDT wird normal über die EFI eingebunden (nicht parallel mit SSDT-PLUG nutzen!) und CPUFriend normal als Kext eingebunden.

    Neustart -> testen -> hoffentlich freuen :) Voraussetzung ist, dass das X86PlatformPlugin jetzt geladen wird. Dies lässt sich prüfen mit kextstat | grep -R X86 im Terminal.


    Und für die ganz Harten gibts dann auch noch VoltageShift, aber das wird jetzt wirklich zu viel.




    Älterer Lesestoff: SMBIOS iMac17,1 / Skylake i76700K und Powermanagement - wie funktioniert es richtig?

    Guide wurde eingefügt. Ehemaliger Beginn des Threads ohne Guide:

    Du kannst den PluginType in der SSDT-PLUG.aml auf 0 setzen

    Darf ich fragen wieso? :)

    Du kommst bei deinem Problem nach dem unendlichsten Versuch nicht weiter? Dann schreib mir eine Nachricht für eine TeamViewer Sitzung. Nur wenn es gar nicht mehr weiter geht!
    Alle anderen Fragen und Anliegen gehören ins Forum.

    17 Mal editiert, zuletzt von kuckkuck ()

  • Nicht deaktivieren, den PluginType in der SSDT-PLUG.aml auf 0 setzen

    Hab ich jetzt auch mal gemacht. Meine CPU Tacktet mit PluginType = 1 immer über 3GHz und kommt nie unter 2GHz. Warum auch immer.



    Vorher / Nachher



    Liebe Grüße, alex


     Mac mini Late 2020 – M1 – 16GB RAM – 256GB SSD

     MacBook Pro 15” Late 2015 – i7 4980HQ – 16GB RAM – 256GB SSD

     MacBook Pro 13” Late 2014 – i5 4278U – 8GB RAM – 120GB SSD

    iPhone 13 – iPhone 8 Plus – iPad Pro 12,9" – AirPods 1. Gen – AirPods Pro – Apple Watch S5 44mm




    Einmal editiert, zuletzt von revunix ()

  • Ja, bei mir ist das auch so. Mich würde mal sehr interessieren, wie sich das an nem echten iMac verhält, wenn Power Nap etc. aktiviert ist.

    HACKINTOSH für Musik- und Videoproduktion

    EFI-Ordner für mein System:

    Gigabyte Z390 DESIGNARE: OpenCore-EFI-Ordner und Anleitung

  • karacho Verstehe, aber ich würde nicht unbedingt dazu raten das ACPI_SMC_PlatformPlugin zu benutzen. Ist vielleicht eine Notlösung, aber im Regelfall sollte das per X86PlatformPlugin überall irgendwie möglich sein und ist imo die bessere Variante :)

    Du kommst bei deinem Problem nach dem unendlichsten Versuch nicht weiter? Dann schreib mir eine Nachricht für eine TeamViewer Sitzung. Nur wenn es gar nicht mehr weiter geht!
    Alle anderen Fragen und Anliegen gehören ins Forum.

  • kuckkuck Bringt keine Nachteile. Teils ist sogar das Gegenteil der Fall. Bei IGPU Nutzung sollte man aber tatsächlich das X86PlatformPlugin nutzen wegen AGPM.

    LG Chris


    Meine Hardware:

  • dutch64 Per CPUFriend lässt sich die Funktion des X86PlatformPlugins anpassen, Voraussetzung ist dass das X86PlatformPlugin lädt.


    Bringt keine Nachteile. Teils ist sogar das Gegenteil der Fall.

    Das musst du mir jetzt erklären, sowohl warum das keine Nachteile haben sollte und wo die Vorteile liegen. Ich sehe bei Xnu Power Management wenige Nachteile, xcpm ist tief in den Kernel Integriert und hat weitreichende Auswirkungen und Dependenzen. Das X86PlatformPlugin sorgt (von seiner Funktion her) für korrektes Speedstepping, aber hat Einfluss auf viel mehr als nur das, wie zB System Capabilities, Sleep, Wake, DVFS, HWP, (AGPM), (Temp-/FanManagement), Shutdown-, Reboot-, Reset- und PowerFailure Monitoring, ME Events, Energiehaushalt/PowerProfiles, etc. Ich kenne garnicht alle Abhängigkeiten, aber in meinen Augen spricht alles dafür, dass das X86PlatformPlugin für neue CPUs laden sollte, um korrektes PowerManagement im Allgemeinen zu ermöglichen, auch spricht imo oberflächlich gesehen die häufig deutlich bessere Bootzeit dafür. Würde mich interessieren wie du zu deinem Schluss kommst :)

    Du kommst bei deinem Problem nach dem unendlichsten Versuch nicht weiter? Dann schreib mir eine Nachricht für eine TeamViewer Sitzung. Nur wenn es gar nicht mehr weiter geht!
    Alle anderen Fragen und Anliegen gehören ins Forum.

  • Dafür hat er ja jetzt bei 'Energie sparen' einen Slider mehr...

    Und selbst den kriegt man wenn man ihn unbedingt haben will per X86PlatformPlugin [wech]

    Du kommst bei deinem Problem nach dem unendlichsten Versuch nicht weiter? Dann schreib mir eine Nachricht für eine TeamViewer Sitzung. Nur wenn es gar nicht mehr weiter geht!
    Alle anderen Fragen und Anliegen gehören ins Forum.

  • Das musst du mir jetzt erklären, sowohl warum das keine Nachteile haben sollte und wo die Vorteile liegen.

    Zunächst mal grundlegend: Natürlich ist das X86PlatformPlugin (also PluginType=1) die zu bevorzugende Variante. ACPI_SMC_PlatformPlugin wird wahrscheinlich auch nicht mehr lange in macOS erhalten bleiben da Vintage Überrest.


    Es gibt aber halt durchaus Fälle wo man einen Rechner als schnellen Fix durchaus mit PluginType=0 / ACPI_SMC_PlatformPlugin laufen lassen kann. Ich hatte nun schon ein paar Fälle wo das Speed Stepping einfach nicht richtig wollte und da halfen auch die üblichen verdächtigen Fixes inklusive CPUFriend nichts. Mit ACPI_SMC_PlatformPlugin lief es dann aber einwandfrei.


    Ich selbst lasse meinen Hacki fast durchgehend mit dem ACPI_SMC_PlatformPlugin laufen und das hat folgende Gründe:

    • CPU geht im Idle auf bis zu 700MHz runter und verbleibt auch länger im unteren Taktbereich als mit PluginType=1 + CPUFriend was mir im Idle 1 bis 2 Grad weniger an der CPU bringt und den Idle Verbrauch vom System nochmal ein wenig verringert
    • Die Takt Kurve im Intel Power Gadget sieht wesentlich schöner (gleichmäßiger) aus wenn man sie z.B. bei einem, klassischen Office Workload beobachtet
    • CPU Benchmarks werden davon im übrigen nicht negativ beeinflusst, teils ist sogar das Gegenteil der Fall
    • Gelegentlich auftretendes Coil Whine vom Mainboard bei Anwendungen mit schnellem Lastwechsel auf der CPU verschwindet
    • AGPM wird nicht geladen was zumindest bei mir nachweislich die Performance in manchen Games stört. Ein paar Games laufen ohne AGPM deutlich runder egal ob nun mit PluginType=1 oder PluginType=0. Auf den Stromverbrauch der GPU hat das ganze interessanterweise keinerlei Einfluss.
    • PowerNap nervt! Seit Catalina kann man den Rotz deaktivieren wie man will, der Rechner wacht trotzdem sporadisch nachts mit nem RTC Alarm auf und reißt mich aus dem Schlaf. Passiert im übrigen auch an meinen echten Macs. Auf PluginType=0 hat der Spuk ein Ende und der Rechner bleibt im Standby wenn ich ihn schlafen schicke.

    Für mich ist das alles jedenfalls Grund genug das ACPI_SMC_PlatformPlugin zu nutzen wenn es schonmal da ist. Mag ja sein, dass da noch irgendwelche anderen Sachen außer PowerNap und AGPM in macOS außer Funktion gesetzt werden. Negative Auswirkungen habe ich dadurch jedoch noch nicht bemerkt. Insofern ist mir das auch völlig wurscht.

    LG Chris


    Meine Hardware:

  • apfelnico OpenUsbDxe.efi hatte ich eh schon drin. Ich hab jetzt mal noch XhciDxe.efi mit rein, macht aber keinen Unterschied. Dafür denkt OpenCore jetzt, wenn ich (eben mehrfach) Cmd-Alt-P-R drücke, ich würde einfach nur R drücken und startet dann von der Recovery :-D

    Naja. Kann man wohl nix machen.


    CMMChris Ich hab bei mir jetzt mal CPUFriend mit rein und mir mit dem CPUFriendFriend-Skript eine ssdt_data.aml erstellen lassen, die (da sie Plugin-Type One eh schon enthält) jetzt bei mir statt der SSDT-PLUG drin ist.

    External (_PR_.PR00, DeviceObj) hab ich noch durch External (_SB_.PR00, ProcessorObj) ersetzt. Außerdem noch Scope (\_PR.PR00) durch Scope (\_SB.PR00). Das war in der selbst generierten SSDT-PLUG nämlich auch so.

    Im Idle liege ich in der Regel nach wie vor bei etwas über 2 GHz, aber dafür liegt das Minimum nun bei 800 MHz (so wie ich es in eingestellt habe).

    Wenn ich darauf jetzt keinen Bock habe und auch Power Nap nicht haben will: Hab ich es jetzt richtig verstanden, dass das ACPI_SMC_PlatformPlugin automatisch genutzt wird, wenn ich nun in der ssdt_data.aml Plugin-Type auf Zero setze?

    HACKINTOSH für Musik- und Videoproduktion

    EFI-Ordner für mein System:

    Gigabyte Z390 DESIGNARE: OpenCore-EFI-Ordner und Anleitung

  • Hab ich es jetzt richtig verstanden, dass das ACPI_SMC_PlatformPlugin automatisch genutzt wird, wenn ich nun in der ssdt_data.aml Plugin-Type auf Zero setze?

    Ja aber man kann sich die SSDT auch einfach sparen weil das ACPI_SMC_PlatformPlugin der Default ist wenn kein PluginType übergeben wird. Das ACPI_SMC_PlatformPlugin nutzt die vom BIOS generierten CPU Power Management Daten (CPU SSDTs).

    LG Chris


    Meine Hardware:

  • CMMChris Wie sieht das eigentlich aus mit CPUFriend und PluginType 1 wenn man Daten von einem anderen Mac verwendet die z.B die CPU verbaut hat die ich habe ?!

    Mal angenommen ich habe das SMBIOS: iMacPro1,1 und verwende mit CPUFriend die Daten vom iMac19,1 denn der hat den i5 8600 verbaut. Macht das sinn bzw. funktioniert das so überhaupt?

    Liebe Grüße, alex


     Mac mini Late 2020 – M1 – 16GB RAM – 256GB SSD

     MacBook Pro 15” Late 2015 – i7 4980HQ – 16GB RAM – 256GB SSD

     MacBook Pro 13” Late 2014 – i5 4278U – 8GB RAM – 120GB SSD

    iPhone 13 – iPhone 8 Plus – iPad Pro 12,9" – AirPods 1. Gen – AirPods Pro – Apple Watch S5 44mm




  • revunix Die Daten für CPUFriend kannst du dir einfach selber generieren:

    https://github.com/corpnewt/CPUFriendFriend

    "This Py script will inspect the frequency vectors of the X86PlatformPlugin plist matching your SMBIOS configuration and leverage acidanthera's CPUFriend ResourceConverter to help you optimize your power management configuration."

    Du musst nur den LFM-Wert für deine CPU im Datenblatt nachschauen (bei mir beispielsweise 800 MHz). Danach ist es am einfachsten, die generierte CPUFriendDataProvider.kext zusätzlich zu CPUFriend.kext zu verwenden. Und das war’s dann auch schon.

    HACKINTOSH für Musik- und Videoproduktion

    EFI-Ordner für mein System:

    Gigabyte Z390 DESIGNARE: OpenCore-EFI-Ordner und Anleitung

  • Könnte ein Mod die ganze PowerManagement Diskussion mal in einen extra Thread schieben? Hat ja nicht nur was mit OC zu tun :)


    CMMChris Ich stimme dir definitiv zu, wenn es um einen "schnellen Fix" geht kann man das ACPI_SMC Plugin definitiv mal aktivieren, meist hat das ja direkt die Auswirkung, dass zumindest Speedstepping erstmal funktioniert. Aber nichts anderes habe ich ja geschrieben

    Ist vielleicht eine Notlösung,

    Da das X86PlatformPlugin aber nunmal die zu bevorzugende Variante ist, finde ich sollte man vorsichtig sein, wenn man Neuankömmlingen zu plugin-type=0 rät und mitgibt, dass alles in Butter ist und keinerlei negative Effekte auftreten können. Das ist alles um was es mir ging.

    Als Gegenbeispiel kann ich von meinem neu eingerichteten Laptop berichten, hier läuft Speedstep CPU-gesteuert über das X86PlatformPlugin und HWP was entsprechende Performance Verbesserungen mit sich bringt, hat einen LFM von variabel 400-800Mhz wenn ich das will und geht nur bei lang andauerndem Workload überhaupt in den Turbo. Die Energieeffizienz ist dementsprechend hoch, die Frequenzen sind aktuell von 500Mhz bis 3900Mhz praktisch im ganzen Spektrum verfügbar und zusätzlich habe ich auch noch 2 Slider in den Systemeinstellungen -> Energie Sparen. PowerNap tut soweit trotz Catalina auch das was es soll, und zwar deaktiviert sein, aber das werde ich mir nach deinem Tipp nochmal bisschen genauer anschauen.

    Ich kann gerne mal in einem extra Thread dazu etwas genauer erläutern, wie man das X86PlatformPlugin möglichst auf die vorhandene HW optimiert, vielleicht waren da ja einfach nur ein paar Einstellungen blöd gesetzt bei manch einem. Was AGPM angeht frage ich mich, ob es nicht schlauer wäre den Treiber einfach anderweitig zu deaktivieren, da kenne ich aber die aktuelle Lage nicht so ganz.


    muster48 Per CPUFriend kann man eine entsprechend angepasste X86PlatformPlugin Plist übergeben. Mehr dazu kann ich ja mal in einem anderen Thread ausführen.

    Du kommst bei deinem Problem nach dem unendlichsten Versuch nicht weiter? Dann schreib mir eine Nachricht für eine TeamViewer Sitzung. Nur wenn es gar nicht mehr weiter geht!
    Alle anderen Fragen und Anliegen gehören ins Forum.

  • Wir hatten hier über das Thema diskutiert.

    SMBIOS iMac17,1 / Skylake i76700K und Powermanagement - wie funktioniert es richtig?


    Bin auch immer gerne bereit hier mit zu diskutieren da es ein sehr interessantes Thema ist. Mein I7-7500U ist da auch sehr heikel und man kann da richtig Spielen mit den Einstellungen.

    Hier aktuelle Ergebnis mit im Moment verwendeter CPU ssdt-i7-7500U + CPUFriend.kext + CPUFriendDataProvider.kext.



    Eventuell kann einer der Mods die Einträge verscheiben und das Thema etwas anpassen.

  • pstr

    Auch OC 0.58 mit OpenCanopy bootet seit kurzem nach Timeout durch .

    Habe auch 0.5.8 und timeout auf 0 bei mir bootet der hacki nicht durch



    CMMChris


    Ich selbst lasse meinen Hacki fast durchgehend mit dem ACPI_SMC_PlatformPlugin laufen und das hat folgende Gründe:

    CPU geht im Idle auf bis zu 700MHz runter und verbleibt auch länger im unteren Taktbereich als mit PluginType=1 + CPUFriend was mir im Idle 1 bis 2 Grad weniger an der CPU bringt und den Idle Verbrauch vom System nochmal ein wenig verringert

    Trotz PluginType=0 dümpelt meiner nicht mal unter 1.2 Ghz, da müsste doch was anderes im Busch sein?

    Mac Mini M2 Pro (2023) 16 GB RAM. 512 GB Sonoma 14.2

    real iMac 13.1    Ventura 13.01 (late 2012)

    real MacBook Pro 14.2 Sonoma 14.2   13" 2018



  • @Mods Kann jemand diese Beiträge mal bitte in einen eigenen Thread packen? :)


    3373 - 3377, 3380, 3382, 3384, 3389, 3391, 3398 - 3399, 3402 - 3406, 3409 - 3410


    Wäre sehr lieb, dann können wir dort weiterforschen :)

    Du kommst bei deinem Problem nach dem unendlichsten Versuch nicht weiter? Dann schreib mir eine Nachricht für eine TeamViewer Sitzung. Nur wenn es gar nicht mehr weiter geht!
    Alle anderen Fragen und Anliegen gehören ins Forum.