[Anleitung] iGPU - Framebuffer patching & Blackscreen Problem beheben für Clover und OpenCore

  • Es ist die Intel HD4000. Es eine IVY CPU Bridge mit Chipsatz H76 Express drin. Habe dazu ein passendes Topic in Catalina eröffnet, weil ich insgesamt mit fast allen Baustellen durch bin. Was ich jetzt an Feintuning noch machen würde, wäre halt den HDMI Port in Betrieb zu nehmen. Zurzeit ist halt alles Tod bis auf das Display selbst. Ich habe früher schon selbst kexte gepatched um Ports an damaligen Karten freizuschalten oder anzupassen. Sprich grob was da passiert ist mir schon klar, aber die Arbeit mit Whatevergreen in Kombination mit Lilu und den Spielraum der da geschaffen wurde ist für mich noch frisch. Bisher haben die beiden Kexte alles recht dynamisch bei vielen Geräten richtig gemacht, dass ich bisher nicht wirklich hand anlegen musste. Laptops bilden da leider die Ausnahme :D


    Ich würde also gerne den HDMI Port ins Leben rufen. HDMI Audio scheint auch wohl lilu mit applealc hinbekommen zu haben, steht aufjedenfall in der übersicht bei hackintool aufgelistet. Jetzt müsste ich nur noch den HDMI Port halt richtig ansprechen. Dafür müsste ich halt wissen wie ich diesen Port definieren kann per Patches. Ich hab aufjedenfall mal connector auf 3 erweitert und hab auch nun 3 framebuffer in IOEXplore.

    Hackintosh Home PC: 11.4 Asus ROG STRIX Z390-F Gaming I9 9900K WK@4.3 Asus X5700XT 2*256GNMVE DualBoot mt OC 0,69

  • Eine HD-4000 hatte ich hier im Einsatz wo auch HDMI funktionierte. Eventuell hilft dir das weiter.

    https://bitbucket.org/anonymou…er/workspace/projects/DLE

  • Danke, ich schnuppere mal in deine OC config rein. Ich werde mal den teil mit der Intel HD 4000 mir genauer anschauen mit dem HackBook und abgleichen.


    Hab eben deine Config durchgeschaut, du benutzt in deiner Config halt eine andere IG Platform ID. Meine muss ich nehmen weil ich einen Bildschirm betreibe mit 1600*900 intern. Wenn ich die anderen IG IDs nehme habe ich eine verzerrte Auflösung und kann nix machen. Mit anderer ID wird auch der externe Bildschirm angesprochen aber auch verzerrt. Theoretisch müsste man also wohl per Hand in meinem Fall den HDMI Port selbst zurecht patchen damit der mit meiner Platform ID geht.


    Laut dem Guide Zitat"

    If you're using 04006601 as your ig-platform-id, you may need to add the following parameters to fix external outputs as otherwise you will only have one output. (Credit to Rehabman)"



    Also ich hab das folgendermassen verstanden, erstmal kann ich mit framebuffer-portcount z.B. auf 2 ports oder 3 oder 4 anheben.


    Dann kann mit framebuffer-con1-enable 1 den ersten port in dem Fall den 2. selber definieren.


    framebuffer-con1-alldata muss ich dann die flags setzen für den port, was sicher einige daten sind, die mir aktuell nicht zu 100% vorliegen und mir aus anderen hdmi ports vorlagen aus anderen framebuffern als info klauen muss, wahrscheinlich über hackintool und diese Daten dann zusammenwerfen und daumen drücken :D



    Was ich nur noch nicht ganz verstanden habe ist der Weg zum Patchen weiterer Ports. Ich weiß dass es irgendwie so sein soll:


    TypeExplanation
    framebuffer-patch-enable1enabling the semantic patches in principle (from the WhateverGreen manual)
    framebuffer-memorycount203006601 (1 on 04 vs 2 on 03)
    framebuffer-pipecount203006601 (3 on 04 vs 2 on 03)
    framebuffer-portcount403006601 (1 on 04 vs 4 on 03)
    framebuffer-stolenmem0000000403006601
    Check here

    >td >framebuffer-con1-alldata



    framebuffer-con1-enable1Data02050000 00040000 07040000 03040000 00040000 81000000 04060000 00040000 81000000all data with a connector, either you give all information of that connector (port-bused-type-flag) or that port and the ones following it, like in this case.
    In this case, the ports in 04 are limited to 1:
    05030000 02000000 30020000 (which corresponds to port 5, which is LVDS)
    However on 03 there are 3 extra ports:
    05030000 02000000 30000000 (LVDS, con0, like 04)
    02050000 00040000 07040000 (DP, con1)
    03040000 00040000 81000000 (DP, con2)
    04060000 00040000 81000000 (DP, con3)
    Since we changed the number of PortCount to 4 in a platform that has only 1, that means we need to define the 3 others (and we that starting with con1 to the end).

    Hackintosh Home PC: 11.4 Asus ROG STRIX Z390-F Gaming I9 9900K WK@4.3 Asus X5700XT 2*256GNMVE DualBoot mt OC 0,69

    2 Mal editiert, zuletzt von Tom909 ()

  • ......Meine muss ich nehmen weil ich einen Bildschirm betreibe mit 1600*900 intern.....

    Welche AAPL,ig-platform-id 6 device-id benutzt du denn :?: dann könnte mann mehr sagen ;) ,

    und hast du dich schon mal mit dem Hackintool beschäftig ?


    Ich würde die Platform ID 01660001 nehmen .


    Mit Glück musst du nur die passende Index finden und die Bus-ID . Steck denn Monitor Kabel rein wenns Rot leuchtet hast du es [hehee]



    Zu letzt auf Patch erstellen Klicken , kann sein das du das mehr mal machen musst bis es greift.

  • Hi, weiter oben in den Beiträgen habe ich die ID genannt, aber ich fasse mal alles zusammen damit man nicht übersicht verliert:


    IG Plattform 04006601 nutze ich zurzeit.


    Das wird für notebooks mit ivy und hd4000 empfohlen. Nachteil, alle anderen Ports bis auf der LVDS ist tod, aber man kann wohl die Ports selbst nachpflegen(vorraussetzung, gewusst wie :D )


    Laut dem Guide kann man ja aber selbst anfangen den Patch für mehr funktionalität ja weiter frickeln. Nachteil, man muss wissen wie man den gesamten Port halt ansprechen kann.


    Ich kann gerne paar andere IDS probieren und mir dann die Daten raussschreiben lassen wenn der externe Port anläuft. Ich teste mal kurz die anderen Varianten durch und wenn dort HDMI anläuft mir mal versuchen wenn man ein Bild hat mit dem man arbeiten kann, dann auch die Daten rausfischen.

    Hackintosh Home PC: 11.4 Asus ROG STRIX Z390-F Gaming I9 9900K WK@4.3 Asus X5700XT 2*256GNMVE DualBoot mt OC 0,69

  • Ich würde die AAPL,ig-platform-id 01006601 nehmen ( ist die Platform-ID 01660001 ) das ist in meinen Augen die bessere wahl .

  • Also mit der 01006601 habe ich ein verzerrtes Bild auf dem HDMI ausgang und das interne Display bleibt schwarz :D

    Hackintosh Home PC: 11.4 Asus ROG STRIX Z390-F Gaming I9 9900K WK@4.3 Asus X5700XT 2*256GNMVE DualBoot mt OC 0,69

  • Stell mal Index auf 0 so kenne ich das bai Notebooks , für das Interne Display.


    Edit:


    Es würde vielleicht helfen wenn du diesen DeviceProperties Posten könntest .

  • Hier sind zwei screenshots mit der id 4. Habe die anderen mobile Ids durchprobiert aber kriege damit kein brauchbares bild hin.


    So, ich habe die Bildschirmfreigabe konfiguriert, somit kann ich auf dem gerät auch weiterhin Daten aufrufen selbst wenn das Display aktuell nicht richtig angesprochen wird.


    Wenn ich den HDMI Stecker stecke, dann ist auch Hackintool rot bei HDMI, sprich die Werte die das stehen könnte ich theoretisch verwerten.


    Diese müsste ich dann selber als Patch bei der anderen ID Einpflegen. Port 0x05 wird bei mir angezeigt. Flags ist 040, aber kann auch 080 ändern, ist aber aber erstmal egal. Interessant wäre nur rauszufinden wie man den HDMI ans laufen bekommt.


    Ich glaube ich habe so langsam das fummeln mit den Patches verstanden. Ich habe selber nun weitere 2 Ports angefügt über patch enabler und mal eben ausm netz einen Data string eingefügt und stecke ich nun im betrieb das HDMI Kabel merkt man das intern das display kurz umschaltet von der Funktion aber noch kein bild auf dem HDMI Ausgang. Stecke ich es ab, schaltet auch kurz das display um. Sprich ich habe eine Konnektivität mit ID4 hinbekommen, jetzt heisst es nur den passend so zu Patchen dass ein bild kommt. ansprechen tut wohl der Port jetzt unter Catalina. Ohne diese Patch war keine Reaktion.


    So, ich bin immer noch bei dem Problem, dass der halt die Erkennung am Port startet aber kein Bild ausgibt.


    Meine eigene Recherche hat folgendes zum Vorschein gebracht:


    Der LVDS wird mit


    05030000 02000000 30020000 INTERNAL PORT


    korrekt angesprochen


    DVI ausgäbe bekomme ich mit dem anderen Framebuffer fehlerhaft, bzw der Port erkennt aktuell was mit:


    02050000 00080000 06000000 DVI AUSGANG BILD


    das ganze habe ich in meine Config gepackt für die Patches in der Form:


    <key>AAPL,ig-platform-id</key>

    <data>BABmAQ==</data>

    <key>framebuffer-patch-enable</key>

    <data>AQAAAA==</data>

    <key>framebuffer-fbmem</key>

    <data>AACQAA==</data>

    <key>framebuffer-stolenmem</key>

    <data>AAAwAQ==</data>

    <key>framebuffer-unifiedmem</key>

    <data>AAAAgA==</data>

    <key>framebuffer-portcount</key>

    <integer>3</integer>

    <key>framebuffer-con2-enable</key>

    <data>AQAAAA==</data>

    <key>#framebuffer-con2-type</key>

    <data>AAgAAA==</data>

    <key>framebuffer-con2-alldata</key>

    <data>AgUAAAAIAAAGAAAA</data>


    Jetzt stellt sich mir die Frage was für weitere whatevergreen Parameter noch übergeben muss damit der den Bildschirm auch einbindet, der Port reagiert aufjedenfall nun wenn ich was reinstecke, laptop Bildschirm will umschalten, aber passiert nichts weiter, klemme ich ab, schaltet das display kurz um aber keine ausgabe bisher auf dem externen Display.


    So, habs hinbekommen, bin jetzt den anderen weg gegangen, wenn mein einer Framebuffer nicht mag, dann hab ich nun den 01006601 genommen und einfach den internen screen alldata umgeschrieben per Config:


    <key>AAPL,ig-platform-id</key>

    <data>AQBmAQ==</data>

    <key>framebuffer-patch-enable</key>

    <data>AQAAAA==</data>

    <key>framebuffer-fbmem</key>

    <data>AACQAA==</data>

    <key>framebuffer-stolenmem</key>

    <data>AAAwAQ==</data>

    <key>framebuffer-unifiedmem</key>

    <data>AAAAgA==</data>

    <key>framebuffer-con0-enable</key>

    <data>AQAAAA==</data>

    <key>framebuffer-con0-alldata</key>

    <data>BQMAAAIAAAAwAgAA</data>


    Damit geht es wie ich es wollte.

  • Ich habe dir was gebastelt [hehee] vielleicht funktioniert das ja ;)

    Das ist für dich interessant wie man das entschlüsselt https://dortania.github.io/Ope…sid.html#patching-bus-ids

  • Wenn Du mich meinst, dann schaue ich mir das gleich genauer an, ich habe das Konzept wie man durch whatever green und übersicht der zu verwendeten Framebuffern spielen kann mit der opencore config datei verstanden und halt erfolgreich zum ende angewendet.


    Ich habe auch hdmi audio out getestet am externen bildschirm und das funktioniert auch. Ich habe einfach den con0 auf den Framebuffer den ich bisher nutzte einfach gepatched. Damit läuft auch die 1600*600 auflösung und der zweite bildschirm per hdmi wird sauber mit full hd angesprochen und alles hot plug, kannst also im betrieb an und abklemmen. Eigentlich recht simpel wenn man weiß was man patchen muss und welchen Framebuffer man kombinieren sollte :D

    Hackintosh Home PC: 11.4 Asus ROG STRIX Z390-F Gaming I9 9900K WK@4.3 Asus X5700XT 2*256GNMVE DualBoot mt OC 0,69

  • hackmac004 Was kann ich machen, wenn beim meiner ID z. B: 0700260D sehe und es dort nicht 1,2,3 sondern 0,1,2 gibt, als was soll ich das dann definieren? con-1 oder was?

    Einmal editiert, zuletzt von Max ()

  • Max Kommt darauf an. Was genau willst du erreichen?

    Wenn ich die platform id im Hackintool einfach mal auswählen sieht das so aus und wenn ich davon einen patch erstelle, sieht es sehr mager aus.


    Du kannst da alles selber, wie in der Markierung zu sehen, verändern.


    Da ist noch gar nichts weiter extra definiert. Erst als ich zb. bei Index 1 die Pipe auf 18 änderte sieht der patch besser aus.



    Index 0 und busID 0x00 ist für dein internes Display. Index 1-3 kannst du bearbeiten und damit versuchen deine anderen Outputs flott zu bekommen. Die richtigen Einstellungen kannst du meines Wissens nur durch probieren herausfinden.

  • hackmac004 Kannst du mir die config.plist schicken von deinem Bild, was hat der Grafikname von einem Comet Lake gerät bei einer Haswell Properties verloren?Bisher hatte ich mit der 0700260D immer nur ein Blackscreen. Kannst wenn du möchtest denn aktuellen Stand in meinem Thema nachlesen (ThinkPad W540 Opencore)

    Einmal editiert, zuletzt von Max ()

  • Ja klar. Nur zu Info, ich hab die nur beispielhaft erstellt. Wenn du auf exportieren gehst und nichts weiter machts erstellt das Hackintool dir eine config auf dem desktop die nur den patch enthält. Diesen kann man dann auch in seine aktuelle config kopieren.

    Das da jetzt Comet Lake steht ist komisch, aber spielt keine große Rolle. Der string Eintrag ist eher kosmetische Natur und kann dabei helfen den Namen der iGPU im Systembericht zu verändern.

    Dateien

    • config.plist

      (1,04 kB, 22 Mal heruntergeladen, zuletzt: )
  • Is there a Boot Graphics Glitch patch for Big Sur like we have in an older version of macOS?
    Code
    1. Name: com.apple.iokit.IOGraphicsFamily
    2. Find * [HEX]: 01000075 22
    3. Replace [HEX]: 010000EB 22
    4. Comment: Boot graphics glitch,
    5. MatchOS: 10.13.x
  • Dec_Bra1n


    Please be more specific, which hardware is involved and the EFI would also help ;)


    From Goolgle Translator [hehee]

  • I let Asus Tuf Gaming show my signature for full specs. also attach my OC folder


    OC

  • Der Link geHt nicht [hehee]


  • The link does not work [hehee]

    Link aktualisiert