In this paper, the referenceCoffee Lake frame buffer patch and UHD630 Coffee Lake IG-platform-ID data collation, is a supplement to the article! Note that this article is not for small white reading!

One, what is the use of making this patch?

This patch will successfully drive your kernel display and make it work. If you’ve successfully driven the kernel display you don’t need to see it.

Second, preparation

  • Add the boot parameter -cdfon and delete the boot parameter -disablegFXfirmware

  • Delete FakePCIID, IntelGraphicsFixup, NvidiaGraphicsFixup, Shiki and CoreDisplayFixup

  • Turn off the Graphics injection parameters in Clover. These parameters include:

    • 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=
  • Close the DSDT fixes in Clover:

    • AddHDMI
    • FixDisplay
    • FixIntelGfx
    • AddIMEI
  • Disable UseIntelHDMI

  • Remove the boot argument: -disablegfxfirmware

  • Remove all contents of the IGPU and HDMI sections, including:

    • config.plist/Devices/Arbitrary
    • config.plist/Devices/Properties
    • config.plist/Devices/AddProperties
  • Remove any SSDT and DSDT related to IGPU and HDMI from CLOVER/ PATCHED /ACPI/patched

  • Download WhateverGreen and the latest Lilu download address WhateverGreen download address

Third, determine the path to obtain iGPU graphics card equipment

Download and use the GFXUtil tool as shown below:

$ gfxutil -fIGPU DevicePath = PciRoot (0 x0)/Pci (0 x2, 0 x0)Copy the code

In this way, after determining the graphics card path, copy the path after the = sign and fill it in the position as shown in the picture below:

4, some parameters (except the sixth value must be set, other optional)

  1. Framebuffer-patch-enable (whether to enable the framebuffer patch, of course, what is the use of this article) :
  • DATA DATA: 01000000 -> 1 (enabled) 00000000 -> 0 (disabled)
  • NUMBER Data: 0 (disabled) 1 (enabled)
  1. Framebuffer – Stolenmem (Add some memory size to BIOS DVMT, it will affect the high screen, this value must be greater than 32M, should not be too high) :
  • For a 1080P screen, 48M is sufficient: 00003001
  • When your laptop screen is 2K, you can set it to 64MB: 00000004
  • For 4K screen, set it to 128MB: 00000008. If your BIOS can set DVMT and you set it to 128MB, you don’t need to set this property, or it can be smaller: 00003001 To be sure, the high-resolution screen is set to 128M, and make sure that the BIOS can set DVMT at 64M or below.
  1. Framebuffer – UnifiedMeM (core display memory size, a bit larger may solve the problem of split-screen) :
  • M: 2048 00000080
  • M: 3072 000000 c0
  1. Framebuffer -cursormem (which affects the high score screen) :
  • Generally, the screen is set to 9M size: 00009000
  • For high score screen, it is better to directly set 48MB: 00000003
  1. Framebuffer – FBMEM (The size of the framebuffer memory, which affects the high score screen) :
  • Generally, the screen is set to 9M size: 00009000
  • For high score screen, it is better to directly set 48MB: 00000003
  1. AAPL,ig-platform-id (device platform ID, which directly affects whether the graphics card can be successfully driven) : Some common examplesThe notebookGraphics/ig-platform-id can also be found in the Graphics/ig-platform-id file. Or you can refer to the article link provided at the beginning of my article) :
  • HD4600, HD4200, HD4000, HD5000, HD5100, HD5200:0A260006, 0A2e0008
  • HD5300, HD5500, HD6000:16260006
  • E9b0000 HD630:3
  1. Device-id (device ID, possibly to enable the black apple to correctly display device information, the device platform ID of the above unified set a value) :
  • 0A260006, 0A2E0008:12040000
  • A 16260006-16160000
  • 3e9b0000:9b3e0000 PS: Intel FB Patcher software can be used to query those not included in this article, or directly use this software to patch. After exporting config.plist as described in this article, delete all parameters and values from Devices/Properties in the config file you are using, and copy the parameters and values from the output configuration file. Video presentation
  1. Framebuffer-conn-enable (N indicates a number, whether the NTH output interface of the graphics card is enabled, 1 indicates that the interface is enabled, and 0 indicates that the interface is disabled) :
  • DATA DATA: 01000000 -> 1 (enabled) 00000000 -> 0 (disabled)
  • NUMBER Data: 0 (disabled) 1 (enabled)
  1. Framebuffer-conn-type (N is a number, the type of the NTH output interface on the graphics card) :
  • 00080000: HDMI output
  • 0004000: DP output
  1. Framebuffer-conn-index specifies the priority of the NTH output interface on the graphics card. If you want to block this outlet, you can set it to FFFFFFFF, the largest number, so that it is far back enough to achieve the shielding effect!
  • Finally, note that all DATA types need to be typed in pairs, such as 16260006 and 06002616, as shown below:

    So you can also see that using the framebuffer-fbmem parameter for example, when required to set to 48M, it should fill in the following values:00000003, this is also the converted value, so the original value should be03000000This is a hexadecimal number which is converted to base 1050331648. We know that 1M is 1024KB and 1KB is 1024B, so let’s convert it to decimal50331648Divide by 1024 and then divide by 1024 again, and you get 48, so this is 48 meters.Click here to go to the base conversion pageOf course, you can also switch to the NUMBER DATA type as shown in the following figure, so that you do not have to convert to hexadecimal and do not have to type backwards (ig-platform must be DATA) :

later

This article is not comprehensive, and some parameters are not understood. After all, the black Apple culture is extensive and profound, so the author will update it irregularly after learning new knowledge. Like friends can point a wave of love, and then conveniently pay attention to the author!