Contribute
Register

OSX El Capitan 10.11.6 on Samsung Galaxy Book 12

Status
Not open for further replies.
No idea what you are trying to say.



You installed IntelBacklight.kext... ACPIBacklight.kext is not active.



For using AppleBacklight.kext, read guide:
https://www.tonymacx86.com/threads/...rol-using-applebacklightinjector-kext.218222/

And you didn't provide "Problem Reporting" files that represent your various attempts (you provided only with IntelBacklight.kext).



It is unlikely to use IGPU PWM.
You will need to use ACPIBacklight.kext + the appropriate ACPI patch (try "Brightness Fix (ACPI 100)").
I ve tried both but no results, ill post zip soon :).
Anyway i know im asking something really.big, but what do you think about ACPI/ORIGIN files?
Do you think that i can just copy/paste to the Patched folder?
Looking at the guide for patching DSDT, i tried to compile all without errors, and tried to put all in the Patched folder.
The os booted with no problem, this mean that DSDT, SDST + files were being good for the system?
I just compiled all after removing error, into aml.
Also if you could get a check and tell me what do you think, for future Power Management implementation, and supporting
Thx
 
Anyway i know im asking something really.big, but what do you think about ACPI/ORIGIN files?
Do you think that i can just copy/paste to the Patched folder?

Nonsense. The only reason to have content in ACPI/patched is to change it.
 
Nonsense. The only reason to have content in ACPI/patched is to change it.
Okay thanks for this info.
I tried to apply the patch "Brightness Fix (ACPI 100)" to my DSDT in patched, but when i compile, i got thoose errors (See screenshot) so i could not apply the patch for Problem Reporting now
Screen Shot 2017-10-18 at 22.23.48.png
Problem Reporting zip up

EDIT Good News For battery i applied the SAMSUNG 300NK5 battery patch and now battery showing percentage, and until full! Thx! Any other ways to check if its really working well?
 

Attachments

  • ProblemReporting.zip
    1.9 MB · Views: 54
Last edited:
Okay thanks for this info.
I tried to apply the patch "Brightness Fix (ACPI 100)" to my DSDT in patched, but when i compile, i got thoose errors (See screenshot) so i could not apply the patch for Problem Reporting now
View attachment 286771
Problem Reporting zip up

Your _BCM/_BQC/_BCL methods are at a different path: _SB.PCI0.GFX0.DD1F (eg. DD1F instead of DD02).
Look at SSDT-2-SaSsdt.aml.
You will need to change the DD02 and use External to reach the methods (because they are in a separate file).
For example, here is fixed PNLF._BCM:
Code:
                        // _BCM/_BQC: set/get for brightness level
                        Method (_BCM, 1, NotSerialized)
                        {
                            // Update backlight via existing DSDT methods
                            External(^^DD1F._BCM, MethodObj)
                            ^^DD1F._BCM(Arg0)
                        }

You end up with this:
Code:
                Device (GFX0)
                {
                    Name (_ADR, 0x00020000)  // _ADR: Address
                    Device (PNLF)
                    {
                        // normal PNLF declares (note some of this probably not necessary)
                        Name (_ADR, Zero)
                        Name (_HID, EisaId ("APP0002"))
                        Name (_CID, "backlight")
                        Name (_UID, 10)
                        Name (_STA, 0x0B)
                        // _BCM/_BQC: set/get for brightness level
                        Method (_BCM, 1, NotSerialized)
                        {
                            // Update backlight via existing DSDT methods
                            External(^^DD1F._BCM, MethodObj)
                            ^^DD1F._BCM(Arg0)
                        }
                        Method (_BQC, 0, NotSerialized)
                        {
                             External(^^DD1F._BQC, MethodObj)
                            Return(^^DD1F._BQC())
                        }
                        Method (_BCL, 0, NotSerialized)
                        {
                             External(^^DD1F._BCL, MethodObj)
                            Return(^^DD1F._BCL())
                        }
                        Method (_DOS, 1, NotSerialized)
                        {
                            External(^^_DOS, MethodObj)
                            ^^_DOS(Arg0)
                        }
                        // extended _BCM/_BQC for setting "in between" levels
                        Method (XBCM, 1, NotSerialized)
                        {
                            // Update backlight via existing DSDT methods
                            ^^DD1F._BCM(Arg0)
                        }
                        Method (XBQC, 0, NotSerialized)
                        {
                            Return(^^DD1F._BQC())
                        }
                        // Use XOPT=1 to disable smooth transitions
                        Name (XOPT, Zero)
                        // XRGL/XRGH: defines the valid range
                        Method (XRGL, 0, NotSerialized)
                        {
                            Store(_BCL(), Local0)
                            Store(DerefOf(Index(Local0, 2)), Local0)
                            Return(Local0)
                        }
                        Method (XRGH, 0, NotSerialized)
                        {
                            Store(_BCL(), Local0)
                            Store(DerefOf(Index(Local0, Subtract(SizeOf(Local0), 1))), Local0)
                            Return(Local0)
                        }
                    }

It would be wise to change it in your copy of the patch in case you have to do it again.
 
Your _BCM/_BQC/_BCL methods are at a different path: _SB.PCI0.GFX0.DD1F (eg. DD1F instead of DD02).
Look at SSDT-2-SaSsdt.aml.
You will need to change the DD02 and use External to reach the methods (because they are in a separate file).
For example, here is fixed PNLF._BCM:
Code:
                        // _BCM/_BQC: set/get for brightness level
                        Method (_BCM, 1, NotSerialized)
                        {
                            // Update backlight via existing DSDT methods
                            External(^^DD1F._BCM, MethodObj)
                            ^^DD1F._BCM(Arg0)
                        }

You end up with this:
Code:
                Device (GFX0)
                {
                    Name (_ADR, 0x00020000)  // _ADR: Address
                    Device (PNLF)
                    {
                        // normal PNLF declares (note some of this probably not necessary)
                        Name (_ADR, Zero)
                        Name (_HID, EisaId ("APP0002"))
                        Name (_CID, "backlight")
                        Name (_UID, 10)
                        Name (_STA, 0x0B)
                        // _BCM/_BQC: set/get for brightness level
                        Method (_BCM, 1, NotSerialized)
                        {
                            // Update backlight via existing DSDT methods
                            External(^^DD1F._BCM, MethodObj)
                            ^^DD1F._BCM(Arg0)
                        }
                        Method (_BQC, 0, NotSerialized)
                        {
                             External(^^DD1F._BQC, MethodObj)
                            Return(^^DD1F._BQC())
                        }
                        Method (_BCL, 0, NotSerialized)
                        {
                             External(^^DD1F._BCL, MethodObj)
                            Return(^^DD1F._BCL())
                        }
                        Method (_DOS, 1, NotSerialized)
                        {
                            External(^^_DOS, MethodObj)
                            ^^_DOS(Arg0)
                        }
                        // extended _BCM/_BQC for setting "in between" levels
                        Method (XBCM, 1, NotSerialized)
                        {
                            // Update backlight via existing DSDT methods
                            ^^DD1F._BCM(Arg0)
                        }
                        Method (XBQC, 0, NotSerialized)
                        {
                            Return(^^DD1F._BQC())
                        }
                        // Use XOPT=1 to disable smooth transitions
                        Name (XOPT, Zero)
                        // XRGL/XRGH: defines the valid range
                        Method (XRGL, 0, NotSerialized)
                        {
                            Store(_BCL(), Local0)
                            Store(DerefOf(Index(Local0, 2)), Local0)
                            Return(Local0)
                        }
                        Method (XRGH, 0, NotSerialized)
                        {
                            Store(_BCL(), Local0)
                            Store(DerefOf(Index(Local0, Subtract(SizeOf(Local0), 1))), Local0)
                            Return(Local0)
                        }
                    }

It would be wise to change it in your copy of the patch in case you have to do it again.
Wow thanks!! Sorry for being too noob, but this is too much over hard for me.
As i understood i have to put this code
Code:
                Device (GFX0)
                {
                    Name (_ADR, 0x00020000)  // _ADR: Address
                    Device (PNLF)
                    {
                        // normal PNLF declares (note some of this probably not necessary)
                        Name (_ADR, Zero)
                        Name (_HID, EisaId ("APP0002"))
                        Name (_CID, "backlight")
                        Name (_UID, 10)
                        Name (_STA, 0x0B)
                        // _BCM/_BQC: set/get for brightness level
                        Method (_BCM, 1, NotSerialized)
                        {
                            // Update backlight via existing DSDT methods
                            External(^^DD1F._BCM, MethodObj)
                            ^^DD1F._BCM(Arg0)
                        }
                        Method (_BQC, 0, NotSerialized)
                        {
                             External(^^DD1F._BQC, MethodObj)
                            Return(^^DD1F._BQC())
                        }
                        Method (_BCL, 0, NotSerialized)
                        {
                             External(^^DD1F._BCL, MethodObj)
                            Return(^^DD1F._BCL())
                        }
                        Method (_DOS, 1, NotSerialized)
                        {
                            External(^^_DOS, MethodObj)
                            ^^_DOS(Arg0)
                        }
                        // extended _BCM/_BQC for setting "in between" levels
                        Method (XBCM, 1, NotSerialized)
                        {
                            // Update backlight via existing DSDT methods
                            ^^DD1F._BCM(Arg0)
                        }
                        Method (XBQC, 0, NotSerialized)
                        {
                            Return(^^DD1F._BQC())
                        }
                        // Use XOPT=1 to disable smooth transitions
                        Name (XOPT, Zero)
                        // XRGL/XRGH: defines the valid range
                        Method (XRGL, 0, NotSerialized)
                        {
                            Store(_BCL(), Local0)
                            Store(DerefOf(Index(Local0, 2)), Local0)
                            Return(Local0)
                        }
                        Method (XRGH, 0, NotSerialized)
                        {
                            Store(_BCL(), Local0)
                            Store(DerefOf(Index(Local0, Subtract(SizeOf(Local0), 1))), Local0)
                            Return(Local0)
                        }
                    }
into the file SDST.-sa-ssdt?? and compile and save?
Or i have to apply the ACPI100 Brightness Patch, then replace all DD02 with DD1F and save?
If i have to replace DD02 with DD1F, it seems that when i go apply the patch, it says "4 patch, 0 changes.." and i cannot apply. Why?
Thanks you sorry for awkward requestion
 
Last edited:
Wow thanks!! Sorry for being too noob, but this is too much over hard for me.
As i understood i have to put this code
Code:
                Device (GFX0)
                {
                    Name (_ADR, 0x00020000)  // _ADR: Address
                    Device (PNLF)
                    {
                        // normal PNLF declares (note some of this probably not necessary)
                        Name (_ADR, Zero)
                        Name (_HID, EisaId ("APP0002"))
                        Name (_CID, "backlight")
                        Name (_UID, 10)
                        Name (_STA, 0x0B)
                        // _BCM/_BQC: set/get for brightness level
                        Method (_BCM, 1, NotSerialized)
                        {
                            // Update backlight via existing DSDT methods
                            External(^^DD1F._BCM, MethodObj)
                            ^^DD1F._BCM(Arg0)
                        }
                        Method (_BQC, 0, NotSerialized)
                        {
                             External(^^DD1F._BQC, MethodObj)
                            Return(^^DD1F._BQC())
                        }
                        Method (_BCL, 0, NotSerialized)
                        {
                             External(^^DD1F._BCL, MethodObj)
                            Return(^^DD1F._BCL())
                        }
                        Method (_DOS, 1, NotSerialized)
                        {
                            External(^^_DOS, MethodObj)
                            ^^_DOS(Arg0)
                        }
                        // extended _BCM/_BQC for setting "in between" levels
                        Method (XBCM, 1, NotSerialized)
                        {
                            // Update backlight via existing DSDT methods
                            ^^DD1F._BCM(Arg0)
                        }
                        Method (XBQC, 0, NotSerialized)
                        {
                            Return(^^DD1F._BQC())
                        }
                        // Use XOPT=1 to disable smooth transitions
                        Name (XOPT, Zero)
                        // XRGL/XRGH: defines the valid range
                        Method (XRGL, 0, NotSerialized)
                        {
                            Store(_BCL(), Local0)
                            Store(DerefOf(Index(Local0, 2)), Local0)
                            Return(Local0)
                        }
                        Method (XRGH, 0, NotSerialized)
                        {
                            Store(_BCL(), Local0)
                            Store(DerefOf(Index(Local0, Subtract(SizeOf(Local0), 1))), Local0)
                            Return(Local0)
                        }
                    }
into the file SDST.-sa-ssdt?? and compile and save?
Or i have to apply the ACPI100 Brightness Patch, then replace all DD02 with DD1F and save?
If i have to replace DD02 with DD1F, it seems that when i go apply the patch, it says "4 patch, 0 changes.." and i cannot apply. Why?
Thanks you sorry for awkward requisition!

Apply the patch to DSDT.
Then fix, as described.
My mention of the SSDT is just so you know where the DD1F instead of DD02 came from.
(the idea behind the ACPI 100 patch is that it creates a PNLF device that calls native ACPI methods for backlight control).
For further information/background, you will need to read the ACPI specification.
 
Apply the patch to DSDT.
Then fix, as described.
My mention of the SSDT is just so you know where the DD1F instead of DD02 came from.
(the idea behind the ACPI 100 patch is that it creates a PNLF device that calls native ACPI methods for backlight control).
For further information/background, you will need to read the ACPI specification.
Thanks!
Now in patched i have to take just DSDT.aml, or put also the file SDST-sa-SDSt? thanks
 
Thanks!
Now in patched i have to take just DSDT.aml, or put also the file SDST-sa-SDSt? thanks

No need to include any SSDTs so far (you have no dual GPU, therefore no need to patch SSDTs, except for renames which are done in config.plist).
 
No need to include any SSDTs so far (you have no dual GPU, therefore no need to patch SSDTs, except for renames which are done in config.plist).
Okay thanks!
Booted with the patched DSDT and ACPIBacklight.kext in CLover/Other.
But no result, FN Keys and slider, still work, But no brightness change
-- For now battery seem to work (i hope well)--
Posted Zip Files so if you would like to check
For further information/background, you will need to read the ACPI specification.
Also what do you mean? I have to read the ACPI HW specification from the IOREG?
If yes, i really would like to be able to do it! :crazy: <--- this is my face looking at strings.
There is any guide to how to interpretate IOREG?
Thanks;)
 

Attachments

  • ProblemReporting.zip
    1.9 MB · Views: 59
Okay thanks!
Booted with the patched DSDT and ACPIBacklight.kext in CLover/Other.
But no result, FN Keys and slider, still work, But no brightness change
-- For now battery seem to work (i hope well)--
Posted Zip Files so if you would like to check

Your ioreg shows IntelBacklight.kext installed. It overrides ACPIBacklight.kext (in the case they are both installed).
Delete IntelBacklight.kext. Make sure ACPIBacklight.kext is installed.

Also what do you mean? I have to read the ACPI HW specification from the IOREG?

I'm saying if you're interested in how ACPI works, you should read the ACPI specification from Intel.
 
Status
Not open for further replies.
Back
Top