Jump to content

Intel Framebuffer patching using WhateverGreen


headkaze
486 posts in this topic

Recommended Posts

One way you might get around it is to turn off the CNConnectorAlwaysConnected flag. Then it will treat your screen as an external. Only downside is you wont have brightness control.
 
Patch looks like this:
framebuffer-patch-enable1framebuffer-con0-enable1framebuffer-con0-flags0x00000090

Ok, I'll try that when I get home. I've been fight this laptop for awhile now. This latest whatever green and lilu design have really helped honestly. Amazing work. Question, being treated as an external monitor will video output still work on my internal monitor or will it just be sent to my external HDMI port?

Sent from my ONEPLUS A5010 using Tapatalk

Link to comment
Share on other sites

6 minutes ago, tikizondo94 said:

Question, being treated as an external monitor will video output still work on my internal monitor or will it just be sent to my external HDMI port?

 

Since my laptop's internal screen has an eDP connector it was the only way I could get it to display in < 10.13.6 (17G2112). But since it's a Coffee Lake machine I update to 10.13.6 (17G2112) and now Mojave which has native support for CFL and the screen works fine without the patch. Only issue remaining is the screen will stay black for 5 minutes before turning on. Still trying to figure out a fix for it.

Link to comment
Share on other sites

 
Since my laptop's internal screen has an eDP connector it was the only way I could get it to display in
Well if I can get mine to run QE/CI natively I'll be set. I'm running a kabylake-r with the uhd620. "1080p". I'm using the latest dp4 10.14 and it's finally allowing me in without using 0x12345678 platform ID. "With whatever green and lilu" but if I try to inject Intel with the proper platform ID 0x59160000 it locks at IOScreenLockState. I'm hoping your fix may get me past that.

Sent from my ONEPLUS A5010 using Tapatalk

Link to comment
Share on other sites

3 hours ago, headkaze said:

One way you might get around it is to turn off the CNConnectorAlwaysConnected flag. Then it will treat your screen as an external. Only downside is you wont have brightness control.

 

Patch looks like this:


<key>framebuffer-patch-enable</key>
<integer>1</integer>
<key>framebuffer-con0-enable</key>
<integer>1</integer>
<key>framebuffer-con0-flags</key>
<integer>0x00000090</integer>

So this patch will go in Devices/Properties?  or Devices/add Properties section. Also do i need to add my AAPL platform ID to the patch 0x59160000 = AAAWWQ==? #Headkaze Ive attached my plist. Ive tried adding the attached patch, But my plist always fails. Im no pro by anymeans, Im new to this whole framebuffer stuff. If you could send me in the right direction id would be much appreciated :frantics:

config.plist.zip

Edited by tikizondo94
Link to comment
Share on other sites

3 hours ago, tikizondo94 said:

So this patch will go in Devices/Properties?  or Devices/add Properties section. Also do i need to add my AAPL platform ID to the patch 0x59160000 = AAAWWQ==? #Headkaze Ive attached my plist. Ive tried adding the attached patch, But my plist always fails. Im no pro by anymeans, Im new to this whole framebuffer stuff. If you could send me in the right direction id would be much appreciated :frantics:

config.plist.zip

 

Devices/Properties is the place to put it. Attached is the section added to your config.plist.

config.zip

Link to comment
Share on other sites

Well I've added all the new properties. For some reason I still can't get QE/CI to take off. Ive injected intel, added platformIDs 0x59160000. tried no injection. I can boot into the OS fine.. Just no acceleration. Ive attached a debug/clover folder. Sorry to be a pain. 

debug_5665.zip

Link to comment
Share on other sites

30 minutes ago, tikizondo94 said:

Well I've added all the new properties. For some reason I still can't get QE/CI to take off. Ive injected intel, added platformIDs 0x59160000. tried no injection. I can boot into the OS fine.. Just no acceleration. Ive attached a debug/clover folder. Sorry to be a pain. 

debug_5665.zip

Can you show me the log for Lilu / WhateverGreen as explained in the first post.

Link to comment
Share on other sites

Updated post #2 to include framebuffer info for Sandy Bridge, Ivy Bridge, Haswell, Broadwell, Skylake, Kaby Lake, Coffee Lake, Cannon Lake and Ice Lake.

 

Also Intel FB-Patcher has been updated to support the above. Again big thanks to vit9696 for all his work without which this would not be possible.

Edited by headkaze
Link to comment
Share on other sites

8 hours ago, headkaze said:

 

Devices/Properties is the place to put it. Attached is the section added to your config.plist.

config.zip

 

 

I have an i5-8250U UHD620 with your @headkaze config.plist currently running
The debug output from WEG is the following

 

Timestamp                       (process)[PID]    
2018-07-25 10:32:14.727777+0200  localhost kernel[0]: calling mpo_policy_init for Lilu
2018-07-25 10:32:14.739522+0200  localhost kernel[0]: Security policy loaded: Lilu Kernel Extension 1.2.6 (Lilu)
2018-07-25 10:32:14.762010+0200  localhost kernel[0]: (kernel) WhateverGreen:     rad @ (DBG) not enabling CAIL_DisableDrmdmaPowerGating
2018-07-25 10:32:14.766769+0200  localhost kernel[0]: (kernel) WhateverGreen:     rad @ (DBG) not enabling CAIL_DisableGfxCGPowerGating
2018-07-25 10:32:14.768826+0200  localhost kernel[0]: (kernel) WhateverGreen:     rad @ (DBG) not enabling CAIL_DisableUVDPowerGating
2018-07-25 10:32:14.785631+0200  localhost kernel[0]: (kernel) WhateverGreen:     rad @ (DBG) not enabling CAIL_DisableVCEPowerGating
2018-07-25 10:32:14.787634+0200  localhost kernel[0]: (kernel) WhateverGreen:     rad @ (DBG) not enabling CAIL_DisableDynamicGfxMGPowerGating
2018-07-25 10:32:14.804720+0200  localhost kernel[0]: (kernel) WhateverGreen:     rad @ (DBG) not enabling CAIL_DisableGmcPowerGating
2018-07-25 10:32:14.806725+0200  localhost kernel[0]: (kernel) WhateverGreen:     rad @ (DBG) not enabling CAIL_DisableAcpPowerGating
2018-07-25 10:32:14.808726+0200  localhost kernel[0]: (kernel) WhateverGreen:     rad @ (DBG) not enabling CAIL_DisableSAMUPowerGating
2018-07-25 10:32:14.826388+0200  localhost kernel[0]: (kernel) WhateverGreen:   shiki @ (DBG) will autodetect autodetect GPU 0 whitelist 0
2018-07-25 10:32:14.828531+0200  localhost kernel[0]: (kernel) WhateverGreen:   shiki @ (DBG) pre-config: online 0, bgra 0, compat 0, whitelist 0, id 0, stream 0
2018-07-25 10:32:17.901911+0200  localhost kernel[0]: (kernel) WhateverGreen:   iokit @ (DBG) getOSData device-id has 5917 value
2018-07-25 10:32:17.914884+0200  localhost kernel[0]: (kernel) WhateverGreen:     weg @ (DBG) IGPU has real 5917 acpi 5917 fake 5916 and model Intel UHD Graphics 620
2018-07-25 10:32:17.928887+0200  localhost kernel[0]: (kernel) WhateverGreen:     weg @ (DBG) adding missing model Intel UHD Graphics 620 from autotodetect
2018-07-25 10:32:17.942638+0200  localhost kernel[0]: (kernel) WhateverGreen:     weg @ IGPU device (00:02.00) has device-id 0x5917, you should change it to 0x5916
2018-07-25 10:32:17.956653+0200  localhost kernel[0]: (kernel) WhateverGreen:     weg @ (DBG) hooked configRead read methods!
2018-07-25 10:32:17.956878+0200  localhost kernel[0]: (kernel) WhateverGreen:     weg @ (DBG) found existing built-in
2018-07-25 10:32:17.957329+0200  localhost kernel[0]: (kernel) WhateverGreen:   iokit @ (DBG) getOSData framebuffer-patch-enable has 1 value
2018-07-25 10:32:17.957552+0200  localhost kernel[0]: (kernel) WhateverGreen:    igfx @ (DBG) framebuffer-patch-enable 1
2018-07-25 10:32:17.957779+0200  localhost kernel[0]: (kernel) WhateverGreen:   iokit @ (DBG) getOSData framebuffer-framebufferid was not found
2018-07-25 10:32:17.958454+0200  localhost kernel[0]: (kernel) WhateverGreen:   iokit @ (DBG) getOSData framebuffer-mobile was not found
2018-07-25 10:32:17.958678+0200  localhost kernel[0]: (kernel) WhateverGreen:   iokit @ (DBG) getOSData framebuffer-pipecount was not found
2018-07-25 10:32:17.960027+0200  localhost kernel[0]: (kernel) WhateverGreen:   iokit @ (DBG) getOSData framebuffer-portcount was not found
2018-07-25 10:32:17.960253+0200  localhost kernel[0]: (kernel) WhateverGreen:   iokit @ (DBG) getOSData framebuffer-memorycount was not found
2018-07-25 10:32:17.960477+0200  localhost kernel[0]: (kernel) WhateverGreen:   iokit @ (DBG) getOSData framebuffer-stolenmem was not found
2018-07-25 10:32:18.104171+0200  localhost kernel[0]: (kernel) WhateverGreen:   iokit @ (DBG) getOSData framebuffer-fbmem was not found
2018-07-25 10:32:18.116986+0200  localhost kernel[0]: (kernel) WhateverGreen:   iokit @ (DBG) getOSData framebuffer-unifiedmem was not found
2018-07-25 10:32:18.129677+0200  localhost kernel[0]: (kernel) WhateverGreen:   iokit @ (DBG) getOSData framebuffer-con0-enable has 1 value
2018-07-25 10:32:18.142253+0200  localhost kernel[0]: (kernel) WhateverGreen:    igfx @ (DBG) framebuffer-con0-enable 1
2018-07-25 10:32:18.154298+0200  localhost kernel[0]: (kernel) WhateverGreen:   iokit @ (DBG) getOSData framebuffer-con0-index was not found
2018-07-25 10:32:18.166929+0200  localhost kernel[0]: (kernel) WhateverGreen:   iokit @ (DBG) getOSData framebuffer-con0-busid was not found
2018-07-25 10:32:18.179438+0200  localhost kernel[0]: (kernel) WhateverGreen:   iokit @ (DBG) getOSData framebuffer-con0-pipe was not found
2018-07-25 10:32:18.191781+0200  localhost kernel[0]: (kernel) WhateverGreen:   iokit @ (DBG) getOSData framebuffer-con0-type was not found
2018-07-25 10:32:18.203833+0200  localhost kernel[0]: (kernel) WhateverGreen:   iokit @ (DBG) getOSData framebuffer-con0-flags has 90 value
2018-07-25 10:32:18.215613+0200  localhost kernel[0]: (kernel) WhateverGreen:   iokit @ (DBG) getOSData framebuffer-con1-enable was not found
2018-07-25 10:32:18.227361+0200  localhost kernel[0]: (kernel) WhateverGreen:   iokit @ (DBG) getOSData framebuffer-con2-enable was not found
2018-07-25 10:32:18.238827+0200  localhost kernel[0]: (kernel) WhateverGreen:   iokit @ (DBG) getOSData framebuffer-con3-enable was not found
2018-07-25 10:32:18.250273+0200  localhost kernel[0]: (kernel) WhateverGreen:   iokit @ (DBG) getOSData framebuffer-patch0-enable was not found
2018-07-25 10:32:18.261897+0200  localhost kernel[0]: (kernel) WhateverGreen:     weg @ (DBG) vinfo 1: 1080:1920 32:7680:1
2018-07-25 10:32:18.262055+0200  localhost kernel[0]: (kernel) WhateverGreen:     weg @ (DBG) vinfo 2:  67:240 7680:1:0
2018-07-25 10:32:21.667776+0200  localhost kernel[0]: (kernel) WhateverGreen:     weg @ (DBG) configRead16 IGPU 0x00001000 at off 0x02, result = 0x5917
2018-07-25 10:32:21.668870+0200  localhost kernel[0]: (kernel) WhateverGreen:   iokit @ (DBG) getOSData device-id has 5917 value
2018-07-25 10:32:21.700836+0200  localhost kernel[0]: (kernel) WhateverGreen:     weg @ (DBG) configRead32 IGPU 0x00001000 at off 0x00, result = 0x59178086
2018-07-25 10:32:21.701096+0200  localhost kernel[0]: (kernel) WhateverGreen:   iokit @ (DBG) getOSData device-id has 5917 value
2018-07-25 10:32:21.701382+0200  localhost kernel[0]: (kernel) WhateverGreen:     weg @ (DBG) configRead32 reported 0x59178086 instead of 0x59178086

Can you please help me that it works

Link to comment
Share on other sites

8 hours ago, headkaze said:

Can you show me the log for Lilu / WhateverGreen as explained in the first post.

Im sorry about that. Heres the current debug out put from Whatevergreen. For some reason I can't get any output from -igfxdump? Is it because the frame buffers aren't loading? 

WhateverGreenLog.png

CLOVER.zip

Link to comment
Share on other sites

6 hours ago, tikizondo94 said:

Im sorry about that. Heres the current debug out put from Whatevergreen. For some reason I can't get any output from -igfxdump? Is it because the frame buffers aren't loading?

I don't think 0x59170000 is a valid platform-id. Please check post #2.

Edited by headkaze
Link to comment
Share on other sites

16 minutes ago, headkaze said:

Why are you using platform-id 0x59170000? I don't think it's valid. Check post #2.

Im not, Im using 0x59160000 and ive left fakeID blank. Ive also added my platform ID to Clover/Devices/Properties section.  AAAWWQ==..

Im currently using the config.plist you attached above. And also i added 0x59160000 and Inject intel. 

Edited by tikizondo94
Link to comment
Share on other sites

26 minutes ago, tikizondo94 said:

Im not, Im using 0x59160000 and ive left fakeID blank. Ive also added my platform ID to Clover/Devices/Properties section.  AAAWWQ==..

Im currently using the config.plist you attached above. And also i added 0x59160000 and Inject intel. 

Don't add anything for Graphics/ig-platform-id or Devices/FakeID/IntelGFX. Set Graphics/Inject/Intel=False.

 

If you have an EGPU try adding this to your Devices/Properties entry for your IGPU to disable it:

            <key>disable-external-gpu</key>
            <integer>1</integer>

 

Also I noticed a "Disable minStolenSize" KextsToPatch. Remove it. What is your DVMT? If it's only 32MB and you can't set it higher in BIOS then also add:

            <key>framebuffer-stolenmem</key>
            <integer>19922944</integer>
            <key>framebuffer-fbmem</key>
            <integer>9437184</integer>
Edited by headkaze
  • Like 1
Link to comment
Share on other sites

Don't add anything for Graphics/ig-platform-id or Devices/FakeID/IntelGFX. Set Graphics/Inject/Intel=False.
 
If you have an EGPU try adding this to your Devices/Properties entry for your IGPU to disable it:
            disable-external-gpu            1

 
Also I noticed a "Disable minStolenSize" KextsToPatch. Remove it. What is your DVMT? If it's only 32MB and you can't set it higher in BIOS then also add:

            framebuffer-stolenmem            19922944            framebuffer-fbmem            9437184

Ok, I'll try it when I get home. I've used the setup_var process in cloveruefishell to set my DVMT to 160mb. So it "should" be good on that side. I'll disable the patch. And I also don't have any other gpus. Just the main UHD620. This thing has fought me for awhile now. But you keep getting me further and further :) Thank you! I'll report back asap

Sent from my ONEPLUS A5010 using Tapatalk

Link to comment
Share on other sites

16 minutes ago, tikizondo94 said:

Ok, I'll try it when I get home. I've used the setup_var process in cloveruefishell to set my DVMT to 160mb. So it "should" be good on that side. I'll disable the patch. And I also don't have any other gpus. Just the main UHD620. This thing has fought me for awhile now. But you keep getting me further and further :) Thank you! I'll report back asap

 

Sounds like you don't need the patching for DVMT then. Also make sure you update Lilu + WhateverGreen (use my script posted earlier) as they're being updated almost daily.

Link to comment
Share on other sites

 
Sounds like you don't need the patching for DVMT then. Also make sure you update Lilu + WhateverGreen (use my script posted earlier) as they're being updated almost daily.
Yes sir, I've been running your script each morning to get the latest kext.

Sent from my ONEPLUS A5010 using Tapatalk

Link to comment
Share on other sites

3 hours ago, headkaze said:

 

Sounds like you don't need the patching for DVMT then. Also make sure you update Lilu + WhateverGreen (use my script posted earlier) as they're being updated almost daily.

Ok, Compiled the latest WhateverGreen and Lilu "debug". Installed in Clover/Kexts/other. Removed all values from graphics section in clover. Only using Devices/Properties. Attached current whatevergreen Log. and Clover. Seems to still be going for 59178086? Which is the actual device ID. But I know its not a valid ID. 

 

Is it possible to inject a fakeID via Device/Properties?

WhateverGreenLog 7:25:28.png

CLOVER 3.zip

Edited by tikizondo94
Link to comment
Share on other sites

 

4 hours ago, tikizondo94 said:

Is it possible to inject a fakeID via Device/Properties?

You shouldn't need to do that. Can you please post a screenshot showing your variables in IORegistryExplorer. I've attached an example.

FBPatch02.png

Link to comment
Share on other sites

56 minutes ago, SavageAUS said:

Total noob question here.

How do we find out if we need to patch framebuffer?

I think you should assume you don't. At the very least though you should choose an ig-platform-id suitable for your system and place it in config.plist/Devices/Properties.

In most cases if your DVMT is set to 32 MB in your BIOS and can't be changed and you don't feel confident enough to use setup_var / GRUB you should set framebuffer-stolenmem /
framebuffer-fbmem. If you want your system to have more VRAM you can set framebuffer-unifiedmem. If you need to disable your EGPU then set disable-external-gpu. DP -> HDMI patching is now automatic so not necessary.

 

For my system I need to set framebuffer-pipecount / framebuffer-portcount to 2 and framebuffer-con2-type to -1 to disable connector 2 otherwise it won't go to sleep. I did also have to set framebuffer-con0-flags to 0x00000090 to remove the CNConnectorAlwaysConnected flag to enable my laptop's internal eDP screen to work on < 10.13.6 but now that Coffee Lake support has been added my screen works okay without it (albeit with a 5 minute black screen on boot).

 

EDIT: Added this info to the first post

 

Edited by headkaze
  • Like 1
Link to comment
Share on other sites

×
×
  • Create New...