Jump to content

please help me fix Brightness Control Nvidia Graphics Only Laptop


onejay09
 Share

199 posts in this topic

Recommended Posts

  • 2 weeks later...

Hi, first time hackintosh here, I have been trying to tackle this problem since a week or so now. So far I have patched DSDT and SSDT and get the Display recognized as internal, no brightness slider still. The display shows up as AppleBacklightDisplay in IOREG but that's about all I have been able to achieve. I tried mainly two approaches, the one that @jacie950 was given by @onejay09, and the other by @mail_hxm (which resulted in black screen post boot with a cursor). I have attached the IOREG, zip of Clover, and the resulting zip of problem reporting script. Please let me know if anything else is needed

 

My device is an Omen ce0xx:

CPU- 7700HQ

GPU- GTX 1060 Max-Q (G-Sync so no iGPU)

RAM- 16GB

Storage- 128GB m.2 NVMe + 1TB HDD

debug_8415.zip

ioreg.ioreg

CLOVER.zip

Screen Shot 2019-01-10 at 4.40.52 AM.png

  • Like 1
Link to comment
Share on other sites

On 1/9/2019 at 5:34 AM, gpex said:

Asus ROG GL502VM with a GTX 1060
Fix in #1 post works ! I can't make the shortcuts work but I'm ok this way

hi apex, my computer is a GL503VM with a GTX 1060 how did u manage to solve the problem ? Man U give me a hand ?

Link to comment
Share on other sites

  • 2 weeks later...
On 1/10/2019 at 9:42 AM, ryi98 said:

Hi, first time hackintosh here, I have been trying to tackle this problem since a week or so now. So far I have patched DSDT and SSDT and get the Display recognized as internal, no brightness slider still. The display shows up as AppleBacklightDisplay in IOREG but that's about all I have been able to achieve. I tried mainly two approaches, the one that @jacie950 was given by @onejay09, and the other by @mail_hxm (which resulted in black screen post boot with a cursor). I have attached the IOREG, zip of Clover, and the resulting zip of problem reporting script. Please let me know if anything else is needed

 

My device is an Omen ce0xx:

CPU- 7700HQ

GPU- GTX 1060 Max-Q (G-Sync so no iGPU)

RAM- 16GB

Storage- 128GB m.2 NVMe + 1TB HDD

debug_8415.zip

ioreg.ioreg

CLOVER.zip

Screen Shot 2019-01-10 at 4.40.52 AM.png

 I'm having similar problems, blackscreen at boot when following @mail_hxm method, but I think I was close

Please help my, debug files attached

debug_11765.zip

Link to comment
Share on other sites

  • 4 weeks later...
On 4/20/2017 at 3:10 PM, onejay09 said:

this post has been updated with the fix that works for my setup and a few others, my laptop is an asus gl702 but this has worked for others with dedicated nvidia graphics also.

if your laptop is optimus then this will not work for you.

 

fist find the _DSM method for your Graphics card, ignore any devices that are on PCI0 ie: PCI0.GFX0 your looking for graphics cards Under PCI0.PEG0

ie: PCI0.PEG0.GFX0._DSM  or  PCI0.PEG0.PEGP._DSM

rename the _DSM Method to XDSM and insert this Below


        Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
        {
            If (LEqual (Arg2, Zero))
            {
                Return (Buffer (One)
                {
                     0x03                                           
                })
            }

            Return (Package (0x34)
            {
                "AAPL,backlight-control", 
                Buffer (0x04)
                {
                     0x01, 0x00, 0x00, 0x00                         
                }, 

                "@0,backlight-control", 
                Buffer (0x04)
                {
                     0x01, 0x00, 0x00, 0x00                         
                }, 

                "AAPL,aux-power-connected", 
                Buffer (0x04)
                {
                     0x01, 0x00, 0x00, 0x00                         
                }, 

                "@0,AAPL,boot-display", 
                Buffer (One)
                {
                     0x01                                           
                }, 

                "@0,display-cfg", 
                Buffer (0x04)
                {
                     0xFF, 0xFF, 0x36, 0x00                         
                }, 

                "@1,display-cfg", 
                Buffer (0x04)
                {
                     0xFF, 0xFF, 0xFF, 0xFF                         
                }, 

                "@0,connector-type", 
                Buffer (0x04)
                {
                     0x00, 0x08, 0x00, 0x00                         
                }, 

                "@1,connector-type", 
                Buffer (0x04)
                {
                     0x00, 0x08, 0x00, 0x00                         
                }, 

                "@0,built-in", 
                Buffer (0x04)
                {
                     0x00, 0x00, 0x00, 0x01                         
                }, 

                "@0,use-backlight-blanking", 
                Buffer (0x04) {}, 
                "AAPL,gray-page", 
                Buffer (0x04)
                {
                     0x01, 0x00, 0x00, 0x00                         
                }, 

                "AAPL00,inverter", 
                Buffer (0x04)
                {
                     0x00, 0x00, 0x00, 0x00                         
                }, 

                "@1,can-hot-plug", 
                Buffer (0x04) {}, 
                "AAPL00,blackscreen.preferences", 
                Buffer (0x04)
                {
                     0x00, 0x00, 0x00, 0x08                         
                }, 

                "AAPL01,blackscreen.preferences", 
                Buffer (0x04)
                {
                     0x00, 0x00, 0x00, 0x08                         
                }, 

                "@0,pwm-info", 
                Buffer (0x18)
                {
                    /* 0000 */  0x02, 0x18, 0x00, 0x64, 0x90, 0x59, 0x02, 0x00,
                    /* 0008 */  0x08, 0x52, 0x00, 0x00, 0xA5, 0x1C, 0x00, 0x00,
                    /* 0010 */  0x00, 0x04, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 
                }, 

                "@0,NVMT", 
                Buffer (0x70)
                {
                    /* 0000 */  0x0E, 0x03, 0x7F, 0x20, 0x00, 0x00, 0x00, 0x00,
                    /* 0008 */  0x40, 0x0B, 0x08, 0x07, 0xE0, 0x0B, 0x70, 0x0B,
                    /* 0010 */  0x90, 0x0B, 0x00, 0x00, 0x3C, 0x07, 0x0B, 0x07,
                    /* 0018 */  0x11, 0x07, 0x00, 0x00, 0xF0, 0xA7, 0x21, 0x14,
                    /* 0020 */  0x00, 0x00, 0x00, 0x01, 0xAF, 0x00, 0x00, 0x00,
                    /* 0028 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                    /* 0030 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                    /* 0038 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                    /* 0040 */  0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
                    /* 0048 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                    /* 0050 */  0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF,
                    /* 0058 */  0x00, 0x00, 0x00, 0x00, 0xBC, 0x02, 0x01, 0x5A,
                    /* 0060 */  0x0A, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
                    /* 0068 */  0x40, 0x0B, 0x08, 0x07, 0x40, 0x0B, 0x08, 0x07 
                }, 

                "NVPM", 
                Buffer (0x1C)
                {
                    /* 0000 */  0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                    /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                    /* 0010 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                    /* 0018 */  0x00, 0x00, 0x00, 0x00                         
                }, 

                "@0,compatible", 
                Buffer (0x0B)
                {
                    "NVDA,NVMac"
                }, 

                "@0,device_type", 
                Buffer (0x08)
                {
                    "display"
                }, 

                "@0,display-type", 
                Buffer (0x04)
                {
                    "LCD"
                }, 

                "@0,name", 
                Buffer (0x0F)
                {
                    "NVDA,Display-A"
                }, 

                "@1,compatible", 
                Buffer (0x0B)
                {
                    "NVDA,NVMac"
                }, 

                "@1,device_type", 
                Buffer (0x08)
                {
                    "display"
                }, 

                "@1,name", 
                Buffer (0x0F)
                {
                    "NVDA,Display-B"
                }, 

                "hda-gfx", 
                Buffer (0x0A)
                {
                    "onboard-1"
                }
            })
        }

we also need to add a pnlf patch to your DSDT

 


Scope (_SB)
    {
        Device (PNLF)
        {
            Name (_ADR, Zero)  // _ADR: Address
            Name (_HID, EisaId ("APP0002"))  // _HID: Hardware ID
            Name (_CID, "backlight")  // _CID: Compatible ID
            Name (_UID, 0x0A)  // _UID: Unique ID
            Name (_STA, 0x0B)  // _STA: Status
        }
    }

thats all thats needed for the acpi files.

 

we now need to create a backlight injector for your display, use the script below to make the injector and install it to System/Library/Extensions.

https://github.com/onejay09/AppleBacklightInjector

 

if your backlight still isnt working then post problem reporting files.

Hello mate

 

I don't found any _DSM method under PCI0.PEG0 in Maciasl but in IOReg I can see my NVIDIA under PCI0.PEG0.GFX0

 

My laptop is a DELL m4800 with a NVIDIA Quadro K1100M

 

Could you help me?

 

Thanks

Edited by narayan
Link to comment
Share on other sites

  • 1 month later...
  • 2 weeks later...

I’ve successful installed MacOS Sierra 10.12.6 on my Asus G73SW Laptop with the following specs:

- Mobile Intel HM65 Express

- Intel Core I7 2630 QM 2.0 GHz

- Nvidia GeForce GTX 460M 1,5gb

 

I’ve got a lot of working but still can't control the brightness. What have I done so far:

- Add "brightness fix" from Rehabman repo to my DSDT --> Brightness slider appear in Preference --> But brightness don't change when I slide the bar

- Add 

into method label _Q0E replace_content
begin
// Brightness Down\n
Notify(\_SB.PCI0.SBRG.PS2K, 0x0205)\n
Notify(\_SB.PCI0.SBRG.PS2K, 0x0285)\n
end;
into method label _Q0F replace_content
begin
// Brightness Up\n
Notify(\_SB.PCI0.SBRG.PS2K, 0x0206)\n
Notify(\_SB.PCI0.SBRG.PS2K, 0x0286)\n
end;

to my DSDT --> with FN keys (FN+F5 and FN+F6) I can change the brightness slider --> But brightness don't change

 

Then I tried AppleBacklightFixup.kext with SSDT-PNLF.aml --> Brightness slider dissappear in Preference

 

Can someone help me to get the brightness control get working?

Link to comment
Share on other sites

  • 4 weeks later...

@onejay09 Your brightness patcher works in Mojave 10.14.4 when combined with DosDude's Mojave Patcher / Legacy Graphics Patch.  The trick to getting my Thinkpad T61 (Penryn T9300, Nvidia NVS 140m, 8GB DDR2) to work with DosDude's Mojave Patcher was to set my Mac Model to MacBookPro 5,1 in CLOVER config.plist.  Everything works (including brightness slider).

 

 

Screen Shot 2019-05-07 at 6.34.19 PM.png

Screen Shot 2019-05-07 at 6.42.28 PM.png

Screen Shot 2019-05-07 at 6.51.05 PM.png

Edited by tonyx86
Link to comment
Share on other sites

  • 2 months later...

As I previously reported, after upgrading my Thinkpad T61 to Mojave 10.14.5 (using DosDude's Mojave patcher), @onejay09's brightness fix (patching DSDT with PNLF and GFX0._DSM and running onejay09's script) still works (Display slider still controls brightness).  I recently noticed that when running Mojave, IOHWControl was not loading under AGPM as viewed in IORegistryExplorer (see attached screenshot showing IOHWControl in IORegistryExplorer).  IOHWControl was loading in High Sierra 10.13.6, but not in Mojave 10.14.5.  I'm not sure what I was missing in my DSDT patches, but the "fix" for this is to use CLOVER's "Inject NVidia" option (I wasn't using the CLOVER option before, since I injected all NVidia attributes via DSDT GFX0._DSM).  Now, IOHWControl loads in both High Sierra and Mojave.

 

With the use of CLOVER's "Inject NVidia" option, my DSDT patches now include only the PNLF patch and the following elements in my GFX0._DSM:

  • define "@0,pwm-info": this is required for proper brightness control.  Brightness control "worked" without this in my DSDT, but brightness adjustment wasn't "smooth" across the entire adjustment range.  With this defined, brightness adjustment is smooth across the entire adjustment range.
  • define "NVCAP": this is required for the internal and external display to work properly.  Without "NVCAP" defined, the internal LCD display works when an external monitor is NOT plugged into the Thinkpad VGA port; however, if "NVCAP" is not defined, neither the internal LCD nor the external display work when an external display is connected to the VGA port.
With these adjustments (enabling CLOVER's "Inject NVidia" option and including only "@0,pwm-info" and "NVCAP" in my DSDT's GFX0._DSM), my Thinkpad T61's display brightness slider works perfectly in High Sierra 10.13.6 and Mojave 10.14.5 (with DosDude's Mojave patcher).
 
My new GFX0._DSM includes only following:
 
            If (LEqual (Arg2, Zero)){Return (Buffer (){0x03})}
            Return (Package ()
            {
                "@0,pwm-info", 
                Buffer ()
                {
                    /* 0000 */  0x01, 0x14, 0x00, 0x64, 0xA8, 0x61, 0x00, 0x00,
                    /* 0008 */  0x1C, 0x02, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00,
                    /* 0010 */  0x00, 0x04, 0x00, 0x00
                }, 
                "NVCAP", 
                Buffer ()
                {
                    /* 0000 */  0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
                    /* 0008 */  0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A,
                    /* 0010 */  0x00, 0x00, 0x00, 0x00
                }
            }

Screen Shot 2019-07-14 at 9.32.01 AM.png

  • Like 1
Link to comment
Share on other sites

8 minutes ago, tonyx86 said:

As I previously reported, after upgrading my Thinkpad T61 to Mojave 10.14.5 (using DosDude's Mojave patcher), @onejay09's brightness fix (patching DSDT with PNLF and GFX0._DSM and running onejay09's script) still works (Display slider still controls brightness).  I recently noticed that when running Mojave, IOHWControl was not loading under AGPM as viewed in IORegistryExplorer (see attached screenshot showing IOHWControl in IORegistryExplorer).  IOHWControl was loading in High Sierra 10.13.6, but not in Mojave 10.14.5.  I'm not sure what I was missing in my DSDT patches, but the "fix" for this is to use CLOVER's "Inject NVidia" option (I wasn't using the CLOVER option before, since I injected all NVidia attributes via DSDT GFX0._DSM).  Now, IOHWControl loads in both High Sierra and Mojave.

 

With the use of CLOVER's "Inject NVidia" option, my DSDT patches now include only the PNLF patch and the following elements in my GFX0._DSM:

  • define "@0,pwm-info": this is required for proper brightness control.  Brightness control "worked" without this in my DSDT, but brightness adjustment wasn't "smooth" across the entire adjustment range.  With this defined, brightness adjustment is smooth across the entire adjustment range.
  • define "NVCAP": this is required for the internal and external display to work properly.  Without "NVCAP" defined, the internal LCD display works when an external monitor is NOT plugged into the Thinkpad VGA port; however, if "NVCAP" is not defined, neither the internal LCD nor the external display work when an external display is connected to the VGA port.
With these adjustments (enabling CLOVER's "Inject NVidia" option and including only "@0,pwm-info" and "NVCAP" in my DSDT's GFX0._DSM), my Thinkpad T61's display brightness slider works perfectly in High Sierra 10.13.6 and Mojave 10.14.5 (with DosDude's Mojave patcher).
 
My new GFX0._DSM includes only following:
 

            If (LEqual (Arg2, Zero)){Return (Buffer (){0x03})}
            Return (Package ()
            {
                "@0,pwm-info", 
                Buffer ()
                {
                    /* 0000 */  0x01, 0x14, 0x00, 0x64, 0xA8, 0x61, 0x00, 0x00,
                    /* 0008 */  0x1C, 0x02, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00,
                    /* 0010 */  0x00, 0x04, 0x00, 0x00
                }, 
                "NVCAP", 
                Buffer ()
                {
                    /* 0000 */  0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
                    /* 0008 */  0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A,
                    /* 0010 */  0x00, 0x00, 0x00, 0x00
                }
            }

Screen Shot 2019-07-14 at 9.32.01 AM.png

Can you share your dsdt with the patch mentioned, Thanks !

Link to comment
Share on other sites

  • 3 weeks later...

@rongu I don't work on the ThinkPad T61 very often (only updated to Mojave to see if it worked and it works well for a 2008 laptop).  If I remember to get the DSDT the next time I'm on that system, I'll post here.  In all honesty, the DSDT does not add any value to this thread.  Everything that I required to implement onejay09's brightness fix for the Thinkpad T61 is in my previous post.  I hope that helps.  I think the biggest revelation for me was that the GFX0._DSM doesn't require much if you use CLOVER's "Inject NVidia" option.  It significantly simplifies this brightness fix on the Thinkpad T61 and maybe other laptops as well (likely with different values for pwm-info and NVCAP).

.

Link to comment
Share on other sites

1 hour ago, tonyx86 said:

@rongu I don't work on the ThinkPad T61 very often (only updated to Mojave to see if it worked and it works well for a 2008 laptop).  If I remember to get the DSDT the next time I'm on that system, I'll post here.  In all honesty, the DSDT does not add any value to this thread.  Everything that I required to implement onejay09's brightness fix for the Thinkpad T61 is in my previous post.  I hope that helps.  I think the biggest revelation for me was that the GFX0._DSM doesn't require much if you use CLOVER's "Inject NVidia" option.  It significantly simplifies this brightness fix on the Thinkpad T61 and maybe other laptops as well (likely with different values for pwm-info and NVCAP).

.

Appreciate your reply, Thank You.

Link to comment
Share on other sites

  • 5 weeks later...
On 4/20/2017 at 3:10 PM, onejay09 said:

this post has been updated with the fix that works for my setup and a few others, my laptop is an asus gl702 but this has worked for others with dedicated nvidia graphics also.

if your laptop is optimus then this will not work for you.

 

fist find the _DSM method for your Graphics card, ignore any devices that are on PCI0 ie: PCI0.GFX0 your looking for graphics cards Under PCI0.PEG0

ie: PCI0.PEG0.GFX0._DSM  or  PCI0.PEG0.PEGP._DSM

rename the _DSM Method to XDSM and insert this Below


        Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
        {
            If (LEqual (Arg2, Zero))
            {
                Return (Buffer (One)
                {
                     0x03                                           
                })
            }

            Return (Package (0x34)
            {
                "AAPL,backlight-control", 
                Buffer (0x04)
                {
                     0x01, 0x00, 0x00, 0x00                         
                }, 

                "@0,backlight-control", 
                Buffer (0x04)
                {
                     0x01, 0x00, 0x00, 0x00                         
                }, 

                "AAPL,aux-power-connected", 
                Buffer (0x04)
                {
                     0x01, 0x00, 0x00, 0x00                         
                }, 

                "@0,AAPL,boot-display", 
                Buffer (One)
                {
                     0x01                                           
                }, 

                "@0,display-cfg", 
                Buffer (0x04)
                {
                     0xFF, 0xFF, 0x36, 0x00                         
                }, 

                "@1,display-cfg", 
                Buffer (0x04)
                {
                     0xFF, 0xFF, 0xFF, 0xFF                         
                }, 

                "@0,connector-type", 
                Buffer (0x04)
                {
                     0x00, 0x08, 0x00, 0x00                         
                }, 

                "@1,connector-type", 
                Buffer (0x04)
                {
                     0x00, 0x08, 0x00, 0x00                         
                }, 

                "@0,built-in", 
                Buffer (0x04)
                {
                     0x00, 0x00, 0x00, 0x01                         
                }, 

                "@0,use-backlight-blanking", 
                Buffer (0x04) {}, 
                "AAPL,gray-page", 
                Buffer (0x04)
                {
                     0x01, 0x00, 0x00, 0x00                         
                }, 

                "AAPL00,inverter", 
                Buffer (0x04)
                {
                     0x00, 0x00, 0x00, 0x00                         
                }, 

                "@1,can-hot-plug", 
                Buffer (0x04) {}, 
                "AAPL00,blackscreen.preferences", 
                Buffer (0x04)
                {
                     0x00, 0x00, 0x00, 0x08                         
                }, 

                "AAPL01,blackscreen.preferences", 
                Buffer (0x04)
                {
                     0x00, 0x00, 0x00, 0x08                         
                }, 

                "@0,pwm-info", 
                Buffer (0x18)
                {
                    /* 0000 */  0x02, 0x18, 0x00, 0x64, 0x90, 0x59, 0x02, 0x00,
                    /* 0008 */  0x08, 0x52, 0x00, 0x00, 0xA5, 0x1C, 0x00, 0x00,
                    /* 0010 */  0x00, 0x04, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 
                }, 

                "@0,NVMT", 
                Buffer (0x70)
                {
                    /* 0000 */  0x0E, 0x03, 0x7F, 0x20, 0x00, 0x00, 0x00, 0x00,
                    /* 0008 */  0x40, 0x0B, 0x08, 0x07, 0xE0, 0x0B, 0x70, 0x0B,
                    /* 0010 */  0x90, 0x0B, 0x00, 0x00, 0x3C, 0x07, 0x0B, 0x07,
                    /* 0018 */  0x11, 0x07, 0x00, 0x00, 0xF0, 0xA7, 0x21, 0x14,
                    /* 0020 */  0x00, 0x00, 0x00, 0x01, 0xAF, 0x00, 0x00, 0x00,
                    /* 0028 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                    /* 0030 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                    /* 0038 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                    /* 0040 */  0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
                    /* 0048 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                    /* 0050 */  0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF,
                    /* 0058 */  0x00, 0x00, 0x00, 0x00, 0xBC, 0x02, 0x01, 0x5A,
                    /* 0060 */  0x0A, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
                    /* 0068 */  0x40, 0x0B, 0x08, 0x07, 0x40, 0x0B, 0x08, 0x07 
                }, 

                "NVPM", 
                Buffer (0x1C)
                {
                    /* 0000 */  0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                    /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                    /* 0010 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                    /* 0018 */  0x00, 0x00, 0x00, 0x00                         
                }, 

                "@0,compatible", 
                Buffer (0x0B)
                {
                    "NVDA,NVMac"
                }, 

                "@0,device_type", 
                Buffer (0x08)
                {
                    "display"
                }, 

                "@0,display-type", 
                Buffer (0x04)
                {
                    "LCD"
                }, 

                "@0,name", 
                Buffer (0x0F)
                {
                    "NVDA,Display-A"
                }, 

                "@1,compatible", 
                Buffer (0x0B)
                {
                    "NVDA,NVMac"
                }, 

                "@1,device_type", 
                Buffer (0x08)
                {
                    "display"
                }, 

                "@1,name", 
                Buffer (0x0F)
                {
                    "NVDA,Display-B"
                }, 

                "hda-gfx", 
                Buffer (0x0A)
                {
                    "onboard-1"
                }
            })
        }

we also need to add a pnlf patch to your DSDT

 


Scope (_SB)
    {
        Device (PNLF)
        {
            Name (_ADR, Zero)  // _ADR: Address
            Name (_HID, EisaId ("APP0002"))  // _HID: Hardware ID
            Name (_CID, "backlight")  // _CID: Compatible ID
            Name (_UID, 0x0A)  // _UID: Unique ID
            Name (_STA, 0x0B)  // _STA: Status
        }
    }

thats all thats needed for the acpi files.

 

we now need to create a backlight injector for your display, use the script below to make the injector and install it to System/Library/Extensions.

https://github.com/onejay09/AppleBacklightInjector

 

if your backlight still isnt working then post problem reporting files.

 

I have followed the steps, but still can't get the brightness controller appeared in SysPref and/or worked at all..

My built-in laptop display is recognized as external via DP, is it the reason?

So far, I am using the brightness slider app (ACT Productions) from the store to do the trick..

 

Edited by YFJF
Link to comment
Share on other sites

  • 5 months later...
On 7/14/2019 at 10:19 AM, rongu said:

Can you share your dsdt with the patch mentioned, Thanks !

 @rongu I completely forgot about this and only remembered when I stumbled upon this thread again for another laptop.  Attached is my DSDT for the Thinkpad T61 running Mojave 10.14.6 (DosDude Mojave Patcher).  Brightness slider works perfectly with just the PNLF patch and the simplified GFX0._DSM when "Inject Nvidia" is enabled in Clover config.plist.  I used @onejay09's script exactly as he described, installed the resulting AppleBacklightInjector.kext in /L/E and it worked perfectly.  I'm still running Clover v2.4k_r4934.

 

Note also that with the attached DSDT, the brightness keys work as well, since I applied patches for that as well.

DSDT.zip

Edited by tonyx86
Link to comment
Share on other sites

  • 2 months later...

Hi Guys, When I execute onejay09's script I get this error message:

 

Whites-MBP:PatchAppleBacklight white$ sh /Users/white/Downloads/PatchAppleBacklight/patch.sh
Cannot parse a NULL or zero-length data
/Users/white/Downloads/PatchAppleBacklight/patch.sh: line 9: printf: Error: invalid number
/Users/white/Downloads/PatchAppleBacklight/patch.sh: line 9: printf: Reading: invalid number
/Users/white/Downloads/PatchAppleBacklight/patch.sh: line 9: printf: File:: invalid number
/Users/white/Downloads/PatchAppleBacklight/patch.sh: line 9: printf: /tmp/org.rehabman.display.plist: invalid number
Patched AppleBacklight.kext for DisplayID:  F10T0000F00T0000F00T0000
Whites-MBP:PatchAppleBacklight white$ 

What is going wrong on my side?

Link to comment
Share on other sites

On 5/9/2020 at 5:30 AM, hectorox said:

Hi Guys, When I execute onejay09's script I get this error message:

 

What is going wrong on my side?

 

It's possible that the script isn't finding a device named 'AppleDisplay'
 

What is the response when you run command

ioreg | grep AppleDisplay

Also, what is the response when you run command

ioreg | grep AppleBacklightDisplay

 

 

Link to comment
Share on other sites

6 hours ago, tonyx86 said:

 

It's possible that the script isn't finding a device named 'AppleDisplay'
 

What is the response when you run command


ioreg | grep AppleDisplay

Also, what is the response when you run command


ioreg | grep AppleBacklightDisplay

 

Hi,

got nothing on the first command and for the second I got this:

Whites-MBP:~ white$ ioreg | grep AppleBacklightDisplay
    | |   |     |   | +-o AppleBacklightDisplay  <class AppleBacklightDisplay, id 0x1000003b2, registered, matched, active, busy 0 (0 ms), retain 8>
Link to comment
Share on other sites

4 hours ago, hectorox said:

Hi,

got nothing on the first command and for the second I got this:


Whites-MBP:~ white$ ioreg | grep AppleBacklightDisplay
    | |   |     |   | +-o AppleBacklightDisplay  <class AppleBacklightDisplay, id 0x1000003b2, registered, matched, active, busy 0 (0 ms), retain 8>


OK - that's what I thought. I can't guarantee that this will work for you, but edit the 'ioreg -n' line in onejay09's script and replace AppleDisplay with AppleBacklightDisplay.  Then run the script.

Edited by tonyx86
Link to comment
Share on other sites

Hi, i'm on High Sierra with a HP Omen 17 with 6700HQ and GTX1070, i've tried the patch but there a strange things, as the integrated display (G-sync 75hz) is recognised as External (AppleDisplay in IOReg) and the external (via HDMI) is recognised as internal (AppleBacklightDisplay), in fact i've got the brightness slider but for the external and not for the real internal.

 

Seems that all is inverted, how i can solve? Thanks!

Link to comment
Share on other sites

  • 3 months later...

Hi I have a laptop asus gl502vm (i7 6700hq + gtx 1060). My hackintosh is working great except the brightness control. I have tried the solution mentioned on the first post but when I plug in the laptop or plug in or unplug the laptop, the screen goes black (not completely dark but almost, it is not usable). I attach my current dsdt and ioreg. Hope someone can help me please.

DSDT.aml

MacBook jonanbasket ioreg.zip

Link to comment
Share on other sites

  • 1 month later...
On 5/12/2018 at 10:48 PM, onejay09 said:

i dont think he understands that were adding code, not renaming anything, you can rename things in clover, im unaware of any way to add a _DSM method from clover, why dont you ask him?

Hello Onejay, thanks for the patching post, its great. 

I have a new setup with HS on my Alienware, not sure how many things don't work, most of them do. One of the things that doesn't work though is BRIGHTNESS control.

 

I have a GSYNC panel on my laptop which is directly linked to the NVIDIA GPU and the intel GPU is not in use or cannot be switched ON unless someone is using a USB-C port to connect as intel is hardwired to that port.

 

So basically i know I have to patch my brightness control but i'm a little confused as to how to.

 

Here is the info that i have:

 

my dGPU was named PEGP at PEG0 and i renamed it and then the IGPU was GFX which i changed to IGPU from the DSDT clover patch. 

Now if i look at my DSDT the _DSM method is not there and its there in the SSDT4peg0, I think (not completely sure, but 99% yes). 

 

Now the present names in the IOREG are:

 

IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/IGPU@2.  >>>>>>> Intel GPU (IGPU@2)

 

and

 

IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/PEG0@1/IOPP/GFX0@0. >>>> Nvidia(GFX@0 on PEG0)

 

i'm still learning stuff so apologies in advance if there is info which is missing. I'm just trying to understand as to what is the logic that goes in this and should be able to patch my SSDT's, can you help on this please? Thanks in advance and please find my problem reporting files attached.

 

Also if there is no device specific method for the device then what is the need of a _DSM to _XDSM ??

debug_32222.zip

Link to comment
Share on other sites

 Share

×
×
  • Create New...