Jump to content
headkaze

Intel FB-Patcher v1.5.4

125 posts in this topic

Recommended Posts

Posted (edited)

WARNING!

Intel FB-Patcher is not an automated patching tool that does all the work for you. Knowledge is required on how to patch before using it. Please read the Intel Framebuffer patching using WhateverGreen guide before you download this tool! I also recommend you read Daliansky's Intel FB-Patcher tutorial (a proper English translation would be welcome).

 

Mojave, Lilu + WhateverGreen
You cannot use the Clover's KextsToPatch for framebuffer patching in Mojave for Skylake and above

 

Framebuffer Dumps
There are a few ways to dump your framebuffer data (the first two require WhateverGreen + Lilu debug versions) to read in Intel FB-Patcher:
1. Using -igfxdump boot flag to dump IGPU framebuffer kext to /AppleIntelFramebuffer_X_Y (root of your boot drive) and then File->Open menu
2. Using -igfxfbdump boot flag to dump native and patched framebuffer table to ioreg and then File->Import->IOReg Dump menu
3. Alternatively you can use the Framebuffer->macOS 10.13.6 (17G2112) / Framebuffer->macOS 10.14 (18A391) menu to create patches without a framebuffer dump

 

USB Port Patching
1. Apply the Port Limit patch (in Patch->Advanced) then File->Export->Clover config.plist
2. Place the USBInjectAll.kext (for port discovery) into EFI/CLOVER/kexts/Other

USBInjectAll.kext Requirements:
- xHCI controller must be named 'XHC' (typical is XHC, but some use XHC1)
- EHCI #1 controller must be named EH01 (typical is EHC1)
- EHCI #2 controller must be named EH02 (typical is EHC2)
3. You may also need XHCI-200-series-injector.kext, XHCI-300-series-injector.kext or XHCI-x99-injector.kext depending on your Intel chipset
4. Reboot your machine and then run Intel FB-Patcher again
5. Go to the General->USB tab (see screenshot) and plug and unplug a USB 2.0 and USB 3.0 device into each USB port on your system. The ports that are active will remain highlighted
6. Set each port to the appropriate Connector using the drop down list
NOTE HSxx ports connected to USB3 ports should be set to USB3
TypeC:
- If it uses the same HSxx/SSxx in both orientations, then it has an internal switch (use "TypeC+Sw")
- If it uses a different HSxx/SSxx in each orientation, then it has no switch (use "TypeC")
7. Remove any unused ports using the Delete button
8. Use the Export button to generate a USBPorts.kext onto your Desktop. Copy this file into EFI/CLOVER/kexts/Other
9. You can now delete USBInjectAll.kext and disable the Port Limit Patch

 

Q. What is USBPorts.kext?
A. It's a Codeless Kernel Extension used to inject the USB ports
Q. Do I need SSDT-UIAC.aml?
A. No, this method uses a codeless kext

 

Audio Patching

1. Install the latest Lilu + AppleALC
2. Set config.plist/Devices/Audio/Inject=NO
3. Check Patch->General->Audio
4. Set the Layout Id drop down list
5. File->Export->Clover config.plist (overwrite your existing config.plist file)
6. Reboot
7. If you get no audio then go back to step 4 and try a different Layout Id

 

Features

- Supports Sandy Bridge, Ivy Bridge, Haswell, Broadwell, Skylake, Kaby Lake, Coffee Lake, Cannon Lake and Ice Lake generations
- Create All, Connectors or VRAM patches
- Detect Changes for auto patch creation
- Create Clover patches in hex, base64 or Devices/Properties formats
- Displays native GPU and Model identifiers
- Display and edit Memory Info such as Stolen, Framebuffer, VRAM, Cursor etc.
- Roll over some items for additional info (Tooltips)
- Reads "live" data directly from Framebuffer kexts (if available; see Mojave note below)
- File->Open framebuffer file generated by WhateverGreen's -igfxdump boot flag
- File->Export->Clover config.plist / File->Export->Framebuffer.txt file
- Patch audio layout id
- Add USB port limit patch
- Plug and unplug USB2 / USB3 devices and set port connector types then generate a USBPorts.kext
- Advanced patching options (DVMT-prealloc 32 MB, VRAM 2048 MB, Disable eGPU, Enable HDMI20 (4K), Spoof SKL Audio, DP -> HDMI, USB port Limit, FB Port Limit)

 

Release Notes

1.5.4 - Fixed audio codec detection when user has multiple audio devices. Added "Reboot Fix" advanced patch (sets connector pipe values to 18)

1.5.3 - Improved Export->Clover config.plist and now makes a backup (config-backup.plist)

1.5.2 - Added Patch->AzulPatcher4600

1.5.1 - USBPorts port-count fix

1.5.0 - Fixes

1.4.9 - Added tab to show if Lilu, WhateverGreen and AppleALC are installed and version info

1.4.8 - Fixed framebuffer-cursormem output for iASL DSL Source patching

1.4.7 - Added support for new WEG -igfxfbdump boot flag using File->Import->IOReg Dump menu

1.4.6 - Fixes. Added Framebuffer->macOS 10.14 (18A391) menu item. Added QE/CI and Metal support detection

1.4.5 - Added support for framebuffer-cursormem (Haswell)

1.4.4 - Added ability to inject valid device-id's

1.4.3 - Fixes

1.4.2 - Added Patch->Import KextsToPatch / Apply Current Patches menu. Renamed USBPower.kext -> USBPorts.kext

1.4.1 - Added TypeC USB ports

1.4.0 - Improved Intel Generation detection

1.3.9 - Now using AppleIntelFramebuffer@X index for connector association

1.3.8 - Fixed bug AppleIntelFramebuffer port-number should be connecter index + 4 or 0 for internal (RehabMan)

1.3.7 - Shows Display Info for connected displays on connector ports (with display hot plug support), fixed iASL DSL Source hex output, connector drag-drop to change order

1.3.6 - Fixes

1.3.5 - Will try HDAS if HDEF is not found

1.3.4 - Added AllData connector patch method (RehabMan). Will try GFX0 if IGPU is not found

1.3.3 - Fixes. Added more audio layout-id's (vandroiy2013)

1.3.2 - Fixes

1.3.1 - Fixes. Added new menu Framebuffer->Current Version / macOS 10.13.6 (17G2112)

1.3.0 - Added audio patching, Clover config.plist exporting, USB patching, advanced auto patching
1.2.8 - Added iASL DSL Source patch output, display detected Intel gen and platform-id
1.2.7 - File->Export framebuffer text file
1.2.6 - Fix preallocated memory calculation formula (vit9696)
1.2.5 - Still outputs a config.plist/Devices/Properties patch when "Auto Detect Changes" is selected
1.2.4 - Fixes
1.2.3 - config.plist/Devices/Properties patch now outputs data format
1.2.2 - Fixes
1.2.1 - Updates and fixes
1.2.0 - Added support for Cannon Lake and Ice Lake
1.1.0 - Added MacBookPro15,1 and MacBookPro15,2 models
1.0.9 - Support for Mojave, Coffee Lake, WhateverGreen's -igfxdump boot flag and Clover's config.plist/Devices/Properties patch output
1.0.8 - Updates
1.0.7 - Fixed support for dark mode
1.0.6 - Better backwards compatibility
1.0.5 - Detects Chipset / Address on Startup, Edit Memory Values Easier
1.0.4 - Added GPU / Model Info
1.0.3 - Added Tooltips
1.0.2 - Added Memory tab
1.0.1 - Minor Fixes
1.0.0 - Initial Release

 

Credits

- vit9696 for WhateverGreen (full credits), Lilu (full credits), AppleALC (full credits), USBPorts.kext and additional help
- vit9696 for IntelFramebuffer.bt with additional work by bcc9, Piker-Alpha and joevt
- DalianSky for Intel Core Platform ID and SMBIOS Quick Reference
- vandroiy2013 for audio id data from AppleALC
- RehabMan for all data patching method, ioreg framebuffer dump and other contributions

 

Download
Download Intel FB-Patcher

 

 

 

 

 

 

 

 

Intel FB-Patcher 01.png

Intel FB-Patcher 02.png

Intel FB-Patcher 03.png

Intel FB-Patcher 04.png

Intel FB-Patcher 05.png

Intel FB-Patcher 06.png

Intel FB-Patcher 07.png

Intel FB-Patcher 08.png

Edited by headkaze

Share this post


Link to post
Share on other sites
Advertisement

Intel FB-Patcher 1.3.0 Released
- File->Export->Clover config.plist / File->Export->Framebuffer.txt file
- Patch audio layout id
- Add USB port limit patch
- Plug and unplug USB2 / USB3 devices and set port connector types then generate a USBPower.kext
- Advanced patching options (DVMT-prealloc 32 MB, VRAM 2048 MB, Disable eGPU, Enable HDMI20 (4K), Spoof SKL Audio, DP -> HDMI, USB port Limit, FB Port Limit)

Share this post


Link to post
Share on other sites

Version 1.3.1 Released
- Fixes. Added new menu Framebuffer->Current Version / macOS 10.13.6 (17G2112)

 

If you select the new menu option Framebuffer->macOS 10.13.6 (17G2112) it will load framebuffer data from this version of macOS allowing you to create framebuffer patches without needing to use WhateverGreen's -igfxdump boot flag to generate a framebuffer binary dump.

Share this post


Link to post
Share on other sites

Hello, I used 1.3.2 version to patch out HDMI audio does not show how to repair.  device-id 260A0000 This data has been used for Always floral screen. 只有用04120000 OK

Share this post


Link to post
Share on other sites
On 7/30/2018 at 4:18 AM, headkaze said:

You cannot use the KextsToPatch for framebuffer patching in Clover for Mojave.

Correct: You cannot use the KextsToPatch for framebuffer patching in Clover for Mojave with SKL and newer.

Share this post


Link to post
Share on other sites

Could you post some more guides please?

Like for example how to handle Coffee Lake i3-8100, H370 B360 H310 motherboard framebuffer issues...?

Thanks

Share this post


Link to post
Share on other sites

Hi @headkaze
Thank you for yor work, Im very helpfull and I appreciate for that.
But I have question, my device is core i3 5005U and Im using smbios macbookpro 12,1 but in fb patcher intel generation show as kaby lake.
Can you help me for that?? Thank you before

 

Screen Shot 2018-08-26 at 11.19.27.png

Share this post


Link to post
Share on other sites
9 hours ago, idris iqbal said:

fb patcher intel generation show as kaby lake.

 

It detects the Intel generation based on the framebuffer kext you have loaded (ie. AppleIntelKBLGraphicsFramebuffer.kext). It's not important so just patch your system and when it loads the correct framebuffer kext it will show the correct Intel generation.

Share this post


Link to post
Share on other sites
On 8/14/2018 at 9:39 AM, headkaze said:

USB Port Patching

 

1. Apply the Port Limit patch (in Patch->Advanced) then File->Export->Clover config.plist
2. Place the USBInjectAll.kext into EFI/CLOVER/kexts/Other

3. You may also need XHCI-200-series-injector.kext, XHCI-300-series-injector.kext or XHCI-x99-injector.kext depending on your Intel chipset
4. Reboot your machine and then run Intel FB-Patcher again
5. Go to the General->USB tab (see screenshot) and plug and unplug a USB 2.0 and USB 3.0 device into each USB port on your system. The ports that are active will remain highlighted

6. Set each port to the appropriate Connector using the drop down list
7. Note that USB C can have two ports associated with them. You will need a USB C device and plug it in both ways
8. Remove any unused ports using the Delete button
9. Use the Export button to generate a USBPower.kext onto your Desktop. Copy this file into EFI/CLOVER/kexts/Other
10. You can now delete USBInjectAll.kext and disable the Port Limit Patch

 

Q. What is USBPower.kext?
A. It's a Codeless Kernel Extension used to inject the USB ports

Q. Do I need SSDT-UIAC.aml?
A. No, this method uses a codeless kext

 

Thanks to vit9696 for demonstrating this method of USB patching

 

294484915_IntelFB-Patcher04.thumb.png.2792dbde78490c5bff4c6d353325014c.png

Are front case USB ports considered as internal?

Share this post


Link to post
Share on other sites
Posted (edited)
21 hours ago, Hackmac101 said:

Are front case USB ports considered as internal?

From what I understand any port that you don't physically unplug devices from should be considered Internal.

Edited by headkaze

Share this post


Link to post
Share on other sites

OK, im still at it with this UHD620 lol. I can still get QE/CI to work via external monitor using HDMI on my laptop. Still nothing on the main screen. Ive attached my IO output and config with QE/CI running on my external monitor and wondering if i can patch my HDMI to my eDP port? Or if its even possible? Im currently using 59120000 to get acceleration which i know is not the correct one for my UHD620. But thats the only platformID that will work. All others seem to just lock at IOScreenLockState. 

Paul’s MacBook Pro (2).zip

config 5.plist

CLOVER.zip

Share this post


Link to post
Share on other sites
2 hours ago, tikizondo94 said:

OK, im still at it with this UHD620 lol

 

First thing I would do is search for someone who's got a working config for an i7 8550u

8 hours ago, Alpha22 said:

question: what should i flag in Advance for a HD 4600 gpu

 

Hard to say knowning just the GPU but maybe try with no patching at all (just Lilu + WhateverGreen) then if you have problems patch with "DVMT pre-alloc 32MB" and "DP -> HDMI".

Edited by headkaze

Share this post


Link to post
Share on other sites

 

Quote

Hard to say knowning just the GPU but maybe try with no patching at all (just Lilu + WhateverGreen) then if you have problems patch with "DVMT pre-alloc 32MB" and "DP -> HDMI".

Hello headkaze

thanks for your answer
added the patches created by the app

 

2jfyx43.png       2mqkqhc.png

 

Clover starts but stops shortly thereafter

advice

 

 

 

 

Edited by Alpha22

Share this post


Link to post
Share on other sites

 

268909311_ScreenShot2018-09-04at2_58_35AM.thumb.png.f948e479efc37d71a4d4bfa181f779e5.png

 

The PlatformId: is empty for coffee Lake, How can i patch coffee lake, I'm attaching my current CLOVER setup. 

 

PS: i been working on this for 1 week now :(

 

Thanks a lot. So much community work here.

CLOVER.zip

 

EDIT: momo  Gigabyte B360N WIFI

Edited by hack_vel

Share this post


Link to post
Share on other sites
1 hour ago, hack_vel said:

The PlatformId: is empty for coffee Lake, How can i patch coffee lake, I'm attaching my current CLOVER setup. 

 

Did you follow this guide? ie. Do you have macOS 10.13.6 (17G2112)?

Share this post


Link to post
Share on other sites
10 hours ago, headkaze said:

 

Did you follow this guide? ie. Do you have macOS 10.13.6 (17G2112)?

 

I was using 17G61, this is what the python script show me now 

 

#    ProductID    Version    Build  Title
 1    091-95774    10.13.6  17G2208  macOS High Sierra
 2    091-82771    10.13.5   17F66a  Install macOS High Sierra Beta
 3    091-94326    10.13.6    17G65  macOS High Sierra
 4    041-01261      10.14  18A377a  macOS Mojave Beta

 

I'm guessing 17G2208 is fine to use, will try with it and let you know. And follow the guide thanks.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×