OS Performance mit / ohne OpenCore

  • Ich habe mich mal in OpenCore eingelesen und auf einem Testrechner (Z77-D3H & i5-3470, Ivy Bridge) Catalina, Win10 und Ubuntu installiert.


    Die Configuration von OpenCore ist recht generisch...

    - ACPI nur mit SSDTs für CPU-PM und EC

    - Die üblichen Kexte (VirtualSMC, Lilu, WG, AppleALC etc.), alles aktuelle Versionen

    Der Rechner läuft soweit stabil.


    Wenn ich mit GeekBench5 die Performance messe, kann ich einen signifikanten Unterschied der System Performance (Single Core /Multi Core) mit und ohne OpenCore bzw. zwischen verschiedenen SMBIOS Vorgaben feststellen:

    macOS 10.15.5Windows 10 20H1Ubuntu 20.04
    mit OpenCore 0.5.9 - Platform iMacPro1,1790 / 2637708 / 2002743 / 2020
    mit OpenCore 0.5.9 - Platform iMac13,2734 / 2394710 / 2098744 / 2032
    ohne OpenCore-760 / 2714844 / 2883


    Nicht das ich die Unterschiede in den Messergebnissen wirklich spüren würde... aber es interessiert mich natürlich, wie es zu den Unterschieden überhaupt kommt. Kann mir jemand erklären waruma:

    A) iMac13,2 und iMacPro1,1 so einen großen unterschied macht? BTW: Der iMac13,2 ist das Mac Modell für ein System mit i5-3470 - Also eigentlich best choice.

    B) Ohne OpenCore Windows und Ubuntu so viel schneller sind?

    Desktop: i5-8600K auf MSI MPG Z390M mit 16GB RAM, Radeon RX570 GPU und Samsung SSD 960 EVO 500GB via M.2

    Lab-PC: i5-3470 auf Gigabyte Z77-D3H (FW 23b) mit 32GB und Radeon RX560

    Notebook: MacBook Pro 13" M1

  • Zu A fällt mir nicht so viel ein zu B schon denn alle Modifikationen die OpenCore vornimmt (SMBIOS, ACPI etc. pp) gelten gleichermaßen für jedes Betriebssystem das über OpenCore gestartet wird. Im Bezug auf das SMBIOS dürfte das relativ egal sein denn das beeinflusst die Leistung von Windows/Linux meines Wissens nach nicht anders sieht das aber bei den SSDT Geschichten aus denn sowohl Windows als auch Linux lesen das ACPI und nutzen es. Sofern Deine SSDT'S nicht so geschrieben sind das sie sich explizit auf macOS auswirken ( If (_OSI ("Darwin")) ) wovon ich ehrlich gesagt ausgehe dann wirkt sich das alles eben auch auf Windows und Linux aus und gerade im Bezug auf das CPUPM macht das einen deutlichen Unterschied. Zu A wäre vielleicht noch zu sagen das das SMBIOS die natürlich auch die CPUPM Strategie von macOS beeinflusst das iMac13.2 SMBIOS verwendet passend zum Prozessor (IvyBridge) das AppleIntelCPUPowerManagement auf Basis der AppleInteCPUPowerManagement.kext und in Kombination damit die erzeugten P und C-States aus der SSDT bedeutet also wie gut die CPU hoch oder runter geht im Takt hängt davon ab wie gut oder passend die zur CPU die erzeugte SSDT ist (insbesondere mit Blick auf die Turbo States). Das iMacPro SMBIOS würde normalerweise die Verwendung von XCPM voraussetzen was in Deinem Fall aber nicht funktionieren kann da XCPM auf Ivy Bridge nicht unterstützt wird ich bin mir allerdings gerade nicht sicher ob dann ein Fallback auf die alte Strategie stattfindet (unwahrscheinlich denke ich) oder ob macOS in dem Fall die einfach gar kein CPUPM lädt (müsste man mal Kextstat bemühen und gucken was da wirklich geladen wird in dem Fall).

  • griven besten Dank für Deine Impulse.

    Das sich OpenCore mit ACPI Vorgaben auf Windows und Linux auswirkt, war mir klar - Daher ja auch die Idee mal dein Einfluzss zu testen. SMBIOS dürte beiden OS Varianten echt egal sein.


    Aber das Thema CPU-PM klingt spannend - Dem werde ich mal nachgehen...

    Desktop: i5-8600K auf MSI MPG Z390M mit 16GB RAM, Radeon RX570 GPU und Samsung SSD 960 EVO 500GB via M.2

    Lab-PC: i5-3470 auf Gigabyte Z77-D3H (FW 23b) mit 32GB und Radeon RX560

    Notebook: MacBook Pro 13" M1

  • Warum nicht die Opencore NDK Version nutzen und ACPI nur für macOS aktivieren.


    Dann hat man die Probleme mit Windows nicht.


    Opencore ist halt nicht Windows ausgelegt und eher kontraproduktiv mit den ACPI Patches und bremst es aus.


    Mfg

  • Weil es für die NDK schon länger keine Updates gab...

  • KMBeatz Das NDK repo ist auf 0.5.8 stehen geblieben und wird anscheinend nicht mehr weitergeführt. Sauberer wäre es die ACPI patches OS-aware zu schreiben oder nur MacOS mit OC zu starten.

    • Apple Mac Studio | M1 Ultra | 64GB RAM | 1TB
    • PowerMac G5 | Dual 2GHz | 8GB RAM | GeForce 6800 Ultra DDL
    • AMD Ryzen 9 3950X | ASUS Strix X570-I Gaming | 64GB DDR4-3600 CL16 RAM | Corsair MP600 M.2 NVMe | Radeon RX 6900 XT | Phanteks Enthoo Evolv Shift | Custom Loop | MacOS 12 | OpenCore
      Ryzen MacPro | EFI | RadeonSensor | Aureal
  • Du kannst in ACPI Prüfen ob MacOS und dann entweder modifizieren oder nicht. Einziger Hacken, Linux gibt by default auf _OSI(“Darwin”) auch true zurück. (Siehe https://www.kernel.org/doc/htm…mware-guide/acpi/osi.html)

    • Apple Mac Studio | M1 Ultra | 64GB RAM | 1TB
    • PowerMac G5 | Dual 2GHz | 8GB RAM | GeForce 6800 Ultra DDL
    • AMD Ryzen 9 3950X | ASUS Strix X570-I Gaming | 64GB DDR4-3600 CL16 RAM | Corsair MP600 M.2 NVMe | Radeon RX 6900 XT | Phanteks Enthoo Evolv Shift | Custom Loop | MacOS 12 | OpenCore
      Ryzen MacPro | EFI | RadeonSensor | Aureal
  • Könnte man nicht zb reFind oder Clover zusätzlich in Opencore angezeigt bekommem bzw Parallel installieren und in Opencore heraus Clover oder reFIND starten?


    Das wäre doch elegant gelöst.

  • Ja ist auch eine verbreitete Methode. Aber eher anders herum: Mit reFind das OS zu wählen und dann OC direkt ohne BootPicker zu starten.

    Oder einfach per BIOS Hotkey wählen geht auch wenn nur selten ein anderes OS verwendet wird.

    • Apple Mac Studio | M1 Ultra | 64GB RAM | 1TB
    • PowerMac G5 | Dual 2GHz | 8GB RAM | GeForce 6800 Ultra DDL
    • AMD Ryzen 9 3950X | ASUS Strix X570-I Gaming | 64GB DDR4-3600 CL16 RAM | Corsair MP600 M.2 NVMe | Radeon RX 6900 XT | Phanteks Enthoo Evolv Shift | Custom Loop | MacOS 12 | OpenCore
      Ryzen MacPro | EFI | RadeonSensor | Aureal
  • Ich hab' eigentlich immer das acidenthera oc verwendet, und sah auch keinen Grund für das NDK...

    Ich verwende (beim Asus halt) das normale OC mit Windows :)

    Beim HP hab ich auch kein NDK...


    Bei NDK war die letzte Änderung vor 2 Monaten...

  • oberstel iMacPro und iMac sollten für Win und Linux Messgenauigkeit sein, unter macOS siehe griven

    Geringerer Score ist interessant, mal die Frequenzen verfolgt, taktet die CPU mit und ohne CPU aufs Maximum? Kann mir gut vorstellen, dass irgendwelche Turbo- oder OC(?)-States in der Tabelle fehlen

  • Bei NDK war die letzte Änderung vor 2 Monaten...

    Und genau deshalb habe ich auch nie diesen Fork benutzt (hatte da auch irgendwie null Anreiz zu). Ist eben nicht unwahrscheinlich das solche Projekte dann früher oder später zum Erliegen kommen. Dann lieber gleich das Original.

  • wer den ndk wegen den netten buttons nutzt, kann auch open canopy nutzen :), und das bei den aktuellen opencore versionen, ist eben etwas arbeit- ich mag text, und daher ist derzeit kein open canopy bei mir am laufen

  • NDK war eigentlich nur wegen der ACPI Geschichte Interessant.


    Naja Müssen wir halt wegen Windows das Bootmenü aufrufen oder reFIND mit ins Boot nehmen.


    Gibt immer einen Weg.

  • KMBeatz Sauberer wäre es die ACPI patches OS-aware zu schreiben oder nur MacOS mit OC zu starten.

    Ich habe mir dann auch gedacht, in den SSDTs noch ein If (_OSI ("Darwin")) einzubauen. Canopy nutze ich auch und eine Abfrage der OS Version in den SSDTs finde ich recht charmant. Das man hier nicht Linux (Ubuntu) handeln kann wusste ich nicht 🤔 mal gucken wie ich damit umgehe...


    Euch allen erstmal vielen Dank für die Diskussion!

    Desktop: i5-8600K auf MSI MPG Z390M mit 16GB RAM, Radeon RX570 GPU und Samsung SSD 960 EVO 500GB via M.2

    Lab-PC: i5-3470 auf Gigabyte Z77-D3H (FW 23b) mit 32GB und Radeon RX560

    Notebook: MacBook Pro 13" M1

    Einmal editiert, zuletzt von oberstel ()