一,打這個補丁有什麼用處?
打這個補丁就能成功驅動你的核顯
,讓它正常工做。若是已經成功驅動了核顯的就不必看了。html
二,準備工做
-
添加啓動參數 -cdfon,刪除啓動參數 -disablegfxfirmwaregit
-
刪除FakePCIID
,IntelGraphicsFixup
,NvidiaGraphicsFixup
,Shiki
和CoreDisplayFixup
github
-
關閉Clover
裏面關於Graphics
注入的參數,這些參數包括:bash
- 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=
-
關閉Clover
裏面關於DSDT
的修復:ide
- AddHDMI
- FixDisplay
- FixIntelGfx
- AddIMEI
-
禁用UseIntelHDMI
工具
-
移除boot argument
參數:-disablegfxfirmware
學習
-
移除IGPU
和HDMI
部分的所有內容,包括:spa
- config.plist/Devices/Arbitrary
- config.plist/Devices/Properties
- config.plist/Devices/AddProperties
-
從CLOVER/ACPI/patched刪除任何與IGPU
和HDMI
相關的SSDT
和DSDT
.net
-
下載WhateverGreen
和Lilu
最新版本 Lilu下載地址 WhateverGreen下載地址翻譯
三,肯定獲取iGPU顯卡設備的路徑
下載並使用gfxutil工具,以下所示:
$ gfxutil -f IGPU
DevicePath = PciRoot(0x0)/Pci(0x2,0x0)
複製代碼
這樣咱們肯定了顯卡路徑以後,把=
號以後的路徑複製下來,填入以下圖的所示的位置:
四,一些參數介紹(除了第6個值必須設置,其餘可選)
- framebuffer-patch-enable(是否啓用framebuffer補丁,固然啓用啊,不啓用的話這篇文章還有什麼用處):
- DATA數據:01000000 -> 1(啓用) 00000000 -> 0(不啓用)
- NUMBER數據:0(不啓用) 1(啓用)
- framebuffer-stolenmem(給BIOS中DVMT添加一點內存大小,會影響高分屏,這個值必須大於32M,也不該該太高):
- 通常1080P屏幕的話,設置爲48M就夠用了:00003001
- 當你的筆記本電腦屏幕是2k,你能夠設置爲64M:00000004
- 4K屏的話,要設置爲128M:00000008 若是你的BIOS中能夠設置DVMT的話而且你設置成爲128M以後,能夠不須要設置這個屬性,或者這個屬性設置小一點:00003001 保險起見,高分屏直接設置成128M比較穩,而且保證在BIOS能設置DVMT的狀況下設置在64M或如下 (PS:這一部分可能有誤,可是最後一句保險起見,高分屏直接設置成128M比較穩是試驗過的)
- framebuffer-unifiedmem(核顯顯存大小,調大一點可能能解決花屏):
- 2048M:00000080
- 3072M:000000C0
- framebuffer-cursormem(翻譯成中文就是光標內存,會影響高分屏,好比高分屏花屏可能就是這個值不夠大):
- 通常屏幕設置成9M大小就好:00009000
- 高分屏的話最好直接設置成48M:00000003
- framebuffer-fbmem(framebuffer內存大小,會影響高分屏):
- 通常屏幕設置成9M大小就好:00009000
- 高分屏的話最好直接設置成48M:00000003
- AAPL,ig-platform-id(設備平臺id,直接影響顯卡是否能成功驅動): 舉例一些經常使用
筆記本
的核顯id(PS:若是沒有列舉您的,還望本身爬帖查找,通常別人製做的原版鏡像也會提供多個核顯配置文件供大家使用,在裏面Graphics/ig-platform-id也能夠看到。或者您還能夠參考我文章開頭提供的文章連接查找):
- HD4600,HD4200,HD4000,HD5000,HD5100,HD5200:0a260006(若是不行設置後者),0a2e0008
- HD5300,HD5500,HD6000:16260006
- HD630:3e9b0000
- device-id(設備id,多是能讓黑蘋果正確顯示設備信息,上面設備平臺id同樣的統一設置一個值):
- 0a260006,0a2e0008:12040000
- 16260006:16160000
- 3e9b0000:9b3e0000 PS:本文沒有收錄的可使用Intel FB Patcher這個軟件查詢,或者直接使用這個軟件打補丁。具體用法:按照這篇文章成功輸出config.plist以後,把你正在使用的config文件中Devices/Properties中所有的參數和值刪除,而後把輸出的配置文件對應的參數與值複製過去。視頻演示
- framebuffer-conN-enable(N爲數字,顯卡第N個輸出接口是否啓用,1爲啓用,0爲不啓用):
- DATA數據:01000000 -> 1(啓用) 00000000 -> 0(不啓用)
- NUMBER數據:0(不啓用) 1(啓用)
- framebuffer-conN-type(N爲數字,顯卡第N個輸出接口的類型):
- 00080000 :HDMI輸出
- 0004000:DP輸出(好像是的吧,記不清)
- framebuffer-conN-index(我的理解,顯卡第N個輸出接口的優先級,或者說是設置第N個輸出口的位置): 這個按我的須要設置,若是須要屏蔽這個輸出口,能夠設置成FFFFFFFF,也就是最大的數字,讓它足夠靠後,這樣就達到了屏蔽效果!
- 最後,請注意,全部DATA數據類型須要將數據兩兩一組倒過來填入,例如:16260006轉換以後就是這樣06002616,以下圖:
因此你也能夠發現,用framebuffer-fbmem參數舉例,當須要設置爲48M以後它應填入的值是:
00000003
,這個也是轉換後的值,因此原來的值應當是03000000
,這是一個16進制的數字,轉換成10進制是50331648
。咱們知道1M=1024KB,1KB = 1024B,因此,咱們把轉換成十進制以後的數字50331648
除以1024而後再除以1024,得出的結果就是48了,因此這串數字表明的就是48M。點擊這裏前往進制轉換網頁 固然爲了方便,你也能夠直接像下圖中切換成NUMBER數據類型,這樣你就不用轉換成16進制,不用倒過來輸入(ig-platform必須爲DATA):
後文
本篇文章並不全面,還有一些參數沒研究懂,畢竟黑蘋果文化博大精深,因此看成者學習到新知識以後會不按期更新。喜歡的朋友能夠點一波愛心,再順手關注一下做者!