Clover mit VirtualSMC und FileVault

  • Hallo zusammen,


    ich wollte heute endlich mal FakeSMC loswerden und durch VirtualSMC ersetzen. Allerdings bin ich ein wenig verwirrt bei den UEFI Drivers...


    Meine Basis ist Clover 5117 ohne irgendwelche Anpassungen in der config.plist. Damit lief mein System nun seit Jahren problemlos.

    Kexte: IntelMausiEthernet, Lilu, FakeSMC + alle Plugins, WhateverGreen (jeweils alles auf dem aktuellen Stand)

    Drivers: ApfsDriverLoader, AppleImageCodec, AppleKeyAggregator, AppleUITheme, AptioInputFix, AptioMemoryFix, DataHubDxe, FirmwareVolume, FSInject, HashServiceFix, SMCHelper, VBoxHfs


    Dann habe ich ein wenig durchs Netz geschaut wie man VirtualSMC installiert:

    drivers/SMCHelper und kexts/FakeSMC (+ Plugins) löschen ist schon mal klar.


    Und dann kommt auch schon das erste Problem:

    In den Anleitungen steht: Aktuelle VirtualSMC Version runterladen, entpacken und dann die VirtualSMC.efi nach drivers kopieren, und die kexte nach kexts kopieren. Allerdings gibt es in den aktuellen Releases keine VirtualSMC.efi Datei mehr. Das letzte Release mit VirtualSMC.efi war Version 1.0.9. Aktuell ist Version 1.1.4. Heißt das nun, dass man das Teil nicht mehr braucht? Oder sollte ich einfach die alte Version verwenden? Oder habe ich was übersehen?


    Und direkt danach das zweite Problemchen:

    Zu FileVault habe ich gelesen, dass VirtualSMC.efi dafür nun zuständig ist. Und irgendwo habe ich noch was von einer neuen Methode mittels AppleGenericInput.efi gelesen. Also sollte ich nun vermutlich erst mal den Drivers Ordner bereinigen?


    Ich bin verwirrt... :D


    Wäre nett, wenn mir jemand verraten könnte wie sich ein aktueller Drivers Ordner mit VirtualSMC und FileVault zusammensetzt.


    Schon mal Vielen Dank und Grüße,

    jemue

  • Meine Basis ist Clover 5117 ohne irgendwelche Anpassungen in der config.plist. Damit lief mein System nun seit Jahren problemlos.

    Sicherlich läuft dein System nicht seit Jahren mit Clover v.5117, aber ich verstehe, was Du meinst. Du hältst Clover und deine Kexte & Drivers aktuell und alles läuft gut. Das zeugt von Eigeninitiative und Verständnis für die Materie.

    Warum willst Du jetzt von FakeSMC auf VirtuakSMC umsteigen? Es läuft doch alles, was ist der Grund? Nur um es auszuprobieren, wie man das System zerschiesst?

  • Sicherlich läuft dein System nicht seit Jahren mit Clover v.5117

    Ich meinte, dass das System seit Jahren mit Clover ohne jegliche Anpassungen an der config.plist läuft. Die Clover Version und alle Kexte update ich alle 2 Monate, wenn ich eh zum Reboot durch ein macOS Update gezwungen bin.



    Warum willst Du jetzt von FakeSMC auf VirtuakSMC umsteigen? Es läuft doch alles, was ist der Grund? Nur um es auszuprobieren, wie man das System zerschiesst?

    Weil ich mir in ca. 2 Monaten ein Notebook zulegen werde, und bei meinen bisherigen Versuchen mit Notebooks (vor ca. 2-3 Jahren mit Sandy Bridge und Haswell) immer kleinere Schwierigkeiten mit der Batterieanzeige und/oder der Bildschirmhelligkeit hatte. Das sollte ja angeblich mit VirtualSMC etwas besser funktionieren.


    Also wollte ich mein Desktop jetzt schon mal damit ausstatten, damit ich dann für's Notebook gerüstet bin.


    Und OpenCore ist bisher keine Alternative. Ich mag die grafische Oberfläche von Clover :D Aber VirtualSMC wäre ja auch schon mal ein erster Schritt in Richtung OpenCore, um zu sehen, ob's damit irgendwelche Probleme geben könnte.

  • Was bei Notebooks mit VirtualSMC wunderbar funktioniert, muß ja auf deinem erprobten Desktop nicht zwangsläufig auch funktionieren.

    Ich habe auf meinem System (siehe Profil) auch mal VirtualSMC getestet, weil ich glaubte, es sei irgendwie "neuer , höher, schneller, weiter". Nix da, 1000 Probleme, die ich vorher nicht hatte. Altes System, alte Config, neuer Clover, neue Kexte - alles tutti.

  • Mag schon sein. Wenn's schief läuft, ist der Weg zurück zu FakeSMC auch nur 2 Klicks entfernt. Und wenn's läuft, behalte ich es. Das "Risiko" ist es mir wert.


    Würde mir jetzt aber bzgl. Notebook + Clover + VirtualSMC + FileVault immer noch nicht weiterhelfen :D Da bräuchte ich dann ja auch die Info welche Driver ich kombinieren muss, damit Clover mit VirtualSMC und FileVault funktioniert.

  • Einfach die letzte VirtualSmc.efi nehmen. Dass sie nicht mehr dabei ist liegt daran, dass sie in OpenCore integriert wurde.

    VORERST BETEILIGE ICH MICH HIER NICHT MEHR. PER PN KÖNNT IHR MICH WEITERHIN ERREICHEN.


    LG Chris


    Meine Hardware:

  • CMMChris Danke! Und was muss ich für FileVault noch ändern / rauswerfen?

    Soweit ich gelesen habe ist AppleGenericInput das neue AptioInputFix.


    Und was ist mit AppleImageCodec, AppleKeyAggregator und AppleUITheme? Werden die noch benötigt, wenn man die VirtualSMC.efi hat?

  • Das muss dir jemand anderes sagen, ich nutze kein FileVault.

    VORERST BETEILIGE ICH MICH HIER NICHT MEHR. PER PN KÖNNT IHR MICH WEITERHIN ERREICHEN.


    LG Chris


    Meine Hardware:

  • Alles klar. Zur Not probiere ich morgen einfach alle Kombinationen durch. Dauert ja nur ein paar Minuten

  • Das hier sind die Driver, mit denen mein Notebook mit VirtualSMC und Filevault seit Monaten problemlos läuft:


    Files

    Hackbook 13'': Acer Spin 5, Intel Core i5 7200U, 16 GB RAM, Kaby Lake, Intel HD Graphics 620, 512 GB SSD, DW1560, macOS Mojave 10.14.6


    Hackmini 1: HP Compaq 8300 Elite, Intel Core i5-3470, 4 x 3,20 GHz, 8 GB RAM, Ivy Bridge, Nvidia Geforce GT 710 (Intel HD Graphics 2500), macOS Mojave 10.15.6


    Hackmini 2: Acer Revo Base, Intel Broadwell-U PCH-LP, Intel Core i3-5005U, Intel HD Graphics 5500, macOS Mojave 10.14.6

    Edited once, last by iPhoneTruth ().

  • Ich hab jetzt ein bisschen rumprobiert, im Netz recherchiert und bin zu folgender Minimalkonfiguration gekommen:


    Drivers:

    • ApfsDriverLoader
    • AppleGenericInput (ehemals AptioInputFix)
    • AppleUiSupport (ersetzt ganz viel FileVault Kram)
    • AptioMemoryFix (ohne das Teil bootet gar nichts)
    • FSInject (ist wohl nötig, um Kexte aus Clover zu injecten)
    • VBoxHfs (um macOS Installer von USB starten zu können)
    • VirtualSmc

    Was ich entfernt habe:

    • DataHubDxe (konnte nicht wirklich herausfinden wozu es da ist. Habe nur den Kommentar gefunden, dass das System entweder ohne booten kann, oder der Bootvorgang im Kernel Panic endet. Mein System bootet ohne, also lass ich es weg)
    • FirmwareVolume (sollte in AppleUiSupport enthalten sein. Quelle: Wahsinniges Mac Forum, Thread "FileVault 2" vom Autor vit9696 )
    • HashServiceFix (sollte in AppleUiSupport enthalten sein. Selbe Quelle wie FirmwareVolume)


    Woher bekommt man die Drivers?


    Viele davon wurden von OpenCore übernommen und nach und nach vollständig in OpenCore integriert. Vor dieser Integration waren sie Bestandteil von AppleSupportPkg - was inzwischen vollständig in OpenCore integriert wurde.

    • VirtualSmc (letzte Version gefunden in VirtualSmc 1.0.9)
    • AppleGenericInput (letzte Version gefunden in AppleSupportPkg 2.1.0)
    • AppleUiSupport (letzte Version gefunden in AppleSupportPkg 2.0.9)
    • die restlichen Drivers habe ich aus der aktuellen Clover Installation


    Positive Nebenwirkungen:


    Seitdem AppleUiSupport genutzt wird, komme ich beim Booten sofort zur FileVault Passworteingabe. Davor hat es mit AppleImageCodec und AppleUITheme ca. 2-3 Minuten gedauert (sowohl mit FakeSMC als auch VirtualSmc).


    Und nun heißt es erst mal abwarten und schauen, ob es irgendwelche negativen Nebenwirkungen gibt. In ein paar Tagen weiß ich sicherlich mehr :)


    EDIT1:

    Bisher hatte ich die neue Config nur von USB gebootet. Damit wollte sich macOS nicht mehr schlafen legen - obwohl ich den USB Stick nach dem Booten entfernt hatte.

    Also hab ich nun die Config auf die SSD kopiert und Sleep geht wieder!

    Edited 3 times, last by jemue ().

  • Besten Dank für Deine Recherchen. Läuft bei mir auch! :thumbup:


    Ein Hinweis allerdings: FirmwareVolume scheint nicht in VirtualSmc enthalten zu sein, denn ohne FirmwareVolume aber mit VirtualSmc startet mein Rechner nicht. DataHubDxe konnte ich tatsächlich weglassen.


    Zudem hatte ich auch schon einmal eine Konfiguration mit AppleGenericInput und AppleUiSupport, womit mein Rechner auch ohne Probleme starten konnte, habe aber festgestellt, daß er damit Schwierigkeiten hatte, auf die Preboot-Partition zu schreiben (die ja mit FileVault gebraucht wird), z.B. bei Änderungen aus Systemeinstellungen / Benutzer und Gruppen / Anmeldeoptionen. Das zur Information und gegebenenfalls zur Kontrolle.

    Hackbook 13'': Acer Spin 5, Intel Core i5 7200U, 16 GB RAM, Kaby Lake, Intel HD Graphics 620, 512 GB SSD, DW1560, macOS Mojave 10.14.6


    Hackmini 1: HP Compaq 8300 Elite, Intel Core i5-3470, 4 x 3,20 GHz, 8 GB RAM, Ivy Bridge, Nvidia Geforce GT 710 (Intel HD Graphics 2500), macOS Mojave 10.15.6


    Hackmini 2: Acer Revo Base, Intel Broadwell-U PCH-LP, Intel Core i3-5005U, Intel HD Graphics 5500, macOS Mojave 10.14.6

  • FirmwareVolume scheint nicht in VirtualSmc enthalten zu sein, denn ohne FirmwareVolume aber mit VirtualSmc startet mein Rechner nicht.

    Hm. Eigenartig. Bei mir läuft's komplett ohne FirmwareVolume. Was ich dazu im Netz gefunden habe: "FirmwareVolume installs an implementation of the EFI_FIRMWARE_VOLUME_PROTOCOL for injecting the Apple cursor images for FileVault 2 (boot.efi will complain otherwise)."

    Sollte also eine zwingende Voraussetzung für FileVault sein. Vielleicht ist dein VirtualSmc zu alt, oder irgendwelche anderen Clover Einstellungen funken dazwischen?


    Und im Wahnsinngen Mac Forum hat vit9696 das dazu geschrieben: "Make sure that you remove all the legacy drivers implemented in the past. The list includes: AppleImageCodec-64.efi, AppleKeyAggregator-64.efi, AppleKeyMapAggregator.efi, AppleEvent.efi, AppleUITheme-64.efi, EnglishDxe-64.efi, FirmwareVolume-64.efi, HashServiceFix-64.efi"

    und man soll stattdessen AppleUiSupport und VirtualSmc (oder SMCHelper mit FakeSMC) benutzen.


    EDIT: Ahh.. jetzt dämmert es mir. Der Kram wird nicht durch VirtualSMC ersetzt, sondern durch AppleUiSupport. Und du benutzt wegen der unten genannten Schwierigkeiten vermutlich kein AppleUiSupport. Dann brauchst du natürlich FirmwareVolume. Ich korrigiere das mal im Beitrag oben.

    daß er damit Schwierigkeiten hatte, auf die Preboot-Partition zu schreiben (die ja mit FileVault gebraucht wird), z.B. bei Änderungen aus Systemeinstellungen / Benutzer und Gruppen / Anmeldeoptionen.

    Kannst du mir sagen wie ich das überprüfen kann? Am Besten irgendeine kleine Einstellung, wo man die Auswirkungen schnell sieht und die man danach einfach wieder zurücksetzen kann.


    EDIT2: Das System läuft jetzt seit 2 Tagen absolut problemlos. Ich kann keinen Unterschied zu FakeSMC feststellen - abgesehen von der deutlich kürzeren Wartezeit bis die FileVault Passworteingabe kommt - wobei das wohl eher an AppleUiSupport als an VirtualSmc liegen sollte. Soweit ist das Thema für mich dann erst mal erledigt :) Danke an alle Beteiligten!

    Ich hab in den Anmeldeoptionen nie etwas verändert, wüsste auch nicht was und wozu :D

    Edited once, last by jemue ().

  • Ich hatte den Dynamischen Desktop, d.h. die Datei Mojave.heic (von dynamischen, d.h. vielen integrierten Bildern in ein einziges JPG-Bild), geändert und damit genau den gleichen Effekt erzielt, daß er nämlich kaum noch eine Wartezeit bis zur FileVault Passworteingabe hatte. Damit er die modifizierte Datei auch in Preboot übernahm war es notwendig, in den Anmeldeoptionen eine Änderung vorzunehmen, da er dann Preboot neu beschrieben hat, also das neue Mojave.heic dort hineingeschrieben hat. Das gleiche Prozedere ist notwenig, wenn man z.B. aus Spaß das erscheinende Apple-Logo mit einem anderen Logo ersetzen will. Genau dies ging mit den Standart EFI-Driver von Clover, aber mit den AppleUiSupport etc. nicht. Ob das nach wie vor so ist, kann ich demnächst mal testen.


    Deine Lösung mit AppleUiSupport scheint nun die bessere zu sein. Es wäre nur gut zu wissen, ob diese Treiber auch weiterentwickelt werden.

    Hackbook 13'': Acer Spin 5, Intel Core i5 7200U, 16 GB RAM, Kaby Lake, Intel HD Graphics 620, 512 GB SSD, DW1560, macOS Mojave 10.14.6


    Hackmini 1: HP Compaq 8300 Elite, Intel Core i5-3470, 4 x 3,20 GHz, 8 GB RAM, Ivy Bridge, Nvidia Geforce GT 710 (Intel HD Graphics 2500), macOS Mojave 10.15.6


    Hackmini 2: Acer Revo Base, Intel Broadwell-U PCH-LP, Intel Core i3-5005U, Intel HD Graphics 5500, macOS Mojave 10.14.6

  • Ach, so einen Pfusch tu ich meinem System nicht an. Da geht meist mehr kaputt als man "repariert" und spätestens beim nächsten großen macOS Upgrade knallt es dann :)

    Im Normalfall wird mein System nur alle 2 Monate neugestartet - wenn es ein macOS Update gibt. Von daher interessiert mich der Bootvorgang eigentlich überhaupt nicht.


    Das einzig "unschöne" beim Boot ist bei mir ein winziges Flackern während das Apfel-Logo da ist und der Ladebalken bei 80% ist. Da kommen kurz ein paar Artefakte, danach wieder ganz normal das Apfel-Logo und 3 Sekunden später ist das System fertig hochgefahren. Ist aber gut möglich, dass das mit Clover auch schon so war.

    Aber wie gesagt: Ich seh das eh (fast) nie, also kann es meinetwegen so viel Flackern wie es will, solang das System danach rund läuft :)


    Es wäre nur gut zu wissen, ob diese Treiber auch weiterentwickelt werden.

    Dieselbe Frage kannst du dir auch bei der alten Lösung mit AppleImageCodec und AppleUITheme stellen. Ich konnte auf die Schnelle nicht herausfinden wer diese Treiber überhaupt entwickelt (hat). Ich konnte zumindest auf GitHub sehen, dass AppleImageCodec auch Teil von AppleSupportPkg war. Zu AppleUiTheme hab ich allerdings nichts dergleichen gefunden (oder nicht lang genug gesucht).


    Beim neuen AppleUiSupport sind die Updates zumindest halbwegs garantiert. Das war ursprünglich Teil vom AppleSupportPkg Projekt und das wurde dann vollständig in OpenCore integriert. Soll heißen: Wenn man OpenCore nutzt, wird man Updates bekommen. Für Clover sieht's aber schlecht aus, weil OpenCore keine .efi Drivers generiert, die von OpenCore geladen werden, sondern diese Driver sind nun direkter Bestandteil von OpenCore.


    Dasselbe sollte dann wohl auch auf AppleImageCodec und noch diverse andere Treiber wie z.B. AppleUsbKbDxe und ApfsDriverLoader zutreffen, die auch Teil von AppleSupportPkg waren.

    Also wenn's ganz blöd läuft, kann man demnächst kein Clover mehr mit aktuellen macOS Versionen benutzen, weil die nötigen Updates nur noch direkt in OpenCore integriert werden. (Oder irgendwer macht Backports und patcht die alten .efi Treiber).


    Ich würde ja gern auf OpenCore umsteigen, aber dafür gibt's aktuell einfach noch viel zu viele Änderungen mit jeder neuen Version. Und eine grafische Oberfläche wäre auch nett. Es gibt wohl noch eine Zwischenlösung namens OcQuirks, was einen Teil von OpenCore in Clover integriert. Aber ist dann irgendwie auch nichts halbes und nichts ganzes :D Zu viele Möglichkeiten :D