Skylake ve üstü işlemcilerde Clover altından KextsToPatch kullanarak framebuffer yamalamak Mojave ile artık mümkün değil. Bunun için Lilu + WhateverGreen kullanmanız gerekiyor.
Bu yöntem tüm sürümlerde geçerlidir. Mojave öncesi ve sonrası macOS sürümlerinde de bu yöntemi kullanmanızı tavsiye ederiz.
Coffe Lake kullanıcıları
Fake Kaby Lake Platform-ID'lerinde yeni WhateverGreen çalışmayacaktır. Bu yüzden macOS 10.14 Beta 4 (18A336e) ya da daha günceli bir sürümü veya macOS High Sierra 10.13.6 (17G2112) kullanmanız gerekiyor. Bu sürümlerden ikincisi sadece MacBookPro15,1 veya MacBookPro15,2 ID’lerinde çalışan özel bir sürüm. Bu script’i çalıştırarak macOS High Sierra 10.13.6 (17G2112) kurulumu oluşturabilirsiniz. (Güncelleme: Kaby Lake için Fake Platform-ID'leri eklendi.)
Lilu + WhateverGreen Çözümü
WhateverGreen, diğer tüm video yamalama eklentilerini Lilu için değiştirecektir. (Şu anda WhateverGreen, IntelGraphicsFixup, NvidiaGraphicsFixup, Shiki ve CoreDisplayFixup birleşti.) Diğerleri muhtemelen
AppleALC, HibernationFixup ve IntelGraphicsDVMTFixup gibi kextleri takip edecektir. Bu ise kapsayıcı bir çözüm olmaya çalışıyor.
Ön Eleme
Lilu ve WhateverGreen’i Derleme
WhateverGreen'i indirin. Lilu'nun debug sürümünü WhateverGreen'in kök dizinine yerleştirdiğinizden emin olun. Lilu ve WhateverGreen Kext'lerini normal yerlerine kurun. Debug çıkışını görmek istiyorsanız WhateverGreen'i debug modda derleyiniz.
Derlemede sorun mu yaşıyorsunuz?
Derlemede problem yaşıyorsanız build_lilu.sh shell script'i indirin.
Lilu + WhateverGreen'i Xcode kullanarak otomatik olarak indirip derlemesi için indirdiğiniz script dosyasını bir klasörün içine atın ve çalıştırın.
Tabi ilk olarak debug sürümünü denemenizi tavsiye ederiz. (Clover'ın EFI/Clover/kexts/Other klasörüne yerleştirerek.)
IGPU'ya Ait Aygıt Yolunu Bulma
gfxutil aracını indirip bu şekilde kullanın:
ig-platform-id
AAPL,ig-platform-id (Sandy Bridge için AAPL,snb-platform-id) girdisi için Clover değerin bir veri formatında olmasını şart koşuyor. Bu yüzden rakamları tersine çevirmeniz gerek.
Örneğin:
platform-id 0x3EA50009 olsun istiyorsanız önce rakamları tersine çevirin: 0900A53E
Sonra Xcode'nun plist editörünü kulanarak değerleri Clover'ın config.plist dosyasına ekleyin.
Sistemim için hangi ig-platform-id değerini kullanmalıyım?
Sisteminize uyumlu olan en yakın değeri seçmelisiniz.
İşlemci modelindeki tire işaretinden sonra gelen sayı ile işlemcinin ait olduğu nesli öğrenebilirsiniz:
Örnekler:
Başka bir işlemci neslini taklit etmek istiyorsanız lilucpu=N boot parametresini kullanabilirsiniz. Buradaki N aşağıdaki nesil numaralarını belirtir:
Bir CPU'yu taklit etmek için Devices/Properties altındaki GPU girdisine uygun Intel nesli için geçerli bir device-id tanımlamanız gerek.
Örnek:
Önerilen bazı yapılandırmalar:
Gen 2: Sandy Bridge (Intel HD Graphics 2000/3000)
Gen 3: Ivy Bridge (Intel HD Graphics 2500/4000)
Gen 4: Haswell (Intel HD Graphics 4200-5200)
Gen 5: Broadwell (Intel HD Graphics 5300-6300)
Gen 6: Skylake (Intel HD Graphics 510-580)
Gen 7: Kaby Lake (Intel HD Graphics 610-650)
Gen 8: Coffee Lake (Intel UHD Graphics 630)
Framebuffer Yamalama
WhateverGreen birçok işi sizin için otomatik olarak yapmaktadır ve çoğu zaman da ek Frammebuffer yamasına ihtiyacınız olmaz. Yine de minimum olarak sisteminize uygun bir ig-platform-id seçip config.plist/Devices/Properties altına aşağıdaki gibi yerleştirmelisiniz:
Ek Framebuffer Yamalasına ihtiyaç duyulan durumlar:
Framebuffer Yama Türleri
3 farklı yamalama türü var:
Bazı örnek yamalar:
- 32MB BIOS, 19MB stolen (framebuffer) 9MB fbmem (cursor) 2048MB unifiedmem (vram)
- Pipe / Port Count 3 to 2
- Connector 1 DP to HDMI
- Connector 2 Disable
Tüm Veri metodu ile bir örnek:
Bul/Değiştir yöntemi ile bir örnek:
Framebuffer Dökümleri
Framebuffer verisi ile döküm oluşturmanın iki yolu var. İkisi için de WhateverGreen + Lilu'nun debug sürümleri kullanılmalı.
Lilu'dan debug çıktısı almak için -liludbgall liludump=60 boot parametresini kullanın. Bu parametrelerin çalışması için Lilu ve WhateverGreen'i debug modda derlemeniz gerek. Log dosyaları şu dizinde yer almalı: /var/log/Lilu_*.
Debug çıktısını görüntülemek için aşağıdaki kodu Terminal'e yapıştırın:
(Ana dizinde weglog.txt adında bir dosya oluşacaktır.)
Yardıma mı ihtiyacınız var?
Oluşturduğunuz konfigürasyonlardaki hataları tespit edebilmemiz için aşağıdaki dosyaları açtığınız konuda paylaşın:
Emeği Geçenler
Bu yöntem tüm sürümlerde geçerlidir. Mojave öncesi ve sonrası macOS sürümlerinde de bu yöntemi kullanmanızı tavsiye ederiz.
Coffe Lake kullanıcıları
Fake Kaby Lake Platform-ID'lerinde yeni WhateverGreen çalışmayacaktır. Bu yüzden macOS 10.14 Beta 4 (18A336e) ya da daha günceli bir sürümü veya macOS High Sierra 10.13.6 (17G2112) kullanmanız gerekiyor. Bu sürümlerden ikincisi sadece MacBookPro15,1 veya MacBookPro15,2 ID’lerinde çalışan özel bir sürüm. Bu script’i çalıştırarak macOS High Sierra 10.13.6 (17G2112) kurulumu oluşturabilirsiniz. (Güncelleme: Kaby Lake için Fake Platform-ID'leri eklendi.)
Lilu + WhateverGreen Çözümü
WhateverGreen, diğer tüm video yamalama eklentilerini Lilu için değiştirecektir. (Şu anda WhateverGreen, IntelGraphicsFixup, NvidiaGraphicsFixup, Shiki ve CoreDisplayFixup birleşti.) Diğerleri muhtemelen
AppleALC, HibernationFixup ve IntelGraphicsDVMTFixup gibi kextleri takip edecektir. Bu ise kapsayıcı bir çözüm olmaya çalışıyor.
Ön Eleme
- Kaldırın:
- FakePCIID_Intel_HD_Graphics
- IntelGraphicsFixup
- NvidiaGraphicsFixup
- CoreDisplayFixup
- Shiki
- Clover altından tüm Graphics Injection yarlarını devre dışı bırakın:
- config.plist/Graphics/Inject/ATI=NO
- config.plist/Graphics/Inject/Intel=NO
- config.plist/Graphics/Inject/NVidia=NO
- config.plist/Graphics/ig-platform-id=
- config.plist/Devices/FakeID/IntelGFX=
- Tüm DSDT Clover Fix’lerini devre dışı bırakın:
- AddHDMI
- FixDisplay
- FixIntelGfx
- AddIMEI
- UseIntelHDMI’ı devre dışı bırakın.
- Boot komutunu kaldırın: -disablegfxfirmware
- Aşağıdaki dosyalardan tüm iGPU ve HDMI girdilerini kaldırın:
- config.plist/Devices/Arbitrary
- config.plist/Devices/Properties
- config.plist/Devices/AddProperties
- Aşağıdaki dizinden iGPU ve HDMI ile alakalı SSDT ve DSDT’leri kaldırın:
- CLOVER/ACPI/patched
- GFX0 -> IGPU isimlendirmesi:
- WhateverGreen bunu otomatik olarak yapacaktır fakat tümünü değil. Yine de yeterli olmalı.
- Kullandığınız Kext/ACPI yamaları ihtiyaç duyarsa Clover GFX0 -> IGPU seçeneğini etkinleştirmeniz gerekebilir.
Lilu ve WhateverGreen’i Derleme
WhateverGreen'i indirin. Lilu'nun debug sürümünü WhateverGreen'in kök dizinine yerleştirdiğinizden emin olun. Lilu ve WhateverGreen Kext'lerini normal yerlerine kurun. Debug çıkışını görmek istiyorsanız WhateverGreen'i debug modda derleyiniz.
Derlemede sorun mu yaşıyorsunuz?
Derlemede problem yaşıyorsanız build_lilu.sh shell script'i indirin.
Lilu + WhateverGreen'i Xcode kullanarak otomatik olarak indirip derlemesi için indirdiğiniz script dosyasını bir klasörün içine atın ve çalıştırın.
Tabi ilk olarak debug sürümünü denemenizi tavsiye ederiz. (Clover'ın EFI/Clover/kexts/Other klasörüne yerleştirerek.)
IGPU'ya Ait Aygıt Yolunu Bulma
gfxutil aracını indirip bu şekilde kullanın:
Kod:
$ ./gfxutil -f IGPU
DevicePath = PciRoot(0x0)/Pci(0x2,0x0)
ig-platform-id
AAPL,ig-platform-id (Sandy Bridge için AAPL,snb-platform-id) girdisi için Clover değerin bir veri formatında olmasını şart koşuyor. Bu yüzden rakamları tersine çevirmeniz gerek.
Örneğin:
platform-id 0x3EA50009 olsun istiyorsanız önce rakamları tersine çevirin: 0900A53E
Sonra Xcode'nun plist editörünü kulanarak değerleri Clover'ın config.plist dosyasına ekleyin.
Sistemim için hangi ig-platform-id değerini kullanmalıyım?
Sisteminize uyumlu olan en yakın değeri seçmelisiniz.
İşlemci modelindeki tire işaretinden sonra gelen sayı ile işlemcinin ait olduğu nesli öğrenebilirsiniz:
Örnekler:
- Intel(R) Core(TM) i5-2760QM ( 2. Nesil)
- Intel(R) Core(TM) i7-5257U CPU @ 2.70GHz (5. Nesil)
- Intel(R) Core(TM) m3-6Y30 (6. Nesil)
- Intel(R) Core(TM) i5-8350U (8. Nesil)
Başka bir işlemci neslini taklit etmek istiyorsanız lilucpu=N boot parametresini kullanabilirsiniz. Buradaki N aşağıdaki nesil numaralarını belirtir:
Kod:
4 Sandy Bridge
5 Ivy Bridge
6 Haswell
7 Broadwell
8 Skylake
9 Kaby Lake
10 Coffee Lake
Örnek:
- Skylake taklidi için: (lilucpu=8 ile device-id=0x16190000)
- Kaby Lake için: (lilucpu=9 ile device-id=0x12590000).
Önerilen bazı yapılandırmalar:
Gen 2: Sandy Bridge (Intel HD Graphics 2000/3000)
- S/L/E/AppleIntelSNBGraphicsFB.kext
- Destek, bu sürümü ile başladı: OS X 10.7.x - Bu sürüm ile sona erdi: macOS 10.13.6
- Metal desteği yok.
- device-id: 0x0102 0x0106 0x010A 0x0112 0x0116 0x0122 0x0126
- AAPL,snb-platform-id (masaüstü): 0x00030010 (varsayılan)
- AAPL,snb-platform-id (laptop): 0x00010000 (varsayılan)
Gen 3: Ivy Bridge (Intel HD Graphics 2500/4000)
- S/L/E/AppleIntelFramebufferCapri.kext
- Destek, bu sürümü ile başladı: OS X 10.8.x
- device-id: 0x0152 0x0156 0x0162 0x0166
- AAPL,ig-platform-id (masaüstü): 0x0166000A (varsayılan), 0x01620005
- AAPL,ig-platform-id (laptop): 0x01660003 (varsayılan), 0x01660009, 0x01660004
Gen 4: Haswell (Intel HD Graphics 4200-5200)
- S/L/E/AppleIntelFramebufferAzul.kext
- Destek, bu sürümü ile başladı: OS X 10.9.x
- device-id: 0x0D26 0x0A26 0x0A2E 0x0D22 0x0412
- AAPL,ig-platform-id (masaüstü): 0x0D220003 (varsayılan)
- AAPL,ig-platform-id (laptop): 0x0A160000 (varsayılan), 0x0A260005 (önerilen)
Gen 5: Broadwell (Intel HD Graphics 5300-6300)
- S/L/E/AppleIntelBDWGraphicsFramebuffer.kext
- Destek, bu sürümü ile başladı: OS X 10.10.2
- device-id: 0x0BD1 0x0BD2 0x0BD3 0x1606 0x160E 0x1616 0x161E 0x1626 0x1622 0x1612 0x162B
- AAPL,ig-platform-id (masaüstü): 0x16220007 (varsayılan)
- AAPL,ig-platform-id (laptop): 0x16260006 (varsayılan)
Gen 6: Skylake (Intel HD Graphics 510-580)
- S/L/E/AppleIntelSKLGraphicsFramebuffer.kext
- Destek, bu sürümü ile başladı: OS X 10.11.4
- device-id: 0x1916 0x191E 0x1926 0x1927 0x1912 0x1932 0x1902 0x1917 0x193B 0x191B
- AAPL,ig-platform-id (masaüstü): 0x19120000 (varsayılan)
- AAPL,ig-platform-id (laptop): 0x19160000 (varsayılan)
Gen 7: Kaby Lake (Intel HD Graphics 610-650)
- S/L/E/AppleIntelKBLGraphicsFramebuffer.kext
- Destek, bu sürümü ile başladı: macOS 10.12.6
- device-id: 0x5912 0x5916 0x591B 0x591C 0x591E 0x5926 0x5927 0x5923 0x87C0
- AAPL,ig-platform-id (masaüstü): 0x59160000 (varsayılan)
- AAPL,ig-platform-id (laptop): 0x591B0000 (varsayılan)
Gen 8: Coffee Lake (Intel UHD Graphics 630)
- S/L/E/AppleIntelCFLGraphicsFramebuffer.kext
- Destek, bu sürümü ile başladı: macOS 10.13.6 (17G2112) / 10.14 beta 4 (18A336e)
- device-id: 0x3E9B 0x3EA5 0x3EA6 0x3E92 0x3E91 0x3E98
- AAPL,ig-platform-id (masaüstü): 0x3EA50000 (varsayılan), 0x3E9B0007 (önerilen)
- AAPL,ig-platform-id (laptop): 0x3EA50009 (varsayılan)
Framebuffer Yamalama
WhateverGreen birçok işi sizin için otomatik olarak yapmaktadır ve çoğu zaman da ek Frammebuffer yamasına ihtiyacınız olmaz. Yine de minimum olarak sisteminize uygun bir ig-platform-id seçip config.plist/Devices/Properties altına aşağıdaki gibi yerleştirmelisiniz:
Ek Framebuffer Yamalasına ihtiyaç duyulan durumlar:
- BIOS'ta 32MB ve yukarısını göremeyenler için DVMT ayarlama: (framebuffer-stolenmem / framebuffer-fbmem)
- Grafiksel bozulma yaşayan 4K kullanıcıları için daha yüksek VRAM ayarlama: (framebuffer-unifiedmem)
- eGPU'yu devre dışı bırakma: (disable-external-gpu)
- 4K desteği için Pixel Clock yamasını devreye sokma: (enable-hdmi20)
- Uyku modunu etkinleştirmek için konnektörleri devre dışı bırakma: (framebuffer-pipecount / framebuffer-portcount / framebuffer-conX-type=-1)
- 10.13.6 altındaki sürümlerde eDP laptop ekranları için CNConnectorAlwaysConnected parametresini kaldırma: (framebuffer-con0-flags=0x00000090)
- Sistem portlarıyla eşleşmesi için konnektör türlerini değiştirme: (framebuffer-conX-type)
Framebuffer Yama Türleri
3 farklı yamalama türü var:
- İsteğe Bağlı (Önerilir)
-
Kod:
framebuffer-patch-enable (required to enable below) framebuffer-framebufferid (optional; defaults to current platform-id) (all below are optional) framebuffer-mobile framebuffer-pipecount framebuffer-portcount framebuffer-memorycount framebuffer-stolenmem framebuffer-fbmem framebuffer-unifiedmem framebuffer-cursormem (Haswell only) framebuffer-camellia framebuffer-flags framebuffer-conX-enable (required to enable below) framebuffer-conX-index framebuffer-conX-busid framebuffer-conX-pipe framebuffer-conX-type framebuffer-conX-flags
-
- Tüm Veriler
-
Kod:
framebuffer-conX-enable (required to enable below) framebuffer-conX-alldata
-
- Bul / Değiştir
-
Kod:
framebuffer-patchX-enable (required to enable below) framebuffer-patchX-framebufferid (optional; defaults to current platform-id) framebuffer-patchX-find framebuffer-patchX-replace framebuffer-patchX-count (optional; defaults to 1)
-
Bazı örnek yamalar:
- 32MB BIOS, 19MB stolen (framebuffer) 9MB fbmem (cursor) 2048MB unifiedmem (vram)
- Pipe / Port Count 3 to 2
- Connector 1 DP to HDMI
- Connector 2 Disable
Tüm Veri metodu ile bir örnek:
Bul/Değiştir yöntemi ile bir örnek:
Framebuffer Dökümleri
Framebuffer verisi ile döküm oluşturmanın iki yolu var. İkisi için de WhateverGreen + Lilu'nun debug sürümleri kullanılmalı.
- -igfxdump boot parametresini kullanarak IGPU framebuffer kext'i
/AppleIntelFramebuffer_X_Y
(diskinizin kök bölümü) altına dökümlemek.
Bu dökümü okumak için birkaç yol var:
- 010 Editor'ü IntelFramebuffer.bt şablonu ile kullanarak.
- Hackintool ile bu yolu takip ederek:
File->Open menu
- -igfxfbdump boot parametresini kullanarak varsayılan ve yamalı framebuffer tablosunu
IOService:/IOResources/WhateverGreen
altındaki ioreg'e dökümlemek.
Bu dökümü okumak için birkaç yol var:
- dump_platformlist.sh shell script kullanarak.
- Hackintool ile bu yolu takip ederek:
File->Import->IOReg Dump menu
- Hackintool ile bu menüyü takip ederek : Framebuffer->macOS 10.14
Lilu'dan debug çıktısı almak için -liludbgall liludump=60 boot parametresini kullanın. Bu parametrelerin çalışması için Lilu ve WhateverGreen'i debug modda derlemeniz gerek. Log dosyaları şu dizinde yer almalı: /var/log/Lilu_*.
Debug çıktısını görüntülemek için aşağıdaki kodu Terminal'e yapıştırın:
Kod:
log show --predicate 'process == "kernel" AND (eventMessage CONTAINS "WhateverGreen" OR eventMessage CONTAINS "Lilu")' --style syslog --source --last boot >weglog.txt
Yardıma mı ihtiyacınız var?
Oluşturduğunuz konfigürasyonlardaki hataları tespit edebilmemiz için aşağıdaki dosyaları açtığınız konuda paylaşın:
- Lilu debug log oluşturun ve debug dosyalarını içeren bir klasör oluşturmak için de gen_debug.sh'i çalıştırın.
- Bu dosyayı bir yere upload edip konuya bağlantısını ekleyin.
Emeği Geçenler