Eğer Intel dahili grafik işlemci (iGPU) barındıran guncel bir sisteminiz varsa macOS altında HDMI portlarından goruntu alamadığınızı fark edeceksiniz.

Bu rehberin amacı anakartınızda yer alan HDMI portunu tek bir monitor ile kullanmak icin calışır hale getirmek. Ote yandan eğer amacınız birden cok monitor kullanmak ise bunun icin harici bir AMD/NVIDIA ekran kartı kullanmanızda fayda var.

Hackintool v2.0.9 ve daha yeni surumler onceden tanımlanmış konnektor yamalarını icerir. Bu yamalara Patch -> System Configs menu cubuğu oğesinden ulaşabilirsiniz. Buradan anakartınıza uygun olanı secebilirsiniz. Framebuffer Yamasını config.plist'e eklemek icin:

Hackintool calıştırın ve Framebuffer > MacOS 10.14 seceneğini secin. EFI bolumunuzu yerleştirin. Bunu Hackintool icinden, Clover Configurator'dan veya EFI Mounter v3 ile yapabilirsiniz. Patch --> System Configs yolunu izleyip anakartınızı secin. Tabii ki burada butun anakartları bulamayacaksınız. Eğer anakartınız burada yoksa benzer bir modele ait konfigurasyonu kullanabilirsiniz: arkasında aynı sayıda ve turde goruntu cıkışı olan.Eğer bu yontem ile sonuca ulaşamazsanız aşağıdaki kapsamlı rehberden yararlanabilirsiniz. Hackintool'da sol ustte yer alan Intel simgesine tıklayın ve sonra da aşağıdaki Connectors sekmesine gecerek port ayarlarının uygulandığından emin olun. Aşağıdaki Patch sekmesine tıklayın ve prosedur kısmını 7'den 11'e kadar takip edin. Bu işlem bağlantı ayarlarına ait yamayı oluşturacak ve config.plist dosyanıza ekleyecek. Teori

ASRock, ASUS, EVGA, Gigabyte ve MSI'ın ustunde farklı goruntu cıkışları olan anakartları mevcut. Bazı anakartlarda tek HDMI ve cift DP varken bazılarında ise cift HDMI portu yer alıyor. Ote yandan DVI ve VGA'ya yer veren ureticiler de mevcut.

macOS, iGPU ekran surucusunu (AppleIntelFramebuffer olarak gecer) devreye sokarken anakart uzerindeki goruntu cıkışlarını bilmiyor. Yani hangi portun HDMI, hangisinin DVI olduğu hakkında fikri yok. Bu durumda sectiğiniz Platform ID'ye gore tahmin yapıyor. Orneğin Platform ID'yi 0x3E9B0007 secerseniz butun portlar DisplayPort olarak duşunuluyor (VGA da DisplayPort olarak hesaplanıyor). Bu durumda anakarta DisplayPort veya VGA monitor bağladığınızda doğrudan calışıyor. Fakat HDMI veya DVI monitor bağladığınızda hicbir goruntu alamıyorsunuz zira macOS bu portları DisplayPort olarak ele alıyor.

Neyse ki varsayılan port haritasını değiştirmenin bir yolu var. Anakart ustundeki her bir fiziksel portun bir numarası var. Port numaraları 5, 6 ve 7 olarak geciyor lakin bunlar farklı anakartlar uzerinde fiziksel olarak farklı noktalara bağlılar. macOS'un da iGPU uzerinden en fazla uc harici goruntu bağlantısına izin verdiğini belirtelim.

Bazı anakartlarda 5 numaralı port HDMI'a bağlıyken bir başka anakartta DP, DVI veya VGA'ya bağlı olabilir. Benzer şekilde anakarttan anakarta 6 ve 7 numaralı portlar da değişiklik gosterebilir. HDMI ve DVI siyah ekran sorununu cozmek icin anakarttaki hangi port HDMI'a (varsa), hangisi DVI'a ve hangileri de DP veya VGA'ya bağlı diye oğrenmeliyiz.

Anakart icin fiziksel port haritasını cıkardığımızda bir Framebuffer Tablosu ile bu bilgiyi macOS'a sağlıyoruz. macOS en fazla uc goruntu cıkışı desteklediğinden oturu uc tane yazılımsal bağlantı noktası (Connector) belirleyebiliriz. Herhangi bir yazılımsal bağlantı herhangi bir fiziksel porta bağlanabilir.

3 yazılımsal bağlantıya con0, con1 ve con2 adı verilmekte. 3 fiziksel port 5, 6 ve 7 bize 1, 2 ve 3 numaraları yazılım indeksleri (Software Index) olarak sunuluyor. Yazılım İndeksi 1 her zaman fiziksel Port 5'e denk geliyor. Yazılım İndeksi 2 her zaman fiziksel Port 6'ya denk geliyor. Yazılım İndeksi 3 her zaman fiziksel Port 7'ye denk geliyor. HDMI ve DVI aynı olarak kabul ediliyor. HDMI ve DVI fiziksel portlar icin tip ayarını HDMI yapın. DP ve VGA da aynı olarak kabul ediliyor. Hem DP hem de VGA fiziksel portları icin tipi DP yapın. Orneğin:

Eğer macOS'a fiziksel port 6'nın HDMI olduğunu soyleyeceksek İndeks 2 turunu HDMI yapıyoruz. Fiziksel port 5'in turunun DVI olduğunu belirteceksek İndeks 1 tipini HDMI yapıyoruz zira macOS icin DVI ve HDMI aynı) Fiziksel port 7 DP ise İndeks 3 tipini DP yapıyoruz. Fiziksel port 7 VGA ise İndeks 3 tipini DP yapıyoruz zira macOS altında DP ve VGA eşit. Port tipine ek olarak belirlememiz gereken bir şey daha var: BusID. Her bir yazılımsal bağlantıya benzersiz bir BusID atanması gerek fakat sadece belli BusID değerlerine izin var:

DisplayPort en esnek olanı. BusIDs 0x02, 0x04, 0x05 ve 0x06'ya izin veriliyor. Bu değerlerden herhangi biri herhangi bir anakartta calışmalı. Değerler VGA'ya da uyarlanabilir. HDMI epey kısıtlı. Sadece 0x01, 0x02, 0x04 ve 0x06 BusID'lerine izin var fakat bazı anakartlar bunlar icinden de sadece bir ya da iki tanesini kabul edecek. Orneğin Gigabyte Designare Z390 sadece 0x04 kabul ediyor. DVI, HDMI ile aynı. Aynı BusID'ler ve hatta aynı tipler kullanılıyor. Portlar, Bağlantılar, İndeksler, Tipler ve BusID'ler hakkındaki bu kısa turdan sonra başlamaya hazırız!

İlk olarak her bir fiziksel portun tipini tespit etmekle başlıyoruz. Bu işi tamamladıktan sonra kalanı epey kolay. Bu durumda başlangıcta cevaplamamız gereken uc soru var:

Port 5 (Index 1) hangi Tip? Port 6 (Index 2) hangi Tip? Port 7 (Index 3) hangi Tip? Gereksinimler

Buradan guncel Hackintool surumunu indirin. Lilu ve WhateverGreen yuklu olmalı. Hackintosh rehberimiz ile kurduysanız sisteminizde kurulu. Bilgisayarınız duzgun ekran kartı Device ID ve Platform ID değerleri ile acılmış olmalı. Bu değerler Clover boot ekranında veya macOS altında Configurator ile yapılabilir. Clover Configurator calıştırın oncelikle Mount EFI diyerek EFI bolumunu yerleştirin. File > Open deyin ve EFIEFIClover altındaki Config.plist dosyasını acın. Devices sekmesine gecin. Burada IntelGFX kısmına işlemcimizin kodunu girmemiz gerekiyor. Bu kodu Intel'in ARK sayfasından oğrenebiliriz. Bunun icin İşlemci modelimiz + ARK yazarak arama yapabiliriz. Cıkan sonuclar icinden Intel'in ARK sayfasına giriyoruz. Sayfanın en altında cihaz kimliği ibaresini goreceksiniz. Bunu kopyalıyoruz. 9900K icin bu değer 0x3E98 Şimdi bu değeri Clover Configurator'da IntelGFX kısmına yapıştırıp sonuna 8086 ibaresi ekliyoruz. Yani kodumuz 0x3E988086 oluyor. Şimdi Graphics sekmesine geciyoruz ve burada ig-platform-idkısmına geliyoruz ve kullandığımız işlemci icindeki GPU'ya uygun olan kodu seciyoruz. 9900K icin bu değer 3E9B0007. Burada bir hata yaparsanız buyuk dert değil, sonradan değiştirebilirsiniz. Coğu Coffee Lake masaustu işlemci icin Device ID 0x3E9B ve Platform ID 0x3E9B0007 kullanılabilir. Eğer iGPU'ya varsayılan ekran kartı surucusu eşlik ederse bu rehber işe yaramayacaktır. Hackintool'da butun bağlantılar icin Index değeri -1 olarak gozukuyorsa burada bir sorun vardır ve bu Platform ID'den kacınılmalıdır. Son olarak Inject Intel'in de secili olduğundan emin oluyoruz ve File > Kaydet diyerek yaptığımız değişiklikleri kaydediyoruz. Bu aşamada şoyle bir sorun ortaya cıkıyor: sorunsuz calışan ekran kartı surucusu devreye girdiğinde anakartınızın HDMI ve DVI portları calışmayı durduracak. Bu durumda bilgisayarı başlatmadan once iki seceneğiniz var: Monitoru anakarttaki calışan bir porta (or. DisplayPort) bağlamak ya da harici bir ekran kartı kullanıp monitoru harici ekran kartına bağlamak. Eğer harici ekran kartı kullanacaksanız BIOS'tan Initial Graphics ayarını ekran kartınızın takılı olduğu slota uygun şekilde ayarlamanızda fayda var. Orneğin en ustteki x16 slotunda ise bu ayarı PCIe 1 Slot yapın. Biz sisteme macOS ile uyumlu GT 710 takıp calıştırdık. Siz dilerseniz harici ekran kartı kullanmadan, anakart ustundeki Tip-C cıkışı ile goruntu alabilirsiniz. Bu sorunu da cozduysek artık bilgisayarımızı yeniden başlatabiliriz. iGPU'ya doğru ekran kartı surucusunun bağlı olup olmadığını tespit etmek icin Hackintool'u calıştırıyoruz. Eğer GPU Info aşağıdaki doğru şekilde gosteriliyorsa rehbere devam edebilirsiniz. Ote yandan burada GPU: ??? ibaresi varsa yukarıdaki adımları kontrol etmenizde fayda var. Her şey yolunda ise anakartımızdaki portların bir listesini yapıyoruz (HDMI, DP, DVI-D, VGA gibi). Prosedur esnasında her bir portu test etmeniz gerekebilir. Bu bağlamda farklı cıkışlara uygun kablo ve monitor bulundurmanızda fayda var. Her şey hazır ise Clover Configurator'da rehberin başında girdiğimiz verileri siliyoruz. Evet, yanlış duymadınız. Devices --> Fake ID --> IntelGFX --> Burayı tamamen temizliyoruz. Graphics --> Inject Intel --> Kutudaki işareti kaldırıyoruz. Graphics --> ig-platform-id --> Buradaki kutucuğu da temizliyoruz. Config.plist'i kaydediyoruz ve Clover Configurator'dan cıkıyoruz. Bilgisayarımızı yeniden başlatmıyoruz. Hazırlık

Hackintool'u calıştırın ve ust menuden Framebuffer > macOS 10.14 secin. Patch menusu altından Apply Current Patches secin ve yanındaki işaretin mevcut olduğundan emin olun. İşlemciniz icin en uygun Platform ID'yi secin. Farklı Platform ID'ler farklı bağlantı setlerine sahip olacak. Eğer başlıksız bir platform ID secerseniz butun bağlantılar Index = -1 değerine sahip olacak, yani kapalı. Boyle bir platform ID kullanamayacağımızı belirtmiştik. 9900K işlemcili sistemiz icin Platform ID 0x3E9B0007 seciyoruz ve Connectors sekmesine geciyoruz. Burası artık bizim ana odak noktamız olacak zira butun Index, BusID, Pipe, Type ve Flag değerlerini buradan ayarlayacağız. Tablodaki her bir sıra bir yazılımsal bağlantıyı temsil ediyor. Bağlantılar ardışık olarak listeleniyor. Bu aşamada tablodaki hicbir değeri doğru olarak kabul edemeyiz. Eğer monitorunuz anakart ustundeki portlardan birine bağlı ise bu girdilerden biri kırmızı yanmalı. Biz harici ekran kartı kullandığımızdan dolayı herhangi bir girdinin yanmadığını gorebilirsiniz. Şimdi anakart ustunde yer alan Tip-C portuna diğer ucu DisplayPort olan kablomuzu takalım ve boylece bu portun numarasını oğrenelim. HDMI portu calışmadığından dolayı HDMI kablosunun takmanın bir anlamı yok şimdilik. DisplayPort bağlantısını yapar yapmaz Index 1 yanıyor. Şimdi bu girdiye tıklıyoruz ve aşağıdan port numarasını oğreniyoruz: 0x05! Evet, bir portun numarasını oğrendik: Port 5, Index 1, DisplayPort. Geriye kaldı iki port! Prosedur

Ana monitorunuz her daim bağlı kalsın. Şimdi diğer portu tespit etmek icin monitorumuzu ustteki Tip-C portundan sokuyoruz ve ve alttaki porta takıyoruz. Bunu yapar yapmaz tablodaki diğer girdinin kırmızı yandığını goreceksiniz. Şimdi bu girdiye tıklıyoruz ve tekrar port numarasını not alıyoruz. İkinci DisplayPort bağlantımızın port numarası 6. Bu durumda karşımıza cıkan tablo şu şekilde: Port 5 (Index 1) is DisplayPort Port 6 (Index 2) is DisplayPort Şimdi anakartımızda uc port olduğuna gore ve HDMI portu calışmadığına gore HDMI kablosunu anlamı bir anlamı yok. Bu durumda eleme yontemi ile Port 7'nin (Index 3) HDMI olacağı kanaatine varabiliriz. Sonuc olarak yaptığımız keşfin sonucu şu şekilde: Port 5 (Index 1) DisplayPort Port 6 (Index 2) DisplayPort Port 7 (Index 3) de HDMI olmalı Şimdi Type ve Index sutunlarına bakalım. Ucunun de Type DP (DisplayPort) olarak ayarlı olduğunu goruyoruz ve Index değerleri de 1, 2 ve 3. İlk ikisi doğru lakin ucunu portun HDMI olması gerektiğini az once tespit etmiştik. Bu durumda Index 3 icin Type değerini acılan menuden HDMI yapıyoruz. BusID değerini de 0x04 olarak değiştiriyoruz. Peki neden 0x04? BusID icin başka olasılıklar mevcut fakat bir yerden başlamalı ve olasılıkları test etmeliyiz. BusID 0x04 şu anda Index 2'ye tahsis edilmiş olduğundan dolayı bu iki arasındaki değerleri değiştiriyoruz. Index 2 icin BusID değerini 0x06 (ki bu DisplayPort icin gecerli bir BusID) ve Index 3 icin de 0x04 yapıyoruz. Artık yaptığımız değişiklikleri test etme zamanı. Patch sekmesine tıklayın ve General ve Advanced alt sekmelerinde ilgili kısımların secili olduğundan emin olun. (Biz Coffee Lake işlemci kullandığımızdan oturu Advanced alt sekmesindeki Device ID 0x3E9B olarak ayarlı: Intel UHD Graphics 630. İşlemciniz icin en uygun olan Device ID'yi kendiniz secmelisiniz.) Hackintool bazı kutular işaretlendiği zaman Connectors sekmesini sıfırlayabiliyor. Bu gibi durumlarda Connectors sayfasına geri donun ve ayarlarınızı tekrar kontrol edin ve gerekiyorsa yeniden yapın. Sonrasında Patch sekmesine gelip Generate Patch deyin. Bu aşamada oluşturduğumuz yamayı config.plist icine eklememiz gerekiyor. Bunun icin Clover Configurator ile EFI bolumunu Mount ediyoruz. Şimdi Hackintool menusunden File > Export > Clover config.plist diyoruz. Şimdi acılan dosya penceresinden EFI bolumundeki CLOVER klasorune giriyoruz ve mevcut olan config.plist dosyasını seciyoruz. Hackintool, otomatik olarak gerekli yamayı config.plist icine yerleştirecek -dosya yapısını bozmadan. Yamayı eklediğimize gore artık bilgisayarımızı yeniden başlatabiliriz. Mojave acılırken artık HDMI monitorunuzu anakartın ustundeki HDMI portuna bağlayabilirsiniz. Goruntu geliyor mu? Bu aşamada gelmeyebilir. Ama geliyorsa işlem tamamdır! Eğer HDMI (veya DVI) acılmazsa, izin verilen başka bir BusID deneyin. Hackintool'u tekrar calıştırın. Framebuffer > macOS 10.14 secin ve Patch > Apply Current Patches secili olduğundan emin olun. Sonrasında 5. adımdan 13. adıma kadar olan ynergeleri tekrar edin fakat aşağıdaki listeye uyarak farklı bir BusID kullanın:




Eğer ucten az goruntu cıkışınız varsa kullanılmayan Indeksleri devre dışı bırakmak icin iki secenek var: Index değerini -1 yapmak. Index değerini olduğu gibi bırakın fakat BusID değerini 0x00 yapın. Gelen kullanıcı geri bildirimlerine bakacak olursak ikinci secenek ilk denenmesi gereken olabilir. Orneğin Port 0x07'de (Index 3) tek bir HDMI portunuz varsa aşağıdaki listeden herhangi birini deneyebilirsiniz:

Index 3: BusID 0x04, Type HDMI
Index 1: BusID 0x00, Type DUMMY
Index 2: BusID 0x00, Type DUMMY
Index -1: BusID 0x00, Type DUMMY

veya
Index 1: BusID 0x00, Type DUMMY
Index 3: BusID 0x04, Type HDMI
Index 2: BusID 0x00, Type DUMMY
Index -1: BusID 0x00, Type DUMMY

veya

Index 1: BusID 0x00, Type DUMMY
Index 2: BusID 0x00, Type DUMMY
Index 3: BusID 0x04, Type HDMI
Index -1: BusID 0x00, Type DUMMY Grafiksel bozulmaları ve nadir boot hatalarını onlemek icin Clover Configurator icinden "disablegfxfirmware" ayarını devreye sokmanızda fayda var. Son Rotuşlar

Bu nispeten basit bir cozum oldu zira uc bağlantı noktasından ikisi varsayılan olarak doğru bir şekilde yapılandırılmıştı ve neredeyse hicbir tahminde bulunmadık. Ama bir goruntu cıkışı bağladığınızda başka hicbir satır yanmazsa ne olur? Bu durumda deneme yanılma yontemine başvurmanız gerekir. Umuyoruz ki portlardan biri bilinir ve boylece sizin ekstra bir ya da en fazla iki portu tahmin etmeniz gerekir.

Diyelim ki halihazırda Port 5'in (Index 1) DisplayPort olduğunu keşfettiniz ve elde edebileceğiniz tum bilgiler bu cunku başka hicbir satır kırmızılaşmıyor. Yapılandırılacak bir sonraki port HDMI ise, HDMI 6'yı Port 6'ya (Index 2) atamaya ve Tip ve BusID'lerini uygun şekilde ayarlamaya calışır ve bilgisayarı yeniden başlatırsınız. HDMI hala etkin değilse, Port 7'ye (Dizin 3) atayacak ve Tip ve BusID değerini buna uygun şekilde ayarlayacaksınız. Hala başarısız olursa, sihirli kombinasyonu bulana kadar Port 6'da ve ardından Port 7'de farklı bir BusID denersiniz.

HDMI (veya DVI) başarıyla etkinleştirildiğinde, Port numarasını kontrol etmek icin Hackintool'u bir kez daha calıştırabiliriz. İlk olarak, HDMI işaretli satırın artık kırmızı renkte yandığını goruyoruz (ilk satır bizim DisplayPort bağlantımız) ve HDMI satırının uzerine tıklarsak, Port numarasının gercekten 0x07 olduğunu onaylayabiliriz. Ve buraya kadar!

Kaynak: [GUIDE] General Framebuffer Patching Guide (HDMI Black Screen Problem)