Jump to content

Intel Framebuffer patching using WhateverGreen


headkaze
486 posts in this topic

Recommended Posts

On 4/23/2020 at 8:02 PM, ardentwheel said:

Hasee KINGBOOK  X57S1
	CPU Intel i7-1065G7

Create config.plist according vanilla-laptop-guide


Intel Iris Plus G7, 
     AAPL,ig-platform-id	0000528A
     device-id			528A0000

Get kernel panic without device-id,

and igpu is 7m. (Maybe related to framebuffer?)

 

1188846599_ScreenShot2020-04-26at2_27_39AM.png.8989d8375eb623744dac43fdaab187c0.png

unsupported cd clock decimal frequency 0x158

IMG_20200505_041912.thumb.jpg.1cd0bb91f3325ed77382744b67e19e43.jpg

YPfvVA.jpg

 

AIDA64 Reports: Hasee-X57S1.zip

OEM DSDT: X57S1-OEM-DSDT.zip

EFI files: OC-EFI.zip

IORegistryExplorer: MacBook_Air_9,1.zip

 

 

 

 

 

 

ICL doesn't work on Hackintosh, you will receive a panic.
ICL the driver has many changes, research is necessary, but developers have no ICL.
 

Link to comment
Share on other sites

6 hours ago, 1Ale1 said:

What do you mean?

I mean the driver expects different numbers from the "CDCLK_CTL" register. The register and list of possible values is documented at https://01.org/linuxgraphics/documentation

https://01.org/linuxgraphics/hardware-specification-prms/2019-intelr-processors-based-ice-lake-platform

Volume 2c: Command Reference: Registers Part 1 – Registers A through L

 

In the BIOS settings what are the options for "Cd Clock Frequency" and "Skip Full CD Clock Init"?

 

What does "Intel Graphics Pei Display Peim" do?

 

Link to comment
Share on other sites

On 5/9/2020 at 12:20 AM, joevt said:

I mean the driver expects different numbers from the "CDCLK_CTL" register. The register and list of possible values is documented at https://01.org/linuxgraphics/documentation

https://01.org/linuxgraphics/hardware-specification-prms/2019-intelr-processors-based-ice-lake-platform

Volume 2c: Command Reference: Registers Part 1 – Registers A through L

 

In the BIOS settings what are the options for "Cd Clock Frequency" and "Skip Full CD Clock Init"?

 

What does "Intel Graphics Pei Display Peim" do?

 

even manually select to 652.8MHz, the error is the same.

 

BIOS_bin_backup_file: X57S1-Bios.7z

 

IMG_20200514_005553.thumb.jpg.5b6be719bc8597a1f6298ed8bf7e0b7f.jpg

IMG_20200514_005625.thumb.jpg.d25fa3dd487ed9dfad13ca81bfd02bd2.jpg

Edited by ardentwheel
Link to comment
Share on other sites

Hey need help for Nuc7I5BNH with Iris plus 640.

2 Monitors in use (1x DP over Typ-c, 1 x over HDMI), but the HDMI Monitor does only work after Replug. He were black in boot, only DP work. On loginscreen the DP-Monitor glow green. When I disconnect both an replug in Order (1) HDMI (2) DP booth work. Whats the correct settings? 

Link to comment
Share on other sites

EDIT: @headkaze ANOTHER CORRECTION and LESSON LEARNED: My EliteDesk 800 G4 Mini DOES require framebuffer-conX-type = 0x0004 (DigitalDVI) and not 0x0400 (DP). I needed to reboot a couple of times to observe the problem when framebuffer-conX-type = 0x0400 (DP) (display is blank or garbled with framebuffer-conX-type = 0x0400 DP). I suspect this is an NVRAM issue, where NVRAM is retaining display configuration after I make a display property change. My lesson learned is that I need to reboot a few times after making a display change to confirm the change.

 

Bottom line: My HP EliteDesk 800 G4 has 3 x DP ports, but I need to use framebuffer-conX-type = 0x0004 (DigitalDVI) since I'm using DP -> DVI adapters.   The attached config.plist reflects my current configuration. 

 

---------------------------------------------------------------------------

 

@headkaze and others who are using DP -> DVI adapters.  After much experimenting, I have found that framebuffer-conX-type = 4 (DigitalDVI) works perfectly for DP ports using DP -> DVI adapters on my HP EliteDesk 800 G4 Mini (I7-8700T / UHD 630).  All three DP ports work with the DP->DVI adapters, multi-display works and ports are hot swappable.  I am still experimenting, so I have attached my config.plist and provided my system specs below.  After realizing that DigitalDVi was the right port type for the DP->DVI adapter (could not get it to work when port type was DP), I arbitrarily assigned BusIDs, so I'm not sure if I got lucky or the BusIDs don't matter.

 

System Specs

  • HP EliteDesk 800 G4 Mini
  • I7-8700T / UHD 630 / Q370 Chipset
  • 32GB DDR4 RAM
  • 2 x NVMe SSD
  • 1 x SATA6 SSD
  • 3 x DP ports
  • 6 x USB 3.1
  • 1 x USB c 3.1
  • Clover r5118 (UEFI, SMBIOS MacModel MacMini 8,1)
  • macOS Catalina 10.15.4.02

 

IMPORTANT NOTE: I needed to add the AppleGraphicsDevicePolicy patch (see attached config.plist) for multi-display operation on my HackMini8,1.

 

EDIT: I had left boot arg -disablegfxfirmware in my clover config.plist after initially needing it to bypass the gfx firmware boot loop.  I have removed this boot arg after completing my FB patching as it is no longer necessary (as indicated by this thread).  The attached config.plist still includes the -disablegfxfirmware boot arg, but I do not run with this boot arg on my current system.

 

Screen Shot 2020-05-23 at 4.27.11 AM.png

Screen Shot 2020-05-23 at 5.28.22 AM.png

 

 

config.plist.zip

Edited by tonyx86
Link to comment
Share on other sites

I solved this problem.  Solution was to enable Intel ME in BIOS settings.

 

----------------------------------------------

 

@Andrey1970 I see that you're one of the contributors to the Intel HD Graphics FAQs.  Thank you - great work!  Do you have any idea why I'd be seeing the Console error VideoDecodersUnavailable after sleep / wake with UHD 630?

 

----------------------------------------------

 

Safari can't load InsanelyMac web pages and AppStore experiences VideoDecodersUnavailable console error after sleep / wake with UHD 630.  Does anyone have a fix for this?  Details below:

 

EDIT3: Observed these console errors when loading AppStore after sleep/wake (don't observed these before sleep/wake).  This may offer some clues about what's happening after sleep / wake:

 

  • error    10:56:30.161839-0400    App Store    VideoDecodersUnavailable - VideoView count: 1 Error: Optional(Error Domain=AVFoundationErrorDomain Code=-11800 "The operation could not be completed" UserInfo={NSLocalizedFailureReason=An unknown error occurred (-12151), NSLocalizedDescription=The operation could not be completed, NSUnderlyingError=0x60000195f900 {Error Domain=NSOSStatusErrorDomain Code=-12151 "(null)"}}) Contains video view with error: true

  • error    10:56:30.919936-0400    App Store    Video playback failure was videoDecodersUnavailable(error: Optional(Error Domain=AVFoundationErrorDomain Code=-11800 "The operation could not be completed" UserInfo={NSLocalizedFailureReason=An unknown error occurred (-12151), NSLocalizedDescription=The operation could not be completed, NSUnderlyingError=0x600001964f90 {Error Domain=NSOSStatusErrorDomain Code=-12151 "(null)"}})) for URL c4dca72455aa0771b4149039420a22ab4ea7da3ee6bb26e6a1cbc95fbdad6b2220edd6cb2aa63bef107f4d479044a5469c06b3b471ab588a4955221d271b3936

------------------------------------------------

 

EDIT2: After further testing, I don't have this problem with any website other than InsanelyMac.  The work-around is to use Firefox (haven't tested Chrome or other browser).

 

Console:

error    08:51:18.814340-0400    Safari    Page (pid: 693) did become responsive

 

----------------------------------------------

 

EDIT: I have found that this problem does not happen in Firefox.  This problem happens only in Safari.

 

-----------------------------------------------

 

@bronxteck and @valeryimm I saw your posts here and here respectively about HD530 initialization after sleep.  Is your issue similar to what I'm reporting below?  If so, did you fix this?

 

------------------------------------------------

 

Has anyone experienced Safari page loading issues after waking their patched UHD 630 from sleep?  If so, how did you fix this?  My work-around is to reboot.  Details below.  Thank you.

 

I have created a near-perfect MacMini8,1 based on an HP EliteDesk 800 G4 (I7-8700T / UHD 630 / Q370 / 32GB DDR4).  Everything works (including accelerated multi-display with 3xDP->DVI adapters, hot-pluggable DP ports and sleep/wake). My system is described here.  

 

When my system wakes from sleep, InsanelyMac web pages no longer load properly.  I suspect that the problem is the streaming video ads on the pages, since I don't experience this problem on "static" web pages of other sites (e.g. Google).  When I reboot, the problem is resolved (until the next sleep / wake).

 

Has anyone experienced this UHD 630 video problem after sleep and if so, how did you fix it?  Thank you.

 

 

Edited by tonyx86
Marked problem as solved.
Link to comment
Share on other sites

On 5/18/2020 at 3:02 AM, muplagama said:

Hey need help for Nuc7I5BNH with Iris plus 640.

2 Monitors in use (1x DP over Typ-c, 1 x over HDMI), but the HDMI Monitor does only work after Replug. He were black in boot, only DP work. On loginscreen the DP-Monitor glow green. When I disconnect both an replug in Order (1) HDMI (2) DP booth work. Whats the correct settings? 

 

I'm brand new to Intel HD Framebuffer patching (just started patching a couple of days ago and got my system working yesterday), but it seems to me that adding an AppleGraphicsDevicePolicy patch to clover config.plist has cured some of my issues with multi-display.  See background here.  I applied the following patch (full details here) to my system:

 

KextsToPatch

Name: AppleGraphicsDevicePolicy

Find: BA05000000

Replace: BA00000000

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

I'm still hoping that someone knows enough to help me with this UHD 630 sleep / wake problem here.  In the mean time, here are some of my UHD 630 frame buffer test results for my HP EliteDesk 800 G4 Mini.  My IGPU device-id is 0x3E92.  Notice that I only see a display when my AAPL,ig-platform-id ends with 0x00.

 

 

 

1316908100_ScreenShot2020-05-30at8_53_52AM.png.f13ff4e368ae0950987b9176f2a048b6.png

Edited by tonyx86
Link to comment
Share on other sites

I have solved the UHD 630 sleep / wake problem that I documented here.  The problem was that I had disabled Intel ME in my BIOS settings.  Enabling Intel ME resolved this problem.

 

Problem solved.

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

Yes, I do, Safari is a hog of memory and  video.  Some issue here.  My CPU climbs to over 120%

It is insane. Google does too. Been looking for a light browser 

 

Safari, Google are fat pigs. Hogs, Eats CPU, Burns Energy like crazy.

 

Pop the circuit breaker while running A/C even.  


Safari has been long since known to be hog.  

 

I'm gonna try MS IE see if any difference.  I tried several browsers, Brave and well one I liked is also become a hog.

Opera.

 

Safari tries to incorporate everything under the sun.  Thus making it , memory, pipe, video extensive.

 

Is Safari Optimized for OS?

 

 

Link to comment
Share on other sites

1 hour ago, brx7 said:

Any feedback with catalina 15.5.5, OC 0.5.9 and issues with intel IGPU UHD 630? i see a new build of weg

Desktop? Laptop?

If you fill in your signature you will get better help.

Link to comment
Share on other sites

Hi colleagues,

Have a gb brix gb-bri7-8550 with 8550 cpu and ALC255. UHD4k display with speakers, that is connected via DP. Clover 5118, latest weg/lilu/applealc. Audio layout 15.
Sound was working via dp for several months or more, and now I just noticed it is not working anymore. Cannot imagine, what is really changed and when exactly did it happen. LineOut is still working fine though. The only bios setup setting for audio, is to completely disable onboard sound.


Config is minimal, like:
 

        <key>Devices</key>
        <dict>
                <key>Audio</key>
                <dict>
                        <key>#ALC255</key>
                        <string>3, 11, 13, 15, 17, 18, 21, 27, 28, 30, 31, 99</string>
                        <key>AFGLowPowerState</key>
                        <false/>
                        <key>Inject</key>
                        <integer>15</integer>
                        <key>ResetHDA</key>
                        <false/>
                </dict>
                <key>LANInjection</key>
                <false/>
                <key>Properties</key>
                <dict>
                        <key>PciRoot(0x0)/Pci(0x2,0x0)</key>
                        <dict>
                                <key>AAPL,ig-platform-id</key>
                                <data>
                                AAAWWQ==
                                </data>
                                <key>device-id</key>
                                <data>
                                FlkAAA==
                                </data>
                        </dict>
                </dict>

What could cause a problem? Have no idea what could it be. Please help. Thank you.

mini.tgz

Edited by viktr
Link to comment
Share on other sites

1 hour ago, SavageAUS said:

Desktop? Laptop?

If you fill in your signature you will get better help.

I have a functioning setup under 15.5.4, OC 0.5.8, B360, intel i5-8400 coffee lake setup. UHD630 iGPU. I read issues related to changes that broke iGPU

Link to comment
Share on other sites

On 6/2/2020 at 10:58 AM, brx7 said:

I have a functioning setup under 15.5.4, OC 0.5.8, B360, intel i5-8400 coffee lake setup. UHD630 iGPU. I read issues related to changes that broke iGPU

 

@brx7 It looks like you already discovered this thread, but for others who may find this helpful, see here for some help with fully working UHD 630.

  • Thanks 1
Link to comment
Share on other sites

pretty late in the topic, but i am having a problem after upgrading to catalina. i got a kernel panic on the KBL Graphics and nothing seem to work to fix it. I am trying to set a higher framebuffer memory than the already applied patch of 32mb, in order to get over this problem and actually boot.
I don't know how to calculate, or "reverse bytes/hex swap" the values, no online service does that . My device is a dell latitude 7480 with HD620 Graphics. 

myPost

Link to comment
Share on other sites

13 hours ago, Nancy10 said:

pretty late in the topic, but i am having a problem after upgrading to catalina. i got a kernel panic on the KBL Graphics and nothing seem to work to fix it. I am trying to set a higher framebuffer memory than the already applied patch of 32mb, in order to get over this problem and actually boot.
I don't know how to calculate, or "reverse bytes/hex swap" the values, no online service does that . My device is a dell latitude 7480 with HD620 Graphics. 

myPost

 

This is how I did my calculations for my UHD 630 graphics.

Link to comment
Share on other sites

Please help me here good people, my Intel HD 4600 HDMI audio is giving me grey hair as I have done the patching on my config device properties, but IORegistry keeps on defaulting to DP 00040000 and it seems like it is just ignoring my patch. The strange thing is that the port detects my AV receiver correctly and also the display resolution is perfect, but sound does not come out. I am on Catalina 10.15.5

 

IOREGHDMI.zip

config.plist

Edited by Takiller
Additional information
Link to comment
Share on other sites

53 minutes ago, Takiller said:

Please help me here good people, my Intel HD 4600 HDMI audio is giving me grey hair as I have done the patching on my config device properties, but IORegistry keeps on defaulting to DP 00040000 and it seems like it is just ignoring my patch. The strange thing is that the port detects my AV receiver correctly and also the display resolution is perfect, but sound does not come out. I am on Catalina 10.15.5

 

IOREGHDMI.zip

config.plist

 

Have you Googled "Intel HD 4600 HDMI audio hackintosh"?

 

Did you generate your graphics device properties with Hackintool?

 

Have you tried other frame buffers (AAPL,ig-platform-id) from this guide?

 

If you tried all those and still need help, please post your full EFI (with EFI/CLOVER/kexts) and ACPI/patched.

Edited by tonyx86
Link to comment
Share on other sites

1 hour ago, Takiller said:

Please help me here good people, my Intel HD 4600 HDMI audio is giving me grey hair as I have done the patching on my config device properties, but IORegistry keeps on defaulting to DP 00040000 and it seems like it is just ignoring my patch. The strange thing is that the port detects my AV receiver correctly and also the display resolution is perfect, but sound does not come out. I am on Catalina 10.15.5

 

IOREGHDMI.zip

config.plist

 

In WEG v1.4.0 fixed framebuffer-conX-alldata

Link to comment
Share on other sites

18 hours ago, tonyx86 said:

 

Have you Googled "Intel HD 4600 HDMI audio hackintosh"?

 

Did you generate your graphics device properties with Hackintool?

 

Have you tried other frame buffers (AAPL,ig-platform-id) from this guide?

 

If you tried all those and still need help, please post your full EFI (with EFI/CLOVER/kexts) and ACPI/patched.

 To be honest with you it is now almost two months trying to get this right, googling and even trying my luck with different EFIs from other users. My IORegistry which I also attached shows that the patch is fine with the 00080000 for HDMI, but as soon as I plug the HDMI cable it changes back to the DP 00040000. it is like there's another patch pushing back the DP.

CLOVER.zip

IORegBeforeHDMI.zip

Link to comment
Share on other sites

5 hours ago, Takiller said:

 To be honest with you it is now almost two months trying to get this right, googling and even trying my luck with different EFIs from other users. My IORegistry which I also attached shows that the patch is fine with the 00080000 for HDMI, but as soon as I plug the HDMI cable it changes back to the DP 00040000. it is like there's another patch pushing back the DP.

CLOVER.zip

IORegBeforeHDMI.zip

 

I feel your frustration.  Framebuffer patching was the hardest part for me for this solution.  I ended up taking a methodical, brute force approach by trying every framebuffer value that corresponded to my real device-id.  I just recently started framebuffer patching (this is my first) and I don't want to steer you the wrong way with an IGPU that I don't know.  However, if the solutions from others don't work, you may need to take my approach and try each candidate framebuffer (AAPL,ig-platform-id) that corresponds to your CPU/IGPU in this guide.

 

Here's an example of my approach and here is my overall methodology.  

Link to comment
Share on other sites

Hi everyone I hope you're all well and safe. I've hesitated a long time before posting for help but my search for answers didn't yield productive results... Your help is appreciated.

 

Not sure if you can help me @headkaze for WhateverGreen as a developer, I have a couple of issues I wanted to report here with the hope for assistance and possibly a bug fix (not sure). My current setup is Mojave 10.14.6 on Intel NUC8i7BEH, Intel Iris Plus Graphics 655 [8086:3ea5] with (per Hackintool) Realtek ALC235 Audio Controller [8086:9dc8] and a system defined as MacMini8,1.

 

1) Using WhateverGreen may be slowing IGPU down?

In the early stages of rebuilding from scratch some months ago, I discovered that if I declare/inject the IGPU via Clover key ig-platform-id=0x3EA50004 (belongs to MacBookPro15,2) I would get a RAW power of +80% on Geekbench 4 without using WhateverGreen.kext ; namely about 55110 as OpenCL Score!  The moment I include WhateverGreen.kext in /L/E/ the score falls to 38175 approximately... Just that during boot, I would get a "pink flash" for a brief moment.

 

Any idea why this would happen? Of course I think that without WhateverGreen, Safari playing videos etc. would cause issues (that WhateverGreen takes care of).

 

What's more interesting is that the auto-detected value of WhateverGreen without Clover pushing any ig-platform-id doesn't seem to do much, it stayed at 0x3EA50000, I think. This means that we need to define in Cover's "Properties" to absolutely add a value that would work better. Despite 0x3EA50000 and 0x3EA50009 working "fine", I saw today that 0x3E9B0007 would immediately freeze the computer the moment I launch Terminal !

 

2) A more serious issue: Dropping FakePCIIDs to prepare for Catalina+ with modern patches (incl. OpenCore) for HDMI audio that WhateverGreen cannot inject?

 

Now the juicy part. Since 10.13.x days I have been using FakePCIID.kext and FakePCIID_Intel_HDMI_Audio.kext from Rehabman, that would allow the HDEF device obtain a second "iteration" that immediately detects DisplayPort or HDMI connections and allows digital audio.

 

I have been searching for alternatives as to how to drop the use of FakePCIIDs (especially as Rehabman has seemingly left the scene and hasn't updated any of his work unfortunately) but for the love of me, I could not find any help on-line nor a method that would yield the same results.

 

With FakePCIIDs that's attaching to my [8086:9dc8] audio controller, I obtain a second audio controller (rather, Codec) that lspci did not detect as PCI device (nor Hackintool's PCI section) that allows for HDMI/DisplayPort digital audio:

 

Realtek-FakePCIIDs.png.5b12003b008f16e9c693a5a7be7b1fe5.png

 

The first, analogue audio (Realtek) uses Class AppleHDADriver and second digital audio (Kabylake HDMI) uses Class AppleHDAHDMI_DPDriver (per Hackintool, and not sure why it's marked Intel Kabylake HDMI to be honest).

 

When I remove FakePCIIDs from /L/E/ this device is gone and I cannot get DP/HDMI audio; AppleALC uses layout-id=3 and both IGPU and HDEF contain the needed hda-gfx=onboard-1 values in IORegistry. But no digital audio detected as present. As you can see below, HDEF obtains two IOHDACodecDevice@1F,3,0 and 1F,3,2 with FacePCIID clearly attached to it.

 

608108077_DualCodecs.png.84bed08a3cad58b1bec5e15e7a483713.png

 

How can we replicate what FakePCIIDs does? By injecting a non-existent HDAU device? But under which device/scope in SSDT?

 

I could neither find any help how to use Hackintool to create a Clover-properties-patch for such scenario; do we need to play with special WhateveGreen values (like framebuffers etc.)? Is this dependent on the connectors present? 0x3EA50004 has 3 connectors (LVDS, HDMI, HDMI, Dummy) and 3rd one is active (red) but I cannot see any parameters to add so a Clover patch can be generated (via Hackintool). Generating a patch with "Audio Device" ticked (active) doesn't seem to do anything different with or without FakePCIIDs present (i.e. same <key>device-id</key> and <data>cKEAAA==</data> are generated).
 

Thanks in advance for your time, let me know if you'd like to get more information that I can happily provide to you or anyone else. P.S. I came here as being the official WhateverGreen discussion place, per the GitHub Manual page...

Edited by MacKonsti
Link to comment
Share on other sites

×
×
  • Create New...