CPUFriend Guide, HWP & Speedstep: X86PlatformPlugin vs ACPI_SMC_PlatformPlugin

  • Ich habe den Kernelpatch für IvyBrideg bei meiner Recherche neulich gefunden:



    Zusätzlich muss man noch in Kernel > Quirks noch AppleXcpmExtraMsrs aktivieren, wenn ich es richtig verstanden habe. Ich frage mich, ob man dazu dann auch SSDT-plug benötigt, um es einzuschalten. Ich probier's mal aus und melde mich mit Feedback.


    EDIT: ne, das wird so nix. Rechner läuft mit 1,2 gHz mit dem Patch und SSDT-Plug = 1 :D

  • Benutzt du macOS 10.15 und hast du per CPUFriend FrequencyVectors übergeben?


    Den XCPM Patch könnte ich gegebenenfalls mal auf symbolbasiert umschreiben, damit der Upgrades überleben kann.

    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.

  • Hallo Leute, das miz dem xcpm-patch hatte ich mir auch mal durchgelesen.

    Habe es mal ausprobiert, den X86PlatformPlugin vom iMac13,2 unter SMBIOS iMacPro1,1 mit Kernel->Force zu laden. Laut Dokumentation hat Force wohl eine andere Bedeutung.


    Für Sandy, Ivy und Haswell habe ich das hier gefunden auf insanely.mac


    https://www.insanelymac.com/fo…dyivy-bridgehaswell-cpus/

    Bilder

  • Ich brauche mal eure Hilfe.

    Irgend etwas stimmt nicht, sobald ich CPUFriend.kext und seinen "Data-Provider" aktiviere, bootet mein Rechner nicht mehr.

    Der Eintrag in der config.plist sollte doch OK sein, oder muss noch ein Executable path rein? (OC 0.6.2)


    Grüße, MacDream

  • Ok, Danke. Aber nur bei CPUFriend, nicht bei CPUFriendDataProvider.kext? Der enthält ja nur Daten denke ich...

    Grüße, MacDream

  • musst du auch nachschauen...eine muss vor dem andere geladen

    Ich glaube, CPUFriendDataProvider.kext muss zuerst sein!!

    Einmal editiert, zuletzt von Der_Trottel ()

  • Ist glaube ich latte, weil da nur ne plist drin ist. Wenn plugins drin sind, ist es nicht egal.

  • Yes, hat geklappt! Vielen Dank für die Tipps.


    Für den CPUFrien.kext braucht's auch einen ExecutablePath, bei dem CPUFriendDataProvider.kext kann der Pfad leer bleiben, ist nur eine plist Datei.

    Ich habe CPUFriendDataProvider.kext zuerst geladen, schien mir logisch.


    Naja, einen großartigen Unterschied kann ich nicht erkennen. Aber immerhin taktet die CPU jetzt auch kurzeitig bis auf 1,4 Ghz runter (AVG)

    Sieht jetzt so aus:


    Grüße, MacDream

  • Da ich mich in letzter Zeit mit dem Thema X86Platformplugin beschäftigt habe, hätte ich eine Frage bezüglich des freqVectorsEdit Skript.


    Das Skript kommt ja zur Anwendung, wenn man eine SMBios fremde CPU verwendet (z.B. benutztes SMBIOS iMacPro1,1 (Xeon) und passendes CPU SMBIOS iMac19,1 (i9-9900K). Dafür hat dieses Skript in /System/Library/Extensions/IOPlatformPluginFamily.kext/Contents/PlugIns/X86PlatformPlugin.kext/Contents/Resources die Mac-7BA5B2D9E42DDD94.plist (iMacPro1,1) mit den Daten der Mac-AA95B1DDAB278B95.plist (iMac19,1) gepatcht.


    Da wir jetzt aber die FrequencyVectors mittels CPUFriend unter Benutzung des CPUFriendDataProvider.kext+SSDT-PLUG oder der SSDT-DATA.aml (beides kann mit dem ResourceConverter.sh Skript, welches in CPUFriend/Tools enthalten ist, erstellt werden) injecten, sehe ich keinen Sinn dahinter zuerst das System (iMacPro1,1) X86PlatformPlugin mit dem CPU (iMac19,1) X86PlatformPlugin zu patchen und dann daraus (nachdem man gegebenenfalls die FrequencyVectors-Daten in einen Hex Editor angepasst hat) mittels ResourceConverter.sh Skript die CPUFriendDataProvider.kext/SSDT-DATA.aml zu erstellen.


    Da kann man doch gleich (in diesem Fall) aus der Mac-AA95B1DDAB278B95.plist mittels ResourceConverter.sh die CPUFriendDataProvider.kext/SSDT-DATA.aml erstellen.


    Ich könnte mir vorstellen, dass das FreqVectorsEdit Skript eingesetzt wurde, weil es die Möglichkeit mit CPUFriend zu injecten noch nicht gab.


    Oder übersehe ich da etwas?

  • Ich könnte mir vorstellen, dass das FreqVectorsEdit Skript eingesetzt wurde, weil es die Möglichkeit mit CPUFriend zu injecten noch nicht gab.

    Damit hast du Recht, aber trotzdem können wir FreqVectorsEdit immernoch benutzen, nur halt für einen anderen Zweck.

    Das modifizieren der Plist in S/L/E durch FreqVectorsEdit wollen wir im Endeffekt garnicht, deswegen steht folgendes im Guide:

    Wir wollen genau das Produkt von freqVectorsEdit, wir wollen aber nicht, dass das X86PlatformPlugin modifiziert wurde

    Und deswegen gibt es im Thread hier einige gepatchte FreqVectorsEdit-Versionen, die S/L/E nicht modifizieren, sondern die Plist am Ende auf den Schreibtisch legen.


    Warum benutzen wir also FreqVectorsEdit? Das liegt daran, dass FreqVectorsEdit nicht einfach nur die Plist umbenennt und erneut in S/L/E injected, sondern die Plist des aktuellen SMBios mit Daten des gewollten SMBios ausstattet und weitere kleine Veränderungen an der Plist vornimmt. (Du kannst ja mal eine durch FreqVectorsEdit gepatchte Plist mit der originalen Plist des gewollten SMBios vergleichen, und du wirst die Unterschiede sehen.) Und genau diese Veränderungen wollen wir, lassen deswegen FreqVectorsEdit einmal laufen, holen uns aber nur das Endprodukt um dieses (ggf. erweitert durch HEX Patches) per CPUFriend zu injecten:

    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

    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



    Danke für die schnelle Rückmeldung.

    Was das Skript macht habe ich verstanden, mir ging es darum ob noch immer eine Notwendigkeit besteht.

    Diese zwei iMacPro1,1 plists stammen einen Post in diesem Thread (finde ich jetzt leider nicht). Und bei genauerer Betrachtung scheint es mir so als ob die imacPro1,1.plist einfach mit den Werten der iMac19,1.plist gepatcht worden ist.

    Diese sieht der unveränderten iMac19,1.plist sehr ähnlich, außer dass anstelle der 4 iMAC CPU`s Vektoren eben nur die Vektoren der gewünschten CPU (LFM,EPP ist da schon angepasst) in die iMacPro.plist übertragen wurde.


    Sehe gerade, dass in der Mac-AA95B1DDAB278B95.plist bereits veränderte Frequencies enthalten sind.


    Weil wir gerade dabei sind muss ich gestehen, dass ich anscheinend zu dämlich bin das Skript von Inspector42 auszuführen. Eventuell könntest du mir hierbei behilflich sein.


    Der Ordner samt IOPlatformFamily.kext liegt am Schreibtisch:



    Das ist der Pfad zum Skript.


    /Users/wolfimac/Desktop/Versuch/freqVectorsEdit.sh-inspector42/freqVectorsEdit.sh


    Könnest du mir den genauen Terminal Befehl schreiben, da ich irgendetwas falsch verstehe. Ich bekomme immer folgende Rückmeldung.


  • Hat sich dann damit deine Frage geklärt? :/


    Die bei deiner Ausführung wohl fehlende Option -k ist die zentrale Funktion des Scripts von Inspector42.

    FreqVectorsEdit v3.3 erlaubt nun die Nutzung eines beliebigen Pfades für IOPlatformPluginFamily.kext (option -k).

    Damit kann man nun das kext ganz entspannt in sein Home-Verzeichnis kopieren und dort alle notwendigen Änderungen vornehmen.

    Das macht dann auch die Erzeugung der Dateien für CPUFriend etwas leichter und SIP kann die ganze Zeit eingeschaltet bleiben.

    Im Github (und -h Output) steht dazu in der Dokumentation:

    Zitat
    Code
    1. -k kext path (example: ~/Documents)
    2. Overrides path to kernel extension to allow editing of frequency vectors with SIP enabled
    3.         in the specified working directory. This requires a copy of IOPlatformPluginFamily.kext
    4. to reside in the specified directory . This will of course require further processing but
    5. comes in handy if resulting patched plist is used for CPUFriend
    6.          default: /System/Library/Extensions

    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.

  • LetsGo : Du hast die falsche Datei im Ordner „Versuch“. Gebraucht wird „IOPlatformPluginFamily.kext“, ich sehe aber „IOPlatformFamily.kext“

  • Andere Variante von CPUFriend: https://github.com/stevezhengshiqi/one-key-cpufriend


    Scheint einiges zu automatisieren. Kann das mal jemand testen? Für meinen 10th Gen Intel gibt's noch keine Daten sagt es. offline

    5T33Z0 Beim iMacPro (2017) sollte es wohl nicht funktionieren ?

    : Sorry, your board-id has not been supported yet!

    Mac-7BA5B2D9E42DDD94

    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