Jump to content
Sign in to follow this  
Followers 0
cjin5

Brightness DSDT Patching

73 posts in this topic

Recommended Posts

 

Hi


 


I have some trouble patching my DSDT to get my brightness working. I tried to patch my DSDT (thanks again for RehabMan for compiling the DSDT for me). I followed the tutorial  made by "ivik" at http://www.insanelymac.com/forum/topic/236835-updated-2012-genericbrightnesskext/. I tried both versions. None of them worked. I am wondering if I am doing something wrong.


 


From what I understand in the instruction, I need to input the code to my DSDT. I have no experience in programming. I am wondering what is the best way to input the code in DSDT editor. the format of the code from the aforementioned tutorial seems to be off. Do i reformat the code of I can just copy and paste?


 


Also, the tutorial aforementioned stated " ...you should find that device in dsdt. Under that device, there are other devices (usually LCD, CRT, TV...). Look for the device that has those methods (_BCM, _BCQ and _BCL) ". I cannot find any of these terms in my DSDT. I am not sure of the reason. Is that because of my GPU?  I also read that in order for brightness to work, the display0 should be AppleBacklightDisplay. but I only have AppleDisplay


 


I am currently using a intel HD 4600 GPU. the GPU is recognized, but with only 64mb of vram. I tried different Intel Azul FB value with GraphicsEnabler=Y , and none of them worked. and my scroll bar keeps flickering when I scroll. Similar thing happens in Launchpad.


 


Any help or would be appreciated. My DSDT, along with my IOReg and IOService screenshot are attached below.


 


CJ


 

DSDT.aml.zip

IOReg.tiff

System Info.tiff

Share this post


Link to post
Share on other sites
Advertisement

Hi

 

I have some trouble patching my DSDT to get my brightness working. I tried to patch my DSDT (thanks again for RehabMan for compiling the DSDT for me). I followed the tutorial  made by "ivik" at http://www.insanelymac.com/forum/topic/236835-updated-2012-genericbrightnesskext/. I tried both versions. None of them worked. I am wondering if I am doing something wrong.

 

From what I understand in the instruction, I need to input the code to my DSDT. I have no experience in programming. I am wondering what is the best way to input the code in DSDT editor. the format of the code from the aforementioned tutorial seems to be off. Do i reformat the code of I can just copy and paste?

 

Also, the tutorial aforementioned stated " ...you should find that device in dsdt. Under that device, there are other devices (usually LCD, CRT, TV...). Look for the device that has those methods (_BCM, _BCQ and _BCL) ". I cannot find any of these terms in my DSDT. I am not sure of the reason. Is that because of my GPU?  I also read that in order for brightness to work, the display0 should be AppleBacklightDisplay. but I only have AppleDisplay

 

I am currently using a intel HD 4600 GPU. the GPU is recognized, but with only 64mb of vram. I tried different Intel Azul FB value with GraphicsEnabler=Y , and none of them worked. and my scroll bar keeps flickering when I scroll. Similar thing happens in Launchpad.

 

Any help or would be appreciated. My DSDT, along with my IOReg and IOService screenshot are attached below.

 

CJ

It is likely your ACPI backlight methods are not in DSDT. For most newer Haswell laptops, they are in one of the SSDTs.

 

Note that brightness with not work until you have QE/CI working for your graphics. (It is IntelAzulFB, not Intel Azul FB).

Share this post


Link to post
Share on other sites

It is likely your ACPI backlight methods are not in DSDT. For most newer Haswell laptops, they are in one of the SSDTs.

 

Note that brightness with not work until you have QE/CI working for your graphics. (It is IntelAzulFB, not Intel Azul FB).

 

 

Hi, Rehabman. Thank you for help me again. You are right. I found "Device GFX0" on one of the SSDT I compiled using Aida from Window OS. However, when I tried to compile it, I got 4 "Syntax error, unexpected PARSEOP_INTERGER" errors. They all pointed to 0x09 from 

 

    Method (_PRW, 0, NotSerialized)

    {

          Return (GPRW)

          0x09

          0x04

    } 

 

Do you know what could be wrong? I attached my SSDT file along with the reply. Thanks.

ssdt.aml.zip

Share this post


Link to post
Share on other sites

Hi, Rehabman. Thank you for help me again. You are right. I found "Device GFX0" on one of the SSDT I compiled using Aida from Window OS. However, when I tried to compile it, I got 4 "Syntax error, unexpected PARSEOP_INTERGER" errors. They all pointed to 0x09 from 

 

    Method (_PRW, 0, NotSerialized)

    {

          Return (GPRW)

          0x09

          0x04

    } 

 

Do you know what could be wrong? I attached my SSDT file along with the reply. Thanks.

Make sure you disassemble it correctly. You must disassemble using iasl and all SSDT/DSDT:

# where ssdtX is the SSDT you're trying to disassemble.
iasl -e [all ssdt except ssdtX.aml] DSDT.aml -d ssdtX.aml
You must use a recent build of iasl.

Share this post


Link to post
Share on other sites

Make sure you disassemble it correctly. You must disassemble using iasl and all SSDT/DSDT:

# where ssdtX is the SSDT you're trying to disassemble.
iasl -e [all ssdt except ssdtX.aml] DSDT.aml -d ssdtX.aml
You must use a recent build of iasl.

 

 

Hello again, thanks for the info.  I tried the command line ./iasl -e [all ssdt except ssdtX.aml] DSDT.aml -d ssdtX.aml. But It gave the following error.

 

Loading Acpi table from file   ssdt.aml - Length 00013510 (0034C6)

Acpi table [sSDT] successfully installed and loaded

Loading Acpi table from file   DSDT.aml - Length 00052475 (00CCFB)

Acpi table [DSDT] successfully installed and loaded

Pass 1 parse of [DSDT]

Pass 2 parse of [DSDT]

Could not open input file: No such file or directory

 

 

Here is my procedure. I put my DDST.aml (the one you complied for me) and my SSDT.aml (the one I included in the post )into the same folder as iasl and ran the command line within the folder. Is it the correct procedure?

Share this post


Link to post
Share on other sites

Hello again, thanks for the info.  I tried the command line ./iasl -e [all ssdt except ssdtX.aml] DSDT.aml -d ssdtX.aml. But It gave the following error.

 

Loading Acpi table from file   ssdt.aml - Length 00013510 (0034C6)

Acpi table [sSDT] successfully installed and loaded

Loading Acpi table from file   DSDT.aml - Length 00052475 (00CCFB)

Acpi table [DSDT] successfully installed and loaded

Pass 1 parse of [DSDT]

Pass 2 parse of [DSDT]

Could not open input file: No such file or directory

 

 

Here is my procedure. I put my DDST.aml (the one you complied for me) and my SSDT.aml (the one I included in the post )into the same folder as iasl and ran the command line within the folder. Is it the correct procedure?

What was the command line you used?

Share this post


Link to post
Share on other sites

What was the command line you used?

 

The command line I used is the one you gave to me  "./iasl -e [all ssdt except ssdt.amlDSDT.aml -d ssdt.aml."

Share this post


Link to post
Share on other sites

The command line I used is the one you gave to me  "./iasl -e [all ssdt except ssdt.amlDSDT.aml -d ssdt.aml."

The "[all ssdt execept..]" part is a place holder. You must fill it in with the actual ssdt file name(s).

Share this post


Link to post
Share on other sites

The "[all ssdt execept..]" part is a place holder. You must fill it in with the actual ssdt file name(s).

 

excuse my noob move. :D I finished the compile, it was successful. I don't know what to say. Your solution works every time!

 

So I would like to know what is your suggestion to patch the SSDT. Do you think that I should patched the the brightness or start with patching the graphic card? And can I just copy and paste the coded content to the SSDT in the tutorial mentioned earlier (http://www.insanelymac.com/forum/topic/236835-updated-2012-genericbrightnesskext/.)? 

Share this post


Link to post
Share on other sites

excuse my noob move. :D I finished the compile, it was successful. I don't know what to say. Your solution works every time!

 

So I would like to know what is your suggestion to patch the SSDT. Do you think that I should patched the the brightness or start with patching the graphic card? And can I just copy and paste the coded content to the SSDT in the tutorial mentioned earlier (http://www.insanelymac.com/forum/topic/236835-updated-2012-genericbrightnesskext/.)? 

What is your graphics hardware?

Share this post


Link to post
Share on other sites

my graphic hardware is intel HD 4600

 

 

My graphic hardware is Intel HD 4600

You should apply "Brightness Fix (Haswell)" from: https://github.com/RehabMan/Laptop-DSDT-Patch

Then install: https://github.com/RehabMan/OS-X-ACPI-Backlight

 

Note: "Rename GFX0 to IGPU" is a prerequisite and must be applied to all DSDT/SSDT that you're loading.

Share this post


Link to post
Share on other sites

So, I need to replace very "GFX0" word in DDST/SSDT with word "IGPU"?

The repo has a patch for renaming... "Rename GFX0 to IGPU"

Share this post


Link to post
Share on other sites

The repo has a patch for renaming... "Rename GFX0 to IGPU"

 

Thank you! I will try that now and report back the result.

Share this post


Link to post
Share on other sites

The repo has a patch for renaming... "Rename GFX0 to IGPU"

 

There are something strange about ssdt.aml. After the compile and saving was successful, I opened the compiled ssdt.aml again, it restate the four error message I got earlier. So I decided to take the SSDT out of /Extra folder and try with only dsdt.aml. The renaming patch  works great, but after the Haswell brightness patch. I got 2 errors, which were

   

   Object does not exist (\_SB.PCI0.IGPU.BAR1)

   Object not found or not accessible from scope (^^PCI0.IGPU._DOS)

 

I attached the DSL file with the reply.

DSDT.zip

Share this post


Link to post
Share on other sites

There are something strange about ssdt.aml. After the compile and saving was successful, I opened the compiled ssdt.aml again, it restate the four error message I got earlier. So I decided to take the SSDT out of /Extra folder and try with only dsdt.aml. The renaming patch  works great, but after the Haswell brightness patch. I got 2 errors, which were

   

   Object does not exist (\_SB.PCI0.IGPU.BAR1)

   Object not found or not accessible from scope (^^PCI0.IGPU._DOS)

 

I attached the DSL file with the reply.

"Brightness Fix (Hawell)" should be applied only to the SSDT containing the definition of your GFX0 device, not DSDT (unless DSDT contains your GFX0 device definition, of course).

 

Note: It is normal to have errors when you open the SSDT after patching, compiling, saving, etc. The errors are caused by an incorrect disassembly process (already discussed above). Disassemble it correctly, and there will be no errors.

Share this post


Link to post
Share on other sites

"Brightness Fix (Hawell)" should be applied only to the SSDT containing the definition of your GFX0 device, not DSDT (unless DSDT contains your GFX0 device definition, of course).

 

Note: It is normal to have errors when you open the SSDT after patching, compiling, saving, etc. The errors are caused by an incorrect disassembly process (already discussed above). Disassemble it correctly, and there will be no errors.

 

Hi, Unfortunately, it did not work. does it matter if DSDT is in capital or not? I put the dsdt and ssdt file all the /Extra folder. and none of them are in root.

Share this post


Link to post
Share on other sites

Hi, Unfortunately, it did not work. does it matter if DSDT is in capital or not? I put the dsdt and ssdt file all the /Extra folder. and none of them are in root.

Post ioreg using IORegistryExplorer v2.1.

Share this post


Link to post
Share on other sites

As requested, the ioreg file is attached.

From your bootlog, it does not appear there are any DSDT or SSDTs loading from /Extra. Are you certain you installed them correctly? Also, you should use DropSSDT=Yes so you can replace the SSDTs with the patched ones.

 

And your HD4600 graphics drivers are not loading. You must have working HD4600 before attempting to fix brightness.

 

I assume this is a laptop. You should try IntelAzulFB=12 GraphicsEnabler=Y to activate your HD4600.

Share this post


Link to post
Share on other sites

From your bootlog, it does not appear there are any DSDT or SSDTs loading from /Extra. Are you certain you installed them correctly? Also, you should use DropSSDT=Yes so you can replace the SSDTs with the patched ones.

 

And your HD4600 graphics drivers are not loading. You must have working HD4600 before attempting to fix brightness.

 

I assume this is a laptop. You should try IntelAzulFB=12 GraphicsEnabler=Y to activate your HD4600.

 

I put one DSDT and one SSDT in the /Extra and DropSSDT=Yes   I have four SSDTs extracted using Aida from Windows and I compiled them into one by using the command line you  provided.  Like you said, I cannot get the HD 4600 to work (tried with different values of IntelAzulFB=12)   :( 

I forgot to add that my Kernel Extension Info states that "No Kext Loaded"

Share this post


Link to post
Share on other sites

I put one DSDT and one SSDT in the /Extra and DropSSDT=Yes  

 

 I have four SSDTs extracted using Aida from Windows and I compiled them into one by using the command line you  provided.  Like you said, I cannot get the HD 4600 to work (tried with different values of IntelAzulFB=12)   :( 

IntelAzulFB=12 does nothing unless you also use GraphicsEnabler=Y. According to your ioreg, you are not using IntelAzulFB=12.

 

Also, according to your ioreg, you have no DSDT/SSDT files in /Extra. Check bdmesg to see what the bootloader is doing.

Share this post


Link to post
Share on other sites
 

 


IntelAzulFB=12 does nothing unless you also use GraphicsEnabler=Y. According to your ioreg, you are not using IntelAzulFB=12.

Also, according to your ioreg, you have no DSDT/SSDT files in /Extra. Check bdmesg to see what the bootloader is doing.

 

For some reason, I think my DSDT is not loading. I attached the image of bdmesg and boot plist below.

post-1303494-0-58013800-1392940379_thumb.jpg

post-1303494-0-86270800-1392940709_thumb.jpg

Share this post


Link to post
Share on other sites

For some reason, I think my DSDT is not loading. I attached the image of bdmesg and boot plist below.

I know that already. I already looked at your bdmesg in ioreg. You need to look at the contents of your /Extra folder.

 

FYI: DSDT=/Extra doesn't work. The option must be used to identify the name of a *file*, not a directory. I would remove the option as it is not necessary in the case the DSDT is already in /Extra/dsdt.aml.

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
Sign in to follow this  
Followers 0

  • Recently Browsing   0 members

    No registered users viewing this page.

×