cjin5 Posted February 19, 2014 Share Posted February 19, 2014 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 More sharing options...
RehabMan Posted February 20, 2014 Share Posted February 20, 2014 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 More sharing options...
cjin5 Posted February 20, 2014 Author Share Posted February 20, 2014 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 More sharing options...
RehabMan Posted February 20, 2014 Share Posted February 20, 2014 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 More sharing options...
cjin5 Posted February 20, 2014 Author Share Posted February 20, 2014 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 More sharing options...
RehabMan Posted February 20, 2014 Share Posted February 20, 2014 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 More sharing options...
cjin5 Posted February 20, 2014 Author Share Posted February 20, 2014 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.aml] DSDT.aml -d ssdt.aml." Link to comment Share on other sites More sharing options...
RehabMan Posted February 20, 2014 Share Posted February 20, 2014 The command line I used is the one you gave to me "./iasl -e [all ssdt except ssdt.aml] DSDT.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 More sharing options...
cjin5 Posted February 20, 2014 Author Share Posted February 20, 2014 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. 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 More sharing options...
RehabMan Posted February 20, 2014 Share Posted February 20, 2014 excuse my noob move. 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 More sharing options...
cjin5 Posted February 20, 2014 Author Share Posted February 20, 2014 my graphic hardware is intel HD 4600 What is your graphics hardware? My graphic hardware is Intel HD 4600 Link to comment Share on other sites More sharing options...
RehabMan Posted February 20, 2014 Share Posted February 20, 2014 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 More sharing options...
cjin5 Posted February 20, 2014 Author Share Posted February 20, 2014 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. So, I need to replace very "GFX0" word in DDST/SSDT with word "IGPU"? Link to comment Share on other sites More sharing options...
RehabMan Posted February 20, 2014 Share Posted February 20, 2014 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" Link to comment Share on other sites More sharing options...
cjin5 Posted February 20, 2014 Author Share Posted February 20, 2014 The repo has a patch for renaming... "Rename GFX0 to IGPU" Thank you! I will try that now and report back the result. Link to comment Share on other sites More sharing options...
cjin5 Posted February 20, 2014 Author Share Posted February 20, 2014 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 More sharing options...
RehabMan Posted February 20, 2014 Share Posted February 20, 2014 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 More sharing options...
cjin5 Posted February 20, 2014 Author Share Posted February 20, 2014 "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 More sharing options...
RehabMan Posted February 20, 2014 Share Posted February 20, 2014 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 More sharing options...
cjin5 Posted February 20, 2014 Author Share Posted February 20, 2014 Post ioreg using IORegistryExplorer v2.1. As requested, the ioreg file is attached. CJ’s Mac Pro.ioreg.zip Link to comment Share on other sites More sharing options...
RehabMan Posted February 20, 2014 Share Posted February 20, 2014 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 More sharing options...
cjin5 Posted February 20, 2014 Author Share Posted February 20, 2014 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 More sharing options...
RehabMan Posted February 20, 2014 Share Posted February 20, 2014 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 More sharing options...
cjin5 Posted February 20, 2014 Author Share Posted February 20, 2014 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. Link to comment Share on other sites More sharing options...
RehabMan Posted February 21, 2014 Share Posted February 21, 2014 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 More sharing options...
Recommended Posts