【黑蘋果顯卡驅動】經過Device/properties 給Framebuffer打補丁一點經驗

本文參考Coffee Lake幀緩衝區補丁及UHD630 Coffee Lake ig-platform-id數據整理,算是對文章的一種補充吧!注意,本篇文章不適合小白閱讀!

一,打這個補丁有什麼用處?

打這個補丁就能成功驅動你的核顯,讓它正常工做。若是已經成功驅動了核顯的就不必看了。html

二,準備工做

  • 添加啓動參數 -cdfon,刪除啓動參數 -disablegfxfirmwaregit

  • 刪除FakePCIID,IntelGraphicsFixup,NvidiaGraphicsFixup,ShikiCoreDisplayFixupgithub

  • 關閉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學習

  • 移除IGPUHDMI部分的所有內容,包括:spa

    • config.plist/Devices/Arbitrary
    • config.plist/Devices/Properties
    • config.plist/Devices/AddProperties
  • 從CLOVER/ACPI/patched刪除任何與IGPUHDMI相關的SSDTDSDT.net

  • 下載WhateverGreenLilu最新版本 Lilu下載地址 WhateverGreen下載地址翻譯

三,肯定獲取iGPU顯卡設備的路徑

下載並使用gfxutil工具,以下所示:

$ gfxutil -f IGPU
DevicePath = PciRoot(0x0)/Pci(0x2,0x0)
複製代碼

這樣咱們肯定了顯卡路徑以後,把=號以後的路徑複製下來,填入以下圖的所示的位置:

數據填入展現

四,一些參數介紹(除了第6個值必須設置,其餘可選)

  1. framebuffer-patch-enable(是否啓用framebuffer補丁,固然啓用啊,不啓用的話這篇文章還有什麼用處):
  • DATA數據:01000000 -> 1(啓用) 00000000 -> 0(不啓用)
  • NUMBER數據:0(不啓用) 1(啓用)
  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比較穩是試驗過的)
  1. framebuffer-unifiedmem(核顯顯存大小,調大一點可能能解決花屏):
  • 2048M:00000080
  • 3072M:000000C0
  1. framebuffer-cursormem(翻譯成中文就是光標內存,會影響高分屏,好比高分屏花屏可能就是這個值不夠大):
  • 通常屏幕設置成9M大小就好:00009000
  • 高分屏的話最好直接設置成48M:00000003
  1. framebuffer-fbmem(framebuffer內存大小,會影響高分屏):
  • 通常屏幕設置成9M大小就好:00009000
  • 高分屏的話最好直接設置成48M:00000003
  1. 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
  1. device-id(設備id,多是能讓黑蘋果正確顯示設備信息,上面設備平臺id同樣的統一設置一個值):
  • 0a260006,0a2e0008:12040000
  • 16260006:16160000
  • 3e9b0000:9b3e0000 PS:本文沒有收錄的可使用Intel FB Patcher這個軟件查詢,或者直接使用這個軟件打補丁。具體用法:按照這篇文章成功輸出config.plist以後,把你正在使用的config文件中Devices/Properties中所有的參數和值刪除,而後把輸出的配置文件對應的參數與值複製過去。視頻演示
  1. framebuffer-conN-enable(N爲數字,顯卡第N個輸出接口是否啓用,1爲啓用,0爲不啓用):
  • DATA數據:01000000 -> 1(啓用) 00000000 -> 0(不啓用)
  • NUMBER數據:0(不啓用) 1(啓用)
  1. framebuffer-conN-type(N爲數字,顯卡第N個輸出接口的類型):
  • 00080000 :HDMI輸出
  • 0004000:DP輸出(好像是的吧,記不清)
  1. 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):
    轉換數據類型

後文

本篇文章並不全面,還有一些參數沒研究懂,畢竟黑蘋果文化博大精深,因此看成者學習到新知識以後會不按期更新。喜歡的朋友能夠點一波愛心,再順手關注一下做者!

相關文章
相關標籤/搜索