Baio77 Posted January 5 Share Posted January 5 (edited) HELP Brightness Control: I've been trying to figure out how to use these patches for days, months. I'm looking for information in the kext repository but I still don't see the light in the tunnel. In my HP630 Cpu Arrandale it runs 10.13 High Sierra, here the brightness control is broken and I can't get it to work. Navigating in total darkness I started doing test after test without ever obtaining decent results. The problem is that I can NEVER see the brightness control bar unless I use the old Rehabman Kext, only then can I move the bar from side to side but to no effect. At this point install El Capitan 10.11.6 and magically with the kext https://github.com/RehabMan/OS-X-Intel-Backlight everything works normally. At this point I'm trying to understand what this kext does and why it does NOT work on 10.13.6, hoping to be able to discover the cause of the bug. I attach ioreg data with the same EFI configuration on 10.11 and 10.13 and the first thing I notice is that some values are different and I think this is why rehabman's kext on 10.13 doesn't work. EF Capitano.ioreg Highsierra.ioreg After various tests I concluded that using rehabman kext on 10.11 the brightness always works regardless of how SSDT-PNLF is set. The UID variations have no function, just the simple SSDT-PNLF, so I assume that what you need is all in IntelBacklight.kext. Now I have to extrapolate the kext patches and try to activate them with the use of WEG, but to do this I have to disable the automatic WEG patches (applbkl=0 applbkl property on IGPU Disable AppleBacklight.kext patches for IGPU. In case of custom AppleBacklight) . Now comes the fun part, I enter the applbkl-name\applbkl-data customizations and stopped here, because I'm not sure what values I need to set. Among the other tests I have done is to extrapolate the various debugs of Lilu and Weg, but I don't see any useful information to solve the problem. Without using the Rehabman kext, both on 10.11 and 10.13 I NEVER see the brightness control bar, if I analyze ioreg it seems to me that there is no connection to Display configurations and I believe that this is the key to everything. El Capitan No kext rehabman.ioreg Reposity HP630 https://github.com/Baio1977/HP630-CPU-Arrandale @miliuco @Slice @Goldfish64 EDIT: These are the properties of rehabman's kext, ,how do I write them as WEG patches??? Edited January 6 by Baio77 Link to comment https://www.insanelymac.com/forum/topic/360451-ssdt-pnlf-uid99-and-applbkl-nameapplbkl-data/ Share on other sites More sharing options...
cankiulascmnfye Posted January 5 Share Posted January 5 Well, you could open the project file in Xcode and have a look at the source code (or let your favororite AI comment on it). The IntelBacklight.kext is suppsed to be used in conjunction with SSDT-RMCF.aml. It injects to inject a device RMCF (= RehabMan configuration file) into macOS which lets you inject some values into the system, Interesting parameters are probably IGPI ( ig-platform-id), BKLT (selects, which kext is used for controlling the backlight) and LMAX (max brightness level). Link to comment https://www.insanelymac.com/forum/topic/360451-ssdt-pnlf-uid99-and-applbkl-nameapplbkl-data/#findComment-2829373 Share on other sites More sharing options...
Baio77 Posted January 6 Author Share Posted January 6 (edited) Hi and thanks for replying. Rehabman's kext on 10.11 always works. If I change UID, if I use basic SSDT-PNLF. Quote DefinitionBlock ("", "SSDT", 2, "OCLT", "PNLF", 0x00000000) { External (_SB_.PCI0.GFX0, DeviceObj) // (from opcode) Scope (\_SB.PCI0.GFX0) { Device (PNLF) { Name (_HID, EisaId ("APP0002")) // _HID: Hardware ID Name (_CID, "backlight") // _CID: Compatible ID Name (_UID, 0x0E) // _UID: Unique ID Method (_STA, 0, NotSerialized) // _STA: Status { If (_OSI ("Darwin")) { Return (0x0B) } Else { Return (Zero) } } } } } So in the kext there is everything you need to activate the brightness control. What I would like to do is eliminate the kext rehabman and work with WEG. trying to activate the brightness first on 10.11 and maybe trying to activate it later on 10.13 where the brightness control never worked. To do this you need to I believe, work with UID 99 (0x63) and set custom values. But to do this there is nothing online that explains the values to use etc etc... I'm not a developer and with Xcode I'm 0, I just have to understand what values to set in these strings in device property IGPU applbkl-name applbkl-data and then test. Edited January 6 by Baio77 1 Link to comment https://www.insanelymac.com/forum/topic/360451-ssdt-pnlf-uid99-and-applbkl-nameapplbkl-data/#findComment-2829389 Share on other sites More sharing options...
cankiulascmnfye Posted January 6 Share Posted January 6 There's a boot-arg for WEG to change how the backlight is controlled: applbkl=0 disables the patches in WEG if you want to use something else, like a different kext/SSDT combo. Link to comment https://www.insanelymac.com/forum/topic/360451-ssdt-pnlf-uid99-and-applbkl-nameapplbkl-data/#findComment-2829390 Share on other sites More sharing options...
Baio77 Posted January 6 Author Share Posted January 6 (edited) I have version 10.13, could you tell me the terminal commands to perform an accurate dump of weg? I'm using the settings you mentioned, so UID99 + device IGPU properties EFI+LILU+WEG Debug I'm using EFI Debug.zip Edited January 6 by Baio77 Link to comment https://www.insanelymac.com/forum/topic/360451-ssdt-pnlf-uid99-and-applbkl-nameapplbkl-data/#findComment-2829392 Share on other sites More sharing options...
Baio77 Posted January 6 Author Share Posted January 6 (edited) I believe that the difference in HW makes the substantial difference in terms of functionality. Mine is 1 laptop from 2012 with Arrandale CPU with 1st gen HD graphics, legacy Bios. The HW is supported in hackintosh, I think it needs the help of a developer, someone who knows how to decipher the kext source codes. If you are familiar with this, I think it is simple to understand the patches to apply. The laptop works at its best I just have to solve the brightness control issue, I have to at least make the brightness bar appear When I use the rehabman kext I have the bar but there is no brightness control. Without rehabman's kext I don't even have a light bar Edited January 6 by Baio77 2 Link to comment https://www.insanelymac.com/forum/topic/360451-ssdt-pnlf-uid99-and-applbkl-nameapplbkl-data/#findComment-2829394 Share on other sites More sharing options...
cankiulascmnfye Posted January 6 Share Posted January 6 According to WEG, `-wegdbg` enables Debug printing, but you also need to use the Debug version of the kext for that. But I don't know if the debug log will be part of the bootlog or if it is diplayed in verbose mode. Sorry, I never had to deal with this. But judgig from the WEG FAQs, it seems there is not much that can be done with Arrandale iGPUs as far as injection properties is concerned. Here's an old thread about Arrandale iGPU that mentions your laptop as well. Maybe you can extract more info about the backlicght control issue from it: And here are more kext patches. From what I understand, you have to disable WEG if you want to make use of them. But I don't know if they have an effect on brightness control: https://github.com/Goldfish64/ArrandaleGraphicsHackintosh/blob/master/Patches.md 2 Link to comment https://www.insanelymac.com/forum/topic/360451-ssdt-pnlf-uid99-and-applbkl-nameapplbkl-data/#findComment-2829396 Share on other sites More sharing options...
Baio77 Posted January 10 Author Share Posted January 10 (edited) I've read and reread everything, @Goldfish64 repository patches are now integrated by WEG and are therefore NO longer necessary. What I need to patch is the part regarding the display panel. Using UID99 with patches in the topic title. The use of these patches is not explained. Edited January 10 by Baio77 Link to comment https://www.insanelymac.com/forum/topic/360451-ssdt-pnlf-uid99-and-applbkl-nameapplbkl-data/#findComment-2829528 Share on other sites More sharing options...
1Revenger1 Posted January 10 Share Posted January 10 applblk-data and applblk-name allow you to override one of the Apple backlight profiles to create your own backlight curve. applbkl-name is the name of the profile you are overriding (based on the _UID in the PNLF device) and applbkl-data is the curve itself. The backlight curve data is an array of 16-bit big endiann values (most significant byte first). The first 16-bit value is the number of points in the backlight curve and then the rest of the 16-bit values are those n values. I needed to override this on my M4700 as the backlight registers expected a value between 0-100 and any values above though would keep wrapping around causing the brightness to go all over the place. Example data from my M4700: applbkl-data: 001100000004000b00100014001a0023002b0034003f004e00620079009400b500da00ff applbkl-name: F14Txxxx applblk: 1 In this case, the applbkl-data is 0x11 (17) data points long with points 0x00, 0x04, 0x0B, 0x10, 0x14, 0x23, 0x2B, 0x2B, 0x34, 0x3F, 0x4E, 0x62, 0x79, 0x94, 0xB5, 0xDA, and 0xFF 4 Link to comment https://www.insanelymac.com/forum/topic/360451-ssdt-pnlf-uid99-and-applbkl-nameapplbkl-data/#findComment-2829534 Share on other sites More sharing options...
Baio77 Posted January 10 Author Share Posted January 10 (edited) Thank you very much, you left valuable information. I will try to implement your explanations. Quote applblk-data 0000003500370039003B003E00420047004D0053005B0063006C00770082008E009A00A800B700C600D600E800FA010D01210135014801620179019101AA01C501DF01F80218023602540273029402B502D702FA031D03420368038E03B503DE04070431045B048704B404E10510053F056F05A005D206050638066D06A206D90710 This is the value of rehabman's kext, do I put it like this or do I have to convert it?? if so how?? How can I see from ioreg which fan my system is using? Edited January 10 by Baio77 Link to comment https://www.insanelymac.com/forum/topic/360451-ssdt-pnlf-uid99-and-applbkl-nameapplbkl-data/#findComment-2829536 Share on other sites More sharing options...
cankiulascmnfye Posted January 10 Share Posted January 10 (edited) @Baio77 I asked claude.ai about the applblk-data because it's really good when it comes to working with code. Looking at this data, it appears to be a brightness curve with the following characteristics: The data consists of 16-bit values (represented as 4-byte chunks in the hex string) Values start at 0x0000 (completely off) and increase to 0x0710 (maximum brightness) The progression appears to be non-linear, following what looks like a gamma curve This is typical for backlight control as human perception of brightness is logarithmic rather than linear. The curve ensures that brightness adjustments feel smooth and natural to users across the entire range. The data structure suggests this is used to map brightness level selections (like when you press the brightness keys) to actual hardware values sent to the backlight controller. Each step represents a discrete brightness level available to the user. I asked it to break down the string in sections and possible meaning/usage: Key observations about the data: The first value (00000035) represents the minimum visible brightness level The middle range (around 00B700C6) represents normal working brightness levels The final values (02180236 and beyond) represent maximum brightness The steps between values get larger as the brightness increases, which creates a perceptually smooth transition. Table: The rest of the string contains additional calibration values that extend the curve even further, possibly for special use cases or different display models. These higher values (like 03B503DE through 06A206D90710) might be used for: HDR content display Outdoor mode Maximum brightness override settings Different display panel variants Edited January 11 by cankiulascmnfye 2 Link to comment https://www.insanelymac.com/forum/topic/360451-ssdt-pnlf-uid99-and-applbkl-nameapplbkl-data/#findComment-2829537 Share on other sites More sharing options...
Baio77 Posted January 12 Author Share Posted January 12 I've done several tests but at this point I think the problem is something else. Without rehabman's kext I never see the brightness bar. How can I trace the problem???NO Rehabman kext.ioreg Link to comment https://www.insanelymac.com/forum/topic/360451-ssdt-pnlf-uid99-and-applbkl-nameapplbkl-data/#findComment-2829569 Share on other sites More sharing options...
Baio77 Posted January 14 Author Share Posted January 14 After months of testing I came to find a problem with the lack of brightness control: As we can see, no WEG panel is activated, I deduce that this is the problem that prevents brightness control In the photo below I took Ioreg as an example of my X1 Kabylake -r tablet where the brightness control works well. Now I also understand better the working principle of PNLF, UID and brightness control. I would at least try to look for a possible solution. How and where can I open an Issue to resolve the problem???? Link to comment https://www.insanelymac.com/forum/topic/360451-ssdt-pnlf-uid99-and-applbkl-nameapplbkl-data/#findComment-2829596 Share on other sites More sharing options...
Baio77 Posted January 16 Author Share Posted January 16 Even with edid patch I don't solve the problem. I've been back working with rehabman's kext trying to figure out what breaks its function since 10.13. Analyzing ioreg (attached to the 1st post) I notice that from 10.13 a new apple driver is loaded, I believe this causes the PNLF control to break with kext rehabman. Obviously this leads to nothing since without that kext the bar never appeared in the monitor menu. Link to comment https://www.insanelymac.com/forum/topic/360451-ssdt-pnlf-uid99-and-applbkl-nameapplbkl-data/#findComment-2829656 Share on other sites More sharing options...
carlo_67 Posted January 16 Share Posted January 16 have you tried adding device properties to the gpu applbkl=1? 2 Link to comment https://www.insanelymac.com/forum/topic/360451-ssdt-pnlf-uid99-and-applbkl-nameapplbkl-data/#findComment-2829674 Share on other sites More sharing options...
Baio77 Posted January 17 Author Share Posted January 17 (edited) I've tried them all. The REAL problem is the failure to activate 1 WEG panel. This BUG compromises every little functionality. I think a special option should be added for Arrandale CPU, now it works with the same Sandy and Ivy Bridge approaches, but I don't think it's correct. Obviously mine are ALL THEORIES. http://bergdesign.com/brightness/ This app works for my HW, if I use the Rehabman kext. I wanted to try to fix the WEG BUG, at least understand what's missing, because it doesn't hook any panels. Edited January 17 by Baio77 1 Link to comment https://www.insanelymac.com/forum/topic/360451-ssdt-pnlf-uid99-and-applbkl-nameapplbkl-data/#findComment-2829700 Share on other sites More sharing options...
Recommended Posts