本文參考Coffee Lake幀緩沖區補丁及UHD630 Coffee Lake ig-platform-id數據整理,算是對文章的一種補充吧!注意,本篇文章不適合小白閱讀!
一,打這個補丁有什么用處?
打這個補丁就能成功驅動你的核顯
,讓它正常工作。如果已經成功驅動了核顯的就沒必要看了。
二,準備工作
添加啟動參數 -cdfon,刪除啟動參數 -disablegfxfirmware
刪除
FakePCIID
IntelGraphicsFixup
,NvidiaGraphicsFixup
,Shiki
和CoreDisplayFixup
-
關閉
Clover
里面關于Graphics
注入的參數,這些參數包括:- 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
的修復:- AddHDMI
- FixDisplay
- FixIntelGfx
- AddIMEI
禁用
UseIntelHDMI
移除
boot argument
參數:-disablegfxfirmware
-
移除
IGPU
和HDMI
部分的全部內容,包括:- config.plist/Devices/Arbitrary
- config.plist/Devices/Properties
- config.plist/Devices/AddProperties
從CLOVER/ACPI/patched刪除任何與
IGPU
和HDMI
相關的SSDT
和DSDT
下載
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(翻譯成中文就是光標內存,會影響高分屏,比如高分屏花屏可能就是這個值不夠大,這個補丁是HasWell移動平臺核顯專用補丁):
- 一般屏幕設置成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):
轉換數據類型
后文
本篇文章并不全面,還有一些參數沒研究懂,畢竟黑蘋果文化博大精深,所以當作者學習到新知識之后會不定期更新。喜歡的朋友可以點一波愛心,再順手關注一下作者!