Wie wichtig ist die iGPU im Hacki und gibt es eine iGPU in einem echten Mac?

  • Wer Probleme mit dem Rename bzw. FakeID in der SSDT hat:


    Mal mit "@0,model" probieren. Meine R9 390 hat auch immer rumgezickt bis ich den ersten Connector als Naming Convention benutzt habe.


    Ditto für "device-id" und "vendor-id".


    Sachen gibt's, die gibt's gar nicht ;)

  • Ja, @0,name tut es tatsächlich.

    Ändert aber leider nichts an der Anzeige in VideoProc. Da hakt es also noch irgendwo anders. DSM2 hast du eine Idee wie es sein kann, dass nach dem Update alles korrekt angezeigt wurde und dann nach dem Neustart nicht mehr?


    Edit: Ich denke der Hund liegt hier begraben

    Der Rename greift nur auf den Framebuffer Einträgen und nicht auf dem Eintrag der Grafikkarte (display@0). Auch mit dem "delay" Parameter ist da nix zu machen.


    Edit 2: Wenn ich Whatevergreen reinnehme greift der Rename auch auf display@0 bzw. dann GFX0 (WEG benennt das um). Leider keine Auswirkungen auf die Anzeige in Video Proc. Aber immerhin lässt sich so mit shikigva=1 die Nutzung der Vega forcieren. Anschließend läuft DRM, Vorschau geht auch noch und man hat bessere H.264 Performance.

  • CMMChris


    Habe - noch - keine Vega, aber soll das so aussehen?




    Häcki




    iMac




    Du hast zweimal IOPP und dann display als device. Zumindest bei unserem 2010er iMac ist auch nur einmal IOPP.


    Oder hat dies mit TB3 zu tun?



    Edit:


    Gerade aus einem anderen Grund von VirtualSMC zurück zu FakeSMC und nun zeigt mir iStat auch wieder die HD4000 an. Vielleicht mal zu FakeSMC zurück und vergleichen, da es doch Unterschiede zwischen den Beiden gibt.

  • Ob die Devicepfade bei Dir funktionieren müsstest Du mal mit IOReg prüfen, ansonsten anpassen.

    Das peile ich noch nicht ganz im MaciASL:


    sind meine Device Pfade anders? Wenn ja was genau ist anders? Kann mir einer das erklären? Ist es bei mir der Pfad IOPP anstatt PEGP? Oder wie? Hä? Verstehe die Syntax da noch nicht.


    Verstehe ich das richtig, dass ich den Scope auf den Pfad der Device triggere, also in der DSL Datei hier dann auf \_SB.PCI0.PEG0 danach dann auf PEGP und EPG0 dann auf die Adresse _ADR und die Device GFX0???


    Danke für Hilfe dabei.

  • Si Vis Pacem Ich arbeite an der Vega nicht mit einer SSDT sondern mit Clover oder dem PropertyInjector Kext. Bzgl. dem ACPI Pfad brauchst du dir keinen Kopf zu machen. Auf die Funktion hat das keine Auswirkung. Wichtig ist, dass PEGP zu GFX0 umbenannt ist. Wenn der Pfad dem vom iMac gleichen soll musst du Whatevergreen reinnehmen. Wie man den Pfad per DSDT oder SSDT anpasst kann ich nicht sagen, kenne mich mit dem Kram nicht aus und mogle mich bisher erfolgreich drum herum. :D
    Edit: Elmacci hat's ja unter mir erklärt.

  • Es kann sein dass Deine Device-Pfade anders sind, muss aber nicht.


    Als Beispiel:

    Wenn ich ohne Whatevergreen boote dann sehen die Pfade meiner beiden Vegas in IOREG folgendermaßen aus:


    Vega 1: PEG0/PEGP/pci-bridge/display0

    Vega 2: PEG1/PEGP/pci-bridge/display0


    Jetzt nehmen wir die SSDT mal her:

    Über den "Scope" teile ich dem Rechner erst einmal mit, in welchem bereits existierenden Bereich der Code arbeiten soll.

    Das ist in meinem Fall PEG0 bzw. PEG1 und PEGP, deshalb findet sich auch in der SSDT jeweils unter "Scope":

    Scope (\_SB.PCI0.PEG0)

    gefolgt von

    Scope (PEGP)


    In diesem Scope wird jetzt für den nächsten Unterpunkt (pci-bridge) ein neues Device "injiziert" - in meinem Fall EGP0 und EGP1 je VEGA.

    Die kannst Du auch GPU1 und GPU2 nennen oder wie auch immer Du lustig bist ;)

    Und schließlich wird für den letzten Unterpunkt statt "display0" GFX0 bzw. GFX1 injiziert.


    Es kann sein dass Du in Deinem System unter PCI0 nicht 4 (PEG0, PEGP, pci-bridge, display) Punkte hast sondern bspw. nur 3.

    In dem Fall musst Du die SSDT entsprechend anpassen, also bspw. einen Scope oder ein Device löschen.


    Ich bin jetzt auch nicht der "SSDT-Crack" und hoffe ich habe es einigermaßen korrekt und verständlich wiedergeben können ;)


    In den einzelnen GFX-Devices werden dann die Eigenschaften beschrieben, wie bspw. Name der Karte, Art des Framebuffers etc.

    Ich nutze hier den Framebuffer "Iriri" da damit die Ports an meiner Grafikkarte auch mit allen Monitoren funktionieren.

    Alternativ gibt es noch "Kamarang". Falls also ein oder mehrere Ports mit Iriri bei Dir nicht gehen dann mal mit Kamarang probieren.

    Gibt auch noch "Japura", das ist aber der Framebuffer für die Vega im iMac Pro und macht meines Wissens nach keinen Sinn.

    _______________________________________________________________________________

    Einmal editiert, zuletzt von elmacci ()

  • Vielen Dank, das werde ich mal testen und berichten.

  • CMMChris : Sorry jetzt erst die Zeit zu gefunden hier zu antworten. Ich habe mir das in der Hinsicht noch nicht angeschaut, bei renamings arbeite ich aber auch anders und zwar per Kext. Sobald man die devices hinterlegt (IOPropertyMatch) und zusätzlich den pcidebug hinterlegt von der GPU, ändert sich da nichts aber der muss auch korrekt sein sonst bringt das nichts ...

  • Wie genau änderst du den Namen per Kext? Ich habe den Property Injector genutzt und es auch mit Clover versucht. Der Rename greift nicht. Erst wenn ich WEG dazu nehme wird der Name geändert. Aber wie schon erläutert: Die iMac Pro Bezeichnung für die Vega ändert nichts daran, dass VideoProc die falsche GPU anzeigt bzw. bei deaktivierter GPU "N/A" anzeigt. Es muss also einen anderen Grund gehabt haben, dass direkt nach dem 10.14.2 bis zum ersten Reboot die korrekte GPU in VideoProc angezeigt wurde.


    Und falls die Frage aufkommt: Nein, die Anzeige ist nicht kosmetisch. Im VTDecoderXPCService werden die AMD Videobeschleuniger nicht aufgeführt, solange die GPU nicht korrekt in VideoProc erscheint. Ich bin mir ziemlich sicher, dass das auch der Grund dafür ist, dass wir hier anhaltende Probleme mit DRM bzw. Netflix in Safari haben. Es wäre für die gesamte Hackintosh Community von Vorteil, wenn man hier den Grund für das falsche Verhalten herausfinden könnte.

  • Methoden gibt es mehrere aber mit propertyinjector Kext geht das wunderbar.


    IOPropertyMatch und zusätzlich die pcidebug deiner Vega rein und dann sollte wenn die pcidebug korrekt ist, auch deine Karte mit dem von dir gewünschten Namen erscheinen ohne WEG.


    CMMChris

  • Uhm, na genau davon rede ich doch oben. Funktioniert solange nicht bis WEG drin ist. Nur wenn ich wie oben von einem Nutzer beschrieben per "@0,model" den Namen setze, funktioniert es ohne WEG. In dem Fall ist aber der Rename an der falschen Stelle, d.h. im Framebuffer statt im GFX0 / display@0 Eintrag der Karte. Das führt dann zwar zur Anzeige als Radeon Pro Vega 64 in "über diesen Mac" und im System Profiler, überschreibt aber nicht den Kartennamen den sich diverse Apps ziehen. In iStat Menus wird dann z.B. nach wie vor "Radeon RX Vega 64" angezeigt. Der Property Injector Rename auf "name" und "model" für GFX0 / display@0 greift erst dann wenn WEG drin ist. Selbiges gilt für den Inject per Clover auf den PCI Pfad.


    Das ändern des Namen der Karte zu "Radeon Pro Vega 64" hat aber auf die Funktion keinerlei Auswirkungen und ist rein kosmetisch. Deshalb ist mir das mit dem nicht funktionieren Rename erstmal total egal. Viel eher interessiert mich das in Beitrag #49 Beschriebene.

  • Für einen einfachen inject würde die IOPropertyMatch ausreichen ohne korrekten pcidebug Wert ... würde aber genauso springen wie aktuell ;-)

  • Springen? Wo springt was? Verstehe nicht was du damit sagen willst. Wie gesagt, PCIDebug Wert stimmt und ich Injecte auf die PCI ID. Ich kann auch ohne Kext mit Clover auf den exakten PCI Pfad injecten. Die Werte werden ja auch alle angenommen (PowerPlayTable, DisableFanControll, Framebuffer Injects), nur "name" schluckt er erst dann wenn WEG drin ist.

  • Mit springen meine ich wenn er vorher bei dir den Namen genommen hat und dann doch wieder den injected Namen nicht lädt.


    Strange, würde es jetzt testen aber mein X299 ist grad in Einzelteile verstreut...

  • Sorry aber wo habe ich geschrieben dass er den Namen mal laden würde und mal nicht? Das ganze ist nur ein einziges Mal geschehen: Nach dem Update auf 10.14.2. Nach einem Reboot war es dann wieder weg. Zeitgleich wurde auch in VideoProc die Vega angezeigt. Auch das war nach dem ersten Reboot dann wieder weg.


    Am funktionierenden Rename lag es aber nicht! Der Rename zu Radeon Pro Vega 64 hat keine Auswirkung darauf, ob die Vega in Video Proc auftaucht oder nicht. Letzteres ist auch das, was für mich wichtig ist, da es darüber entscheidet ob DRM ohne Umwege funktioniert und die Vega bei H.264 Encoding ordentlich ausgelastet wird. Leider habe ich bisher keinerlei Anhaltspunkt der mich zur Wurzel des Problems führen würde.


    Nochmal zurück zum Rename: Ich Widerhole nochmal die Fakten, vielleicht wird es dann klarer:


    Inject via CLover auf den PCI Pfad (Device Properties)

    Ohne WEG

    • name = Radeon Pro Vega 64 -> keine Auswirkung
    • model = Radeon Pro Vega 64 -> keine Auswirkung
    • @0,model = Radeon pro Vega 64 -> Radeon Pro Vega 64 im System Profiler, nicht jedoch in Apps. Model Inject befindet sich im Framebuffer Eintrag. In GFX0 bzw. display@0 steht nach wie vor "Radeon RX Vega 64".
    • Inject von PowerPlayParametern etc. funktioniert problemlos.

    Mit WEG

    • name = Radeon Pro Vega 64 -> Radeon Pro Vega 64 im System Profiler und in Apps.
    • model = Radeon Pro Vega 64 -> Radeon Pro Vega 64 im System Profiler und in Apps.

    Inject per Property Injector mit korrekter PCIID und PCIDebug

    Ohne WEG

    • name = Radeon Pro Vega 64 -> keine Auswirkung
    • model = Radeon Pro Vega 64 -> keine Auswirkung
    • @0,model = Radeon pro Vega 64 -> Radeon Pro Vega 64 im System Profiler, nicht jedoch in Apps. Model Inject befindet sich im Framebuffer Eintrag. In GFX0 bzw. display@0 steht nach wie vor "Radeon RX Vega 64".
    • Inject von PowerPlayParametern etc. funktioniert problemlos.

    Mit WEG

    • name = Radeon Pro Vega 64 -> Radeon Pro Vega 64 im System Profiler und in Apps.
    • model = Radeon Pro Vega 64 -> Radeon Pro Vega 64 im System Profiler und in Apps.

    Inject per Property Injector mit korrekter PCIID und PCIDebug + Delay (getestet mit 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60)

    Ohne WEG

    • name = Radeon Pro Vega 64 -> keine Auswirkung
    • model = Radeon Pro Vega 64 -> keine Auswirkung
    • @0,model = Radeon pro Vega 64 -> Radeon Pro Vega 64 im System Profiler, nicht jedoch in Apps. Model Inject befindet sich im Framebuffer Eintrag. In GFX0 bzw. display@0 steht nach wie vor "Radeon RX Vega 64".
    • Inject von PowerPlayParametern etc. funktioniert problemlos.

    Mit WEG

    • name = Radeon Pro Vega 64 -> Radeon Pro Vega 64 im System Profiler und in Apps.
    • model = Radeon Pro Vega 64 -> Radeon Pro Vega 64 im System Profiler und in Apps.

    Fazit: Egal welcher Weg, das Ergebnis ist immer das Gleiche. Nur mit WEG kann man den Namen ändern. Am Ende aber nicht mehr als eine Kuriosität da, wie auch schon mehrfach gesagt, der Name erstmal nur Kosmetik ist. Priorität hat für mich herauszufinden, welcher Mechanismus festlegt, welche Grafikkarte in VideoProc erscheint.

  • Ah okay...


    Was du machen könntest ist es die Vega ID (iMacPro) als FakeID zu speisen ala FakePCIID.


    Schau dir Mal den Aufbau der Intel Kext an aus dem FakePCI Bundle.


    Oder du setzt die Parameter per properties in Clover und schaust ob er dann vielleicht den Namen selbst korrekt wählt wenn er die ID kennt (iMac Pro).


    Letzteres sollte sogar die einfachere Methode sein, nutze diese beim Hades Canyon und funktioniert 1A. Je nach wert ändert sich auch entsprechend der Name. Geht auch tiefer und wirkt sich auf das System aus und kratzt nicht nur an der Oberfläche, der Vega Name erscheint aber nicht in Apps... Dafür aber korrektes Renaming bzw komplette Änderung der Device ID und entsprechend andere GPU Properties. CMMChris

    2 Mal editiert, zuletzt von DSM2 ()

  • Ich rufe mal dazwischen, ich habe gerade ein wenig Videobearbeitung gemacht und musste feststellen das alle Videoeffekte (Texte, Laufschriften, Ticker ect.) grafisch komplett verhunst sind. Hab schon einen Kollaps bekommen.


    Ich musste die iGPU wieder ausschalten. Danach ist die Videobearbeitung wieder OK. Alle Effekte werden wieder richtig gerendert.

    Nachteil: Die Vorschau tut wieder nicht.


    So ganz fertig uns ausgereift ist das noch nicht :/

    Gruß Lucifer

    MacMini 6.2 late 2012, 1TB Crucial MX200 SSD, 16GB, i7 3720QM, Intel HD 4000, 2x 24" Samsung TFT, MacOS 10.14.5 (Rente)

    MacBook Pro late 2012 13" 1TB Crucial MX500 SSD, 16GB, i5, Mac OS 10.14.5 (läuft)

    Apple Watch Series 5 44mm Space Grey, Iphone 12 512GB Space Grey (aktuell)

    Hacki: i9-9900k, 2TB Crucial P5, 64GB Crucial Ballistix, Gigabyte Z370 Aorus Ultra Gaming Wifi, AMD RX6800 16GB, MacOS 13.5.2 OC 094 | 1TB Crucial MX500 Windows 11, Be Quiet Pure Base 500, 3+1 Setup Samsung 4k + 3x 24" HD

    NAS: Synoligy Diskstation 4x14 TB Seagate Ironwolf, Syno RS4021xs 8X20TB Seagate Exos, HPE Proliant DL380 G9 4x2TB SSD (Raid 5) für Smart-Home | Datenbanken | PXE-Boot | TasmoAdmin | Influx 1.8 | Influx 2 | MySQL | Paperless NGX | Grafana | Calibre-Web | usw.

  • Guten Morgen,


    wenn ich das richtig verstanden hab hier funktioniert das ganze sowieso nur mit einer VEGA Karte. lucifer: ich schätze die RX580 ist hier leider raus. Die verhält sich bei dem Thema sowieso etwas anders.