Jump to content

Brightness DSDT Patching


cjin5
 Share

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

Link to comment
Share on other sites

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

Link to comment
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

Link to comment
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.
Link to comment
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?

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

Link to comment
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).

Link to comment
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/.)? 

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

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

Link to comment
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

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

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

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

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

Link to comment
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"

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

Link to comment
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

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

Link to comment
Share on other sites

 Share

×
×
  • Create New...