Jump to content

Intel UHD 620 (Kaby Lake R) + Mojave: No brightness control?


flyingfishfinger_1
 Share

22 posts in this topic

Recommended Posts

Hi all-

I have a more or less working install of Mojave, runs great. Since I have an Kaby Lake R, according to the guide I injected 0001659 and 1659000 for platform-id and device-id respectively. I'm using BrightnessKeys.kext, and I can see the register values change in IORegistryExplorer. I also verified that my connector type is 02000000 (eDP-connected laptop display).

 

My SMBIOS is a MacBookPro14,2, and I'm using OpenCore 0.7.3 with the latest WhateverGreen (1.5.3) & Lilu (1.5.6).

 

However, brightness does not change, and in "Display" the image is not of a laptop but an external monitor - so I'm not really surprised that the brightness isn't changing.

 

I've been through all the other suggested framebuffers (and connector numbers / types) and checked that my SSDT-PNLF has the correct GFX0 name in it.

 

Now I have no more ideas, and the guide / Googling for this does not come up with any more suggestions. I hope folks here might be able to give me some ideas as to what to try & fix this.

 

Cheers,
Rafael

Link to comment
Share on other sites

I would not use Brightnesskeys.kext.  

If you have any other kexts relating to BackLight, like IntelBacklight, Applebacklight, third party ones, or patches, remove them.  Also your PNLF should be GPU version rather than rehabman's IGPU. 

If you are using DSDT and have patched that may need to use a proper patch.  I had some issues before getting backlight to work right (PNLF for Display Brightness on Legacy systems) 

It may be that you just need to remove Brightnesskeys.kext?  Try that and make sure your patches in config.plist are minimal for backlight.

 

It should work with Lilu.kext, Whatevergreen.kext.

 

Go to Whatevergreen page, read carefully all the instructions. Must remove all the boot parameters that were used for when Whatevergreen was not used. Which means must remove all the patches in config.plist that were present beforehand.  Whatevergreen does actually do all the patching.

There are a few things you may need to tweak afterwards.

 

Screenshot of DeviceProperities for the IGPU child subordinate ( I'm using Xcode ) ( Had problem with ProperTree which I'm trying to find the stand alone I have the Master one and it's a bit flakey )

 

https://github.com/acidanthera/WhateverGreen/blob/master/Manual/FAQ.IntelHD.en.md

 

 

 

Screen Shot 2021-09-24 at 8.51.14 PM.png

Edited by makk
Link to comment
Share on other sites

Hi,

Thanks for the info. It's already been suggested to remove BrightnessKeys.kext - if I do that, the hotkeys stop working. Also, the brightness slider still does nothing. I've been through the WEG manual for days, but there's nothing new / different there that I can see.

 

I'm using the PLNF that was included in the latest OpenCore (from here, I think it's the same one: https://dortania.github.io/Getting-Started-With-ACPI/Laptops/backlight-methods/manual.html#edits-to-the-sample-ssdt). I checked that the device name was correct as indicated there - it is GFX0.

 

My connector also already seems correct, so I didn't add anything to the config for that - I don't know if I need to. How would I find out?

 

I have no other brightness related kexts / patches other than what the OC guide suggests. These are my only kexts and GPU section:

Kexts.png.7cac1712b4a58826f7485c1c7d442636.png

 

GPU.thumb.png.03a45322fedc80f576479cb8f4ec3425.png

 

R

Link to comment
Share on other sites

For Kabylake -R use this id  ad SMBios MacbookPro 15.2 and PNLF 
 

<key>PciRoot(0x0)/Pci(0x2,0x0)</key>
  <dict>
  <key>AAPL,GfxYTile</key>
  <data>AQAAAA==</data>
  <key>AAPL,ig-platform-id</key>
  <data>AADAhw==</data>
  <key>device-id</key>
  <data>wIcAAA==</data>
  <key>device_type</key>
  <string>VGA compatible controller</string>
  <key>disable-external-gpu</key>
  <data>AQAAAA==</data>
  <key>enable-hdmi-dividers-fix</key>
  <data>AQAAAA==</data>
  <key>framebuffer-con0-alldata</key>
  <data>AAAIAAIAAACYAAAA</data>
  <key>framebuffer-con0-enable</key>
  <data>AQAAAA==</data>
  <key>framebuffer-con1-alldata</key>
  <data>AQUJAAAIAACHAQAA</data>
  <key>framebuffer-con1-enable</key>
  <data>AQAAAA==</data>
  <key>framebuffer-con2-alldata</key>
  <data>AgQKAAAEAACHAQAA</data>
  <key>framebuffer-con2-enable</key>
  <data>AQAAAA==</data>
  <key>framebuffer-fbmem</key>
  <data>AACQAA==</data>
  <key>framebuffer-patch-enable</key>
  <data>AQAAAA==</data>
  <key>framebuffer-stolenmem</key>
  <data>AAAwAQ==</data>
  <key>hda-gfx</key>
  <string>onboard-1</string>
  <key>model</key>
  <string>Intel UHD Graphics 620</string>
 

</dict>

1155406902_Schermata2021-09-25alle08_32_42.png.e7d8a12104001bd5e849ffafc262a2c0.png

Edited by Baio77
Link to comment
Share on other sites

Hi,

I think there's some wrong renaming going on. IORegExplorer calls it IGPU but the PNLF doesn't (I think)... But as you say, I thought WEG takes care of this?

 

Files linked - upload kept freezing for some reason 😕

EFI: https://drive.google.com/file/d/1P1B-psghkd2SGAx1DUwVHsACvFnZLMVS/view?usp=sharing

IOReg: https://drive.google.com/file/d/1A7ZgdfFlN8Qx7kmxL6SE0Oci2REBdmtZ/view?usp=sharing

 

Thanks for checking it out!

R

Link to comment
Share on other sites

2 hours ago, flyingfishfinger_1 said:

Hi,

I think there's some wrong renaming going on. IORegExplorer calls it IGPU but the PNLF doesn't (I think)... But as you say, I thought WEG takes care of this?

 

Files linked - upload kept freezing for some reason 😕

EFI: https://drive.google.com/file/d/1P1B-psghkd2SGAx1DUwVHsACvFnZLMVS/view?usp=sharing

IOReg: https://drive.google.com/file/d/1A7ZgdfFlN8Qx7kmxL6SE0Oci2REBdmtZ/view?usp=sharing

 

Thanks for checking it out!

R

 

Try on patches for rename to disable GFX to IGPU 

 

Once I disabled the Rename, and Let WEG handle the Rename (disabling in config.plist) all worked. 

 

I had to also disable Rename of HDEF to get audio

 

Then I had to use SSDT-PNLF.dsl from OC in the Docs section.

 

Attached is SSDT-PNLF.dsl make sure you use the latest from Acid MaciASL (both are attached here)

 

Depending on your hot patch SSDT - it's hit or miss on Renames. Have to test each one to see what the results.

Normally as stated for WEG and ALC no need to rename as long as DSDT isn't sophisticatedly patched for HDEF and GFX-IGPU

 

For WEG to work need to leave as 'factory' settings in OC and Clover.  

Or no go on Display PNLF.  

 

Also you have to pay attention to the order in your config.plist for ACPI, Kernel, when adding and placing

SSDT's and Kexts.  It is highly stipulated to do so.  You want the order correct or certain things do not load properly.

 

For instance you always want Lilu.kext, VirualSMC.kext, Whatevergreen.kext, AppleALC.kext -- in this order 1,2,3,4

Then ECEnabler.kext, then SMCBattery.kext, VoodoodPS2 keyboard, mouse, trackpad, then USBports.kext, Wifi, Ethernet.

Logically speaking. What is needed first?  Priority.  First is Lilu with plugins V, W, A, then Power, then keyboard, mouse, trackpad, , USB, then you can connect to some network, wifi, ethernet. 

 

The order is necessary for OC to work correctly.  Then you may see things that wasn't working start working.

 

You must also follow this order for SSDT's. The logic behind it is necessary for proper working bootloader.

 

attached is config.plist from your EFI, reordered the necessary in ACPI>ADD and Kernel>ADD

If after you boot and Display does not do the PNLF, disable the Brightnesskeys.kext and reboot.

 

If this does not fix your PNLF. then you need an SSDT that has the GFX configs in it.

 

Hope this works for you. 

 

 

 

SSDT-PNLF.dsl.zip MaciASL-1.6.2-RELEASE.dmg.zip

config.plist.zip

Edited by makk
Changes
Link to comment
Share on other sites

Hi,

Thanks for looking. Just the reordered config made no difference, nor did disabling the Brightnesskeys.kext.

 

I then tried the PNLF patch which renames GFX0-> IGPU, and I get a kernel panic (ACPI error: Namespace lookup failure for \_SB_.PCI0.IGPU). Did I forget or misunderstand something you said?

 

R

Edited by flyingfishfinger_1
Link to comment
Share on other sites

Hi,

I was playing around with the connector patches to see what difference it would make, if any. I know that the connector type was already correct, I just wanted to see if anything would happen.

 

I have a silly question but your file may answer it, will read first then ask if it's still unclear to me. Also in your previous post, you injected fbmem / stolenmem. Is that necessary if acceleration already works, aside from the brightness problem?

 

Thanks,

R

Link to comment
Share on other sites

Hm, still doesn't change the behaviour (I changed the SMBIOS, added the PNLF from your post and added the rename) - exactly the same results (with or without Brightnesskeys).

 

Current EFI: https://drive.google.com/file/d/1IdxT7wGYkPRyyJ52Eqgv77FTuuu2VYQK/view?usp=sharing

Current IOReg: https://drive.google.com/file/d/1wm-x-HSHdI2-Cb4amHphYyW3wa6C8dzn/view?usp=sharing

 

Is it right now, though?

 

R

Link to comment
Share on other sites

Removed the extra properties & reset NVRAM just now, still no dice. The image is not of a MacBook, although there has always been a slider present (which never did anything). I did notice that the "Automatically adjust brightness" box is always checked, if I uncheck it & look away (i.e switch tabs), it's always checked again when I go back...

 

R

Link to comment
Share on other sites

On 9/25/2021 at 3:23 AM, Hervé said:

I once had a Kaby Lake R/UHD620 Dell Latitude 7490 laptop. For graphics purposes, I used:

1) ACPI:

  • standard SSDT-PNLF (you can grab if off Dortania's OpenCore guide); this normally suffices to enable brightness control. Please note that my SSDT-PNLF table made references to IGPU not GFX0.
  • in my Bootloader config file, I was renaming GFX0 to IGPU given that native ACPI tables were coded with GFX0.

2) Kexts:

  • I was, of course, using the latest versions of Lilu + WEG at the time (Mojave and Catalina days).
  • For brightness keys, I've never used that Brightnesskeys kext and, when I tested it, it never did the job. Instead, I've always applied ACPI patches to inject the correct key codes and ensure the brightness control function keys did their expected job. Please note that getting brightness control working and getting brightness keys working are 2 x separate things, the latter obviously depending on the former, but not the reverse.

3) Properties injection:

AAPL,ig-platfom-id        00001659        DATA
device-id                 16590000        DATA
framebuffer-patch-enable  1               NUMBER
framebuffer-fbmem         00009000        DATA
framebuffer-stolenmem     00003001        DATA

4) SMBIOS:

  • MacBookPro15,2

 

https://osxlatitude.com/forums/topic/11410-dell-latitude-7490-with-i7-8650u-intel-uhd-620-and-1920x1080-lcd-mojavecatalina/?do=findComment&comment=89838

 

The important thing to check is how your iGPU registers in IOReg and how it's referenced in your loaded SSDT-PNLF table. WhateverGreen normally renames the ACPI device to "IGPU" but you may have opted to do that renaming in your Bootloader's config. Once you've booted macOS, you can check how the iGPU is referred to in your loaded SSDT-PNLF by running MaciASL app and load it from the app (menu File->New from ACPI->SSDT_x (_PNLF)). You want to see "IGPU" in both cases (IOReg + loaded SSDT-PNLF). If IOReg shows IGPU and loaded SSDT-PNLF shows GFX0, you won't have any brightness control and that could also explain why your display does not register as a built-in LCD but an external monitor (which won't have brightness control of course).

 

From memory, but I'll be corrected if I'm wrong, ACPI renaming of iGPU device, whether configured in the bootloader's config file or made by WhateverGreen, is only applied to native tables loaded from BIOS, not to add-on/patched tables loaded in a subsequent phase from the Bootloader's EFI/ACPI folder.

 

Do post a zipped copy of your Bootloader's EFI folder + an extracted IOReg from IORegistryExplorer.

 

Hi Herve'  this is not always true.  With my system, I have SSDT-PNLF.aml with GFX0 not IGPU

I have to turn off GFX0 to IGPU rename in config.plist to get Display slider to work.

 

In the WEG manual it states to "not" do renames in config.plist and get rid of all the previous ways done in Clover Bootloader.

 

I think this guy needs an SSDT-IGPU of some sort to declare it as hot patch in his ACPI on EFI

 

Prior to figuring out what was causing for me, I tried, SSDT-IGPU.aml, SSDT-PNLF.aml (with IGPU) 

Rename GFX0 to IGPU in config.plist  -- all to find the best solution.

 

Well in my config.plist I have framebuffer patches and added the stolenmem and fbmem after I corrected slider problem on my machine.

 

Attached are my 2 ssdt's and config.plist to show you how my system is.

 

Thanks by the way for all your expertise always learn a lot from you.

 

 

 

Archive.zip

Link to comment
Share on other sites

7 hours ago, flyingfishfinger_1 said:

Removed the extra properties & reset NVRAM just now, still no dice. The image is not of a MacBook, although there has always been a slider present (which never did anything). I did notice that the "Automatically adjust brightness" box is always checked, if I uncheck it & look away (i.e switch tabs), it's always checked again when I go back...

 

R

 

It's stuck the Slider. So it's not functioning. 

 

I'm doing some work on your config.plist and getting some SSDT to declare your graphics chip

I have a couple of ideas working.

I'll send it when done.

 

Have hope

Link to comment
Share on other sites

Here are your two files

 

SSDT-PNLF.aml (GFX0 )

config.plist with screen shots to show changes.

 

https://github.com/acidanthera/WhateverGreen/blob/master/Manual/FAQ.IntelHD.en.md

 

Read ^^^ for questions and answers about "GFX" to IGPU renames when using Whatevergreen.kext.  Doesn't work is what they stipulate.

 

I added patches to DeviceProperties for Graphics Chip

 

and reordered your ACPI's SSDT files

 

Added SSDT-EC.aml as this is needed even with ECEnabler.kext is what the guy who made says. but you can disable in the config.plist.

Added Rename EC0 to EC in ACPI>Patches.  is Enabled

Sometimes the Power causes some issues when not 'renamed'  As in Laptops.  This is stated in Opencore Instruction Page. This depends on the way the power is handled per laptop, In case you don't have battery icon and trackpad, it is necessary to have it enabled, plus the SSDT-EC.aml

regardless of ECEnabler.kext.  (to be honest this kext causes problems with my HP because of my SSDT hot patch) in your case it is good I think.

But test it just in case.

 

If it does not boot with these EC changes then turn them off when you get back to the Desktop

 

Last but not least the patch for framebuffer-con1-alldata and con2-alldata may be incorrect in the numbers on the right.

 

Hope these work!

Screen Shot 2021-09-26 at 11.28.47 PM.png

Screen Shot 2021-09-26 at 11.30.02 PM.png

SSDT-PNLF.aml config.plist

Link to comment
Share on other sites

1 hour ago, flyingfishfinger_1 said:

Which SSDT-EC are you suggesting? The guide has SSDT-EC-USBX as one file, but also a separate SSDT-USBX (which I was using). There doesn't seem to be a separate (current?) SSDT-EC alone.

 

R

 

Hi Fly,

 

SSDT-EC.aml

 

NOTE: Look in your Vanilla DSDT and see if you have EC0 in it.  If not have to find which name it uses to address the embedded controller.  HECI, other names depending on the manufacts.

 

Use SSDTTIME application, it asks to use your DSDT Vanilla one then from it it makes the SSDT-EC.aml for your laptop.

I would use:  SSDT-USBX.aml and SSDT-EC.aml <> separated. 

 

look at screen shots

 

352785858_ScreenShot2021-09-27at10_52_54PM.png.af83d9e27ed0db5f11a37e8d36b83d68.png

Screen Shot 2021-09-27 at 10.54.01 PM.png

SSDTTime-master.zip SSDT-USBX.aml.zip

Edited by makk
Link to comment
Share on other sites

The thing on USBX is so so, some say need, some say no.  

 

But Rehabman suggests to use it.  It's part of faking out MacOS.  So with that said, it doesn't affect the OS with it or without it.

I think its more cosmetics at this point.

 

 

Link to comment
Share on other sites

I have the same video display and brightness/slider works for me because of my PNLF device.  Now I am using Big Sur and Monterey and I don't recall when I had to change my PNLF device but I did.  Originally, I used a very basic PNLF device and simply patched my DSDT rather than using an SSDT.  Later on, as a result of some updates in either macOS or one of the bootloaders I was using, I had to switch to Dortania's SSDT-PNLF, which is what I am using now.  I don't know whether you are using Clover or OC but if you use the Clover PNLF patch, that is the same as the basic PNLF device I used to use.  You can get Dortania's SSDT-PNLF here:

 

https://github.com/dortania/Getting-Started-With-ACPI/blob/master/extra-files/compiled/SSDT-PNLF.aml

 

 

  • Like 2
Link to comment
Share on other sites

 Share

×
×
  • Create New...