Coffee Lake UHD 630 Graphics - FrameBuffer Injection 0x3E918086 0x3E928086 for High Sierra

Hackintosher

Administrator
Joined
Jan 21, 2018
macOS
10.15.0
Mobo
Gigabyte Z370N WIFI
CPU
i3-8100
GPU
UHD 630 Graphics
#1
Coffee Lake doesn't have it's own Framebuffer as of 10.13.4, but what we can do is use the Kaby Lake Framebuffer by inserting the Device ID's of UHD 630 0x3E918086 for i3 and 0x3E928086 i5/i7 after which you can set as your FakeID in config.plist. By connecting these Device ID's to the Kaby Lake Framebuffer this will unlock graphical acceleration for the Coffee Lake i3's it can also be used for the i5 and i7 for acceleration. I'm actually using this method for all my Coffee Lake CPU's as it also gives me Hardware Encoding with Shiki.kext

The Kaby Lake Framebuffer may be overwritten each update and therefore you will redo this patch with each update i.e. going from High Sierra 10.13.3 to 10.13.4.

This patch is applied through the Terminal App since the plist files of the Kaby Laker kexts we need to inject the Coffee Lake Device ID's into aren't directly editable in Finder. This should only take 2-3 minutes to perform.

Required Kexts
Place these kexts in /Volumes/EFI/EFI/Clover/kexts/Other of your mounted EFI partition.

AppleIntelKBLGraphics.kext Injection
  1. Disable SIP: Enable & Disable System Integrity Protection (SIP) on a Hackintosh
  2. Open Terminal App
  3. Type the following:
    Code:
    sudo nano /System/Library/Extensions/AppleIntelKBLGraphics.kext/Contents/Info.plist
  4. Enter Password and Info.plist will populate in Terminal...
  5. Find <key>IOPCIPrimaryMatch</key> near the bottom of Info.plist in Terminal. It's hidden when Info.plist populates. Use the scroll wheel on your mouse or down arrow key of your keyboard to scroll down Info.plist (Note: The scroll bar in Terminal can't be used to navigate Info.plist)
  6. Use the arrow keys to highlight the first 0 in 0x3E928086
  7. Add 0x3E918086
  8. Press Space Bar
  9. Should look like this:
  10. XML:
    <key>IOPCIPrimaryMatch</key>
    <string>0x59128086 0x59168086 0x591B8086 0x591E8086 0x59268086 0x59278086 0x3E9B8086 0x3EA58086 0x3E918086 0x3E928086</string>
  11. Press ^X (Note: (^) is the Control key)
  12. Press Y to save modified buffer
  13. Press Enter to save to Info.plist and close
AppleIntelKBLGraphicsFramebuffer.kext Injection
  1. Type the following into Terminal:
    Code:
    sudo nano /System/Library/Extensions/AppleIntelKBLGraphicsFramebuffer.kext/Contents/Info.plist
    Enter Password and Info.plist will populate in Terminal...
    Find <key>IOPCIPrimaryMatch</key> again for this Info.plist
    Press Spacebar
    Highlight the first "<" at the start of </string> using your keyboard arrow keys like the image below:

    Add 0x3E918086 0x3E928086
    Should look like this:
    XML:
    <key>IOPCIPrimaryMatch</key>
    <string>0x59128086 0x59168086 0x591B8086 0x591E8086 0x59268086 0x59278086 0x59238086 0x3E918086 0x3E928086</string>
  2. Press ^X (Note: (^) is the Control key)
  3. Press Y to save modified buffer
  4. Press Enter to overwrite Info.plist
  5. Paste the following into Terminal one line at a time to clear cache (each line may take a minute or so to run):
    Code:
    sudo kextcache -i /
    sudo touch /System/Library/Extensions && sudo kextcache -u /
    1. Close Terminal
    2. Mount EFI Partition using Clover Configurator
    3. Navigate to /Volumes/EFI/EFI/Clover/
    4. Right click config.plist and open with Clover Configurator
    5. Click SMBIOS on left-column of Clover Configurator
    6. Change to iMac 18,1 (Integrated Graphics Only) or iMac 18,2 / iMac 18,3 (Dedicated Graphics Card)
    7. Click Graphics on left-column of Clover Configurator
    8. Verify Inject Intel is checked
    9. Remove ig-platform-id value
    10. Click Devices on left-column of Clover Configurator
    11. Set IntelGFX box to 0x3E928086
    12. Save config.plist
    13. Reboot Hackintosh
Note: If using a dedicated graphics card with the iGPU enabled for Hardware Encoding support change ig-platform-id to 0x59120003 to avoid issues with programs like FCPX. Do not set ig-platform-id to this value if using integrated graphics exclusively as you won't be able to boot.
 

Attachments

Last edited:

Jamesst20

New member
Joined
Apr 13, 2018
macOS
10.13.4
Mobo
Gigabyte Z370 AORUS Gaming 5
CPU
Intel Core i7 8700
GPU
Gigabyte RX 580 8GB
#2
Hi,

First of all thank you. I just followed this tutorial, will report later if it makes a difference with my RX 580 as dedicated. Currently having 4k lag when watching mkv movie. (MP4 are fine).

edit: no difference [IGPU] Graphics driver failed to load:could not register with Framebuffer driver.

edit 2: Well you forgot to mention to clear cache: sudo kextcache -i /

I attached original kexts from 10.13.4 in case someone needs them
 

Attachments

Last edited:

Hackintosher

Administrator
Joined
Jan 21, 2018
macOS
10.15.0
Mobo
Gigabyte Z370N WIFI
CPU
i3-8100
GPU
UHD 630 Graphics
#3
Hi,

First of all thank you. I just followed this tutorial, will report later if it makes a difference with my RX 580 as dedicated. Currently having 4k lag when watching mkv movie. (MP4 are fine).

edit: no difference [IGPU] Graphics driver failed to load:could not register with Framebuffer driver.

edit 2: Well you forgot to mention to clear cache: sudo kextcache -i /

I attached original kexts from 10.13.4 in case someone needs them
It was there I pasted this guide from blog section of this site so it wasn't formatted for the forum post so you may have missed it. I fixed that so thanks for bringing to my attention.

You also have to touch the kexts with:

sudo touch /System/Library/Extensions && sudo kextcache -u /
 
Joined
Apr 22, 2018
macOS
10.13.4
Mobo
MSI Z370i Gaming Pro Carbon AC
CPU
Intel i3-8100
GPU
Gigabyte RX460 4GB
#4
Hi @Hackintosher

First off, thanks for this amazing work. Really appreciated.

I followed this guide from point A to Z and still cannot get my iGPU to work. I'm using the app macx to check if hardware encoding/decoding is working but it's always No.

At some point I was also confused because in one of your post, you recommended different ig-platform-id and IntelGFX if using Intel and AMD card.

Anyway, what else should I do to make it work? I can send files if you require to.

Steps tried:
1. BIOS settings according to your guide.
2. IOPCI changes
3. config.plist changes
4. also tried the last step, putting graphics related kexts to L/E
 

Hackintosher

Administrator
Joined
Jan 21, 2018
macOS
10.15.0
Mobo
Gigabyte Z370N WIFI
CPU
i3-8100
GPU
UHD 630 Graphics
#5
Hi @Hackintosher

First off, thanks for this amazing work. Really appreciated.

I followed this guide from point A to Z and still cannot get my iGPU to work. I'm using the app macx to check if hardware encoding/decoding is working but it's always No.

At some point I was also confused because in one of your post, you recommended different ig-platform-id and IntelGFX if using Intel and AMD card.

Anyway, what else should I do to make it work? I can send files if you require to.

Steps tried:
1. BIOS settings according to your guide.
2. IOPCI changes
3. config.plist changes
4. also tried the last step, putting graphics related kexts to L/E
As if not getting GPU to work do you mean you don't have any acceleration? Does your kexts match the screenshots exactly? For hardware encoding you need to be using shiki.kext. For the i3-8100 use 0x3E928086 as the FakeID and you can leave ig-platform-id blank.
 
Joined
May 21, 2018
macOS
10.13.4
Mobo
H370M-D3H
CPU
Core i5 8400
GPU
IGFX
#6
Hello! My config is H370M-D3H with 8400 processor. Trying to get graphics acceleration fot IGFX. Followed this guide from start to finish but got no acceleration at all. My UHD630 does not get recognized by system and allocates just 7mb for it. Anything else I could try? Thanks in advance! Great forum you have.
 

Hackintosher

Administrator
Joined
Jan 21, 2018
macOS
10.15.0
Mobo
Gigabyte Z370N WIFI
CPU
i3-8100
GPU
UHD 630 Graphics
#7
Hello! My config is H370M-D3H with 8400 processor. Trying to get graphics acceleration fot IGFX. Followed this guide from start to finish but got no acceleration at all. My UHD630 does not get recognized by system and allocates just 7mb for it. Anything else I could try? Thanks in advance! Great forum you have.
An i5-8400 should work out of the box without following this guide. Leave FakeID blank and see if there's any change. If you're not getting acceleration your problem is being caused by something else.
 
Joined
May 21, 2018
macOS
10.13.4
Mobo
H370M-D3H
CPU
Core i5 8400
GPU
IGFX
#8
An i5-8400 should work out of the box without following this guide. Leave FakeID blank and see if there's any change. If you're not getting acceleration your problem is being caused by something else.
Hello and thanks for your answer. If I leave it blank with Inject Intel checked I get a black screen after the middle of the boot process. If I leave it blank and Inject Intel unchecked I get no acceleration but the system boots fine. I put the latest versions of Lilu.kext, IntelGraphicsFixup.kext and IntelGraphicsDVMTfixup.kext in Efi/Clover/Kexts/Other and they make no changes at all. I opened a help thread on the help session to keep it organized. If you could Kindly look there, I'll post my EFI folder. Thanks!
 

Hackintosher

Administrator
Joined
Jan 21, 2018
macOS
10.15.0
Mobo
Gigabyte Z370N WIFI
CPU
i3-8100
GPU
UHD 630 Graphics
#9
Hello and thanks for your answer. If I leave it blank with Inject Intel checked I get a black screen after the middle of the boot process. If I leave it blank and Inject Intel unchecked I get no acceleration but the system boots fine. I put the latest versions of Lilu.kext, IntelGraphicsFixup.kext and IntelGraphicsDVMTfixup.kext in Efi/Clover/Kexts/Other and they make no changes at all. I opened a help thread on the help session to keep it organized. If you could Kindly look there, I'll post my EFI folder. Thanks!
Did you set DVMT-PreAllocated in BIOS to 128MB and iGPU set to Enabled? Delete your APPLE folder in your /Volumes/EFI/ then upload your EFI folder here and I'll see if there's something wrong that's preventing the iGPU from working.
 
Joined
May 21, 2018
macOS
10.13.4
Mobo
H370M-D3H
CPU
Core i5 8400
GPU
IGFX
#10
Joined
Jun 22, 2018
macOS
10.13.6
Mobo
Asus Prime B360m-a
CPU
Intel Core i5 8400
GPU
Intel 750Ti ASUS 2GB
#11
HI Hackintosher,

I have used the above method on my new Desktop running High Sierra 13.5.

I am getting the following errors when trying to inject frame buffer settings. When i disable framebuffer setting injection, i am able to boot into os. Resolution is 1080p. But there is no acceleration. Please find the below snapshots for your reference.

IMG_20180622_095109.jpg
IMG_20180622_095252.jpg
 

Attachments

Hackintosher

Administrator
Joined
Jan 21, 2018
macOS
10.15.0
Mobo
Gigabyte Z370N WIFI
CPU
i3-8100
GPU
UHD 630 Graphics
#12
HI Hackintosher,

I have used the above method on my new Desktop running High Sierra 13.5.

I am getting the following errors when trying to inject frame buffer settings. When i disable framebuffer setting injection, i am able to boot into os. Resolution is 1080p. But there is no acceleration. Please find the below snapshots for your reference.

View attachment 662 View attachment 663
I haven't updated to 10.13.5 on my i3 build let me try and I'll get back to you.
 
Joined
Jun 22, 2018
macOS
10.13.6
Mobo
Asus Prime B360m-a
CPU
Intel Core i5 8400
GPU
Intel 750Ti ASUS 2GB
#13
I haven't updated to 10.13.5 on my i3 build let me try and I'll get back to you.
I am now back to 10.13.1. I am currently away from home. Once back I will apply the fix and let u know the results :)
 
Joined
Jun 22, 2018
macOS
10.13.6
Mobo
Asus Prime B360m-a
CPU
Intel Core i5 8400
GPU
Intel 750Ti ASUS 2GB
#14
One more query hackintosher . You have added a attachment of kabylake kexts in your post. Is it the original kexts with necessary modifications as shown in the post. Only I have to do the following steps. Correct me if I am wrong

1. place graphics fixup and fake I'd kexts in efi>Clover>Kext>Others

2.Make modifications to kabylake graphics and framebuffer kexts in library/extensions via the terminal rebuild the cache and touch the file

3. Open my config.plist and change my setting to iMac (18,1) since I am using integrated graphics. Select the graphics option click inject Intel and remove the platform id. Goto device column set intelgfx to 3E928086
 

Hackintosher

Administrator
Joined
Jan 21, 2018
macOS
10.15.0
Mobo
Gigabyte Z370N WIFI
CPU
i3-8100
GPU
UHD 630 Graphics
#15
One more query hackintosher . You have added a attachment of kabylake kexts in your post. Is it the original kexts with necessary modifications as shown in the post. Only I have to do the following steps. Correct me if I am wrong

1. place graphics fixup and fake I'd kexts in efi>Clover>Kext>Others

2.Make modifications to kabylake graphics and framebuffer kexts in library/extensions via the terminal rebuild the cache and touch the file

3. Open my config.plist and change my setting to iMac (18,1) since I am using integrated graphics. Select the graphics option click inject Intel and remove the platform id. Goto device column set intelgfx to 3E928086
One more query hackintosher . You have added a attachment of kabylake kexts in your post. Is it the original kexts with necessary modifications as shown in the post. Only I have to do the following steps. Correct me if I am wrong

1. place graphics fixup and fake I'd kexts in efi>Clover>Kext>Others

2.Make modifications to kabylake graphics and framebuffer kexts in library/extensions via the terminal rebuild the cache and touch the file

3. Open my config.plist and change my setting to iMac (18,1) since I am using integrated graphics. Select the graphics option click inject Intel and remove the platform id. Goto device column set intelgfx to 3E928086
That's it you also need lilu.kext. Also I see your using a i5-8400 and not an i3. You shouldn't even have to follow this to get graphical acceleration, although it is an option, simply use FAKEPCIID.kext + FakePCIID_Intel_HD_Graphics.kext + IntelGraphicsFixup.kext + Lilu.kext in kexts/Other
Then set ig-platform-id to 0x59120000 , FakeID->IntelGFX 0x59128086 , add -disablegfxfirmware bootflag to allow for Kaby lake iGPU booting + depending on your motherboard you may need AptioMemoryFix.efi in drivers64UEFI folder.

Alternatively even with FakePCIID kexts removed and leaving ig-platform-id and IntelGFX blank, you should still get acceleration because of (U)HD 630 native support baked in.

If even after that you still can't boot/get acceleration your problem is something else.
 

Hackintosher

Administrator
Joined
Jan 21, 2018
macOS
10.15.0
Mobo
Gigabyte Z370N WIFI
CPU
i3-8100
GPU
UHD 630 Graphics
#16
One more query hackintosher . You have added a attachment of kabylake kexts in your post. Is it the original kexts with necessary modifications as shown in the post. Only I have to do the following steps. Correct me if I am wrong

1. place graphics fixup and fake I'd kexts in efi>Clover>Kext>Others

2.Make modifications to kabylake graphics and framebuffer kexts in library/extensions via the terminal rebuild the cache and touch the file

3. Open my config.plist and change my setting to iMac (18,1) since I am using integrated graphics. Select the graphics option click inject Intel and remove the platform id. Goto device column set intelgfx to 3E928086
One more thing, you need to set DVMT Pre-Allocated to 128MB or higher in High Sierra with UHD 630, otherwise you will get a kernel panic. I'm not sure a budget B360 motherboard like you have will have this option in BIOS. If not you must use IntelGraphicsDVMTfixup.kext
 
Joined
Jun 22, 2018
macOS
10.13.6
Mobo
Asus Prime B360m-a
CPU
Intel Core i5 8400
GPU
Intel 750Ti ASUS 2GB
#17
That's it you also need lilu.kext. Also I see your using a i5-8400 and not an i3. You shouldn't even have to follow this to get graphical acceleration, although it is an option, simply use FAKEPCIID.kext + FakePCIID_Intel_HD_Graphics.kext + IntelGraphicsFixup.kext + Lilu.kext in kexts/Other
Then set ig-platform-id to 0x59120000 , FakeID->IntelGFX 0x59128086 , add -disablegfxfirmware bootflag to allow for Kaby lake iGPU booting + depending on your motherboard you may need AptioMemoryFix.efi in drivers64UEFI folder.

Alternatively even with FakePCIID kexts removed and leaving ig-platform-id and IntelGFX blank, you should still get acceleration because of (U)HD 630 native support baked in.

If even after that you still can't boot/get acceleration your problem is something else.
Hi Hackintosher, thanks for your reply. I have read somewhere in the forums that iGPU UHD630 of core i5 8400 is natively supported by High Sierra. I have prepared the usb key using unibeast and kept only fakesmc in the kext extra folder and done the installation. Only change i have to make in the motherboard was disabling secureboot and enable AHCI.

I am currently away from home. I will make changes as per the above suggestions and share you the result.

Please let me know which SMBIOS setting 14,2 18,1, 18,2 etc is apt for my current configuration.

Let me try all the permutations and combinations from my side and check whether its working or not.:)
 
Joined
Jun 22, 2018
macOS
10.13.6
Mobo
Asus Prime B360m-a
CPU
Intel Core i5 8400
GPU
Intel 750Ti ASUS 2GB
#18
One more thing, you need to set DVMT Pre-Allocated to 128MB or higher in High Sierra with UHD 630, otherwise you will get a kernel panic. I'm not sure a budget B360 motherboard like you have will have this option in BIOS. If not you must use IntelGraphicsDVMTfixup.kext
For me I can change the DVMT values till 1024 as that is the maximum supported by the motherboard.
 

Hackintosher

Administrator
Joined
Jan 21, 2018
macOS
10.15.0
Mobo
Gigabyte Z370N WIFI
CPU
i3-8100
GPU
UHD 630 Graphics
#19
For me I can change the DVMT values till 1024 as that is the maximum supported by the motherboard.
Everything is working perfectly on 10.13.5 on my i3-8100 and i7-8700k using the Framebuffer edit in this guide. I think your problem is you're using multibeast, that will give you all kinds of problems and even kernel panics if you start messing around with S/L/E.

This website is based around the Clover Method. I suggest you create a new fresh partition on your drive and install macOS using Clover EFI Bootloader. Then once installed put all your downloaded kexts in EFI/Clover/Kexts/Other and instead of running multibeast.

i3-8100 UHD 630 High Sierra 10.13.5 Acceleration.png
 
Joined
Jun 22, 2018
macOS
10.13.6
Mobo
Asus Prime B360m-a
CPU
Intel Core i5 8400
GPU
Intel 750Ti ASUS 2GB
#20
Everything is working perfectly on 10.13.5 on my i3-8100 and i7-8700k using the Framebuffer edit in this guide. I think your problem is you're using multibeast, that will give you all kinds of problems and even kernel panics if you start messing around with S/L/E.

This website is based around the Clover Method. I suggest you create a new fresh partition on your drive and install macOS using Clover EFI Bootloader. Then once installed put all your downloaded kexts in EFI/Clover/Kexts/Other and instead of running multibeast.

View attachment 674
Hi I have created the usb with unibeast and once installation finished it multibeast was installed. I will try to do a fresh install with manual Clover and efi. I will update the results once that is done . Thanks for the reply
 

Latest posts