Jump to content
onejay09

please help me fix Brightness Control Nvidia Graphics Only Laptop

192 posts in this topic

Recommended Posts

This is for the default display at B@1. below is my practical experience.

 

Sierra 10.12.6, Brightness control is working

 

1132130916_ScreenShot2018-12-21at9_52_58PM.thumb.png.13217f6125c0767f960c08905f6757e3.png

 

what did I do:

  • fix XOSI
  • add device PNLF
  • rename GFX0 to _GFX both DSDT and SSDTs
  • rename PEGP to GFX0 both DSDT and SSDTs
  • add device (HDAU) under PEG0
  • return (one) under device (EDP1)

 

Brightness control shortcut key

            Method (_Q10, 0, NotSerialized)  // _Qxx: EC Query
            {
                If (LEqual (GPUM, 0x05))
                {
                    Notify (PS2K, 0x0205)
                    Notify (PS2K, 0x0285)
                }

                If (LEqual (GPUM, 0x03))
                {
                    Notify (^^^_GFX.DD1F, 0x87)
                }
                ElseIf (CondRefOf (\_SB.PCI0.PEG0.GFX0.EDP1))
                {
                    Notify (^^^PEG0.GFX0.EDP1, 0x87)
                }
            }

            Method (_Q11, 0, NotSerialized)  // _Qxx: EC Query
            {
                If (LEqual (GPUM, 0x05))
                {
                    Notify (PS2K, 0x0206)
                    Notify (PS2K, 0x0286)
                }

                If (LEqual (GPUM, 0x03))
                {
                    Notify (^^^_GFX.DD1F, 0x86)
                }
                ElseIf (CondRefOf (\_SB.PCI0.PEG0.GFX0.EDP1))
                {
                    Notify (^^^PEG0.GFX0.EDP1, 0x86)
                }
            }

 

_DSM of Device (GFX0)

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

                        Return (Package (0x18)
                        {
                            "@1,AAPL,boot-display", 
                            Buffer (One)
                            {
                                 0x01                                           
                            }, 

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

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

                            "@1,built-in", 
                            Buffer (One)
                            {
                                 0x01                                           
                            }, 

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

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

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

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

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

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

                            "@1,pwm-info", 
                            Buffer (0x14)
                            {
                                /* 0000 */  0x01, 0x14, 0x00, 0x64, 0xA8, 0x61, 0x00, 0x00,
                                /* 0008 */  0x1E, 0x02, 0x00, 0x00, 0x2C, 0x00, 0x00, 0x00,
                                /* 0010 */  0x00, 0x04, 0x00, 0x00                         
                            }, 

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

 

admin’s iMac_builtin1_brightnessOk_butNoHDMI.ioreg

 

DSDT.aml

SSDT-10-84DB.aml

SSDT-XOSI.aml

Edited by mail_hxm

Share this post


Link to post
Share on other sites
Advertisement

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
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 ?

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites

Hello, I'm trying to fix the brightness control on an Asus GL703 with a GTX 1060. Can someone tell me which files are being edited for the solution in the first post here?

Thanks!

Share this post


Link to post
Share on other sites

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?

Share this post


Link to post
Share on other sites
Posted (edited)

@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

Share this post


Link to post
Share on other sites

@onejay09 hi there i tried your patch, got my brightness slider to appear in system prefs, everything shows up correctly but can't control the brightness, can you help with this ?

 

Here is my thread with ioreg, clover, kextstat.

 

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
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 !

Share this post


Link to post
Share on other sites

@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).

.

Share this post


Link to post
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.

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×