Jump to content

Brightness DSDT Patching


cjin5
 Share

73 posts in this topic

Recommended Posts

Not sure what you mean by 'basis for BIOS... Lenovo locked'?

 

Make sure you used dart=0 as well. Is your trouble booting the installer or is this post install? Always boot verbose (-v), so you know what is happening. And post a pic of the result if you want further assistance.

 

This is actually post install, I can boot into OS. It is just that the graphic card does not have acceleration. I will try to removed all nvidia related kext and all intel HD2000, 3000 and 4000 kext, I kept intel HD 5000 kext, and see if that works.

Link to comment
Share on other sites

This is actually post install, I can boot into OS. It is just that the graphic card does not have acceleration. I will try to removed all nvidia related kext and all intel HD2000, 3000 and 4000 kext, I kept intel HD 5000 kext, and see if that works.

If you only have HD4600, there is no reason to remove any graphics kexts.

Link to comment
Share on other sites

If you only have HD4600, there is no reason to remove any graphics kexts.

 

OK, thanks again for the information.  I am really out of option now. I think I tried all value of IntelAzulFB with GraphicEnabler=Yes. So, is this the only way to make the HD 4600 works?

Link to comment
Share on other sites

OK, thanks again for the information.  I am really out of option now. I think I tried all value of IntelAzulFB with GraphicEnabler=Yes. So, is this the only way to make the HD 4600 works?

You must also use dart=0.

 

You should respond with a photo of verbose boot:

IntelAzulFB=12 GraphicsEnabler=Y dart=0 -v

Link to comment
Share on other sites

I booted with the flags provided. Here are the photos.

Did it just stop there, or did it continue? Do you have a login screen if you plug an external HDMI monitor?

 

You may need to inject EDID, which would require DSDT patches (or maybe Chameleon can do it with some option I'm not aware of... Clover can inject EDID automatically). You will find EDID inject patch at: https://github.com/RehabMan/Laptop-DSDT-Patch ("Generic with EDID").

Link to comment
Share on other sites

Did it just stop there, or did it continue? Do you have a login screen if you plug an external HDMI monitor?

 

You may need to inject EDID, which would require DSDT patches (or maybe Chameleon can do it with some option I'm not aware of... Clover can inject EDID automatically). You will find EDID inject patch at: https://github.com/RehabMan/Laptop-DSDT-Patch ("Generic with EDID").

 

After that, I can get to the login screen, he HD4600 is recognized, but only with 64mb of vram. So do you suggest I try the EDID method? 

 

Also, I was looking at your EDID patch, it states that I need "AAPL,snb-platform-id", "AAPL,ig-platform-id", and "128 bytes of EDID data". Do you know where I can find these IDs and in which part of the patch should I put the IDs? Thanks

Link to comment
Share on other sites

After that, I can get to the login screen, he HD4600 is recognized, but only with 64mb of vram. So do you suggest I try the EDID method?

Boot with:

IntelAzulFB=12 GraphicsEnabler=Y dart=0 -v -f

 

Then capture ioreg with IORegistryExplorer v2.1 and upload it.

Link to comment
Share on other sites

I cannot boot with -f flag (have missing controller transport error), so I boot with only IntelAzulFB=12 GraphicsEnabler=Y dart=0 -v . and attached the ioreg file.

ig-platform-id is set incorrectly. (it is set 0x01660003). It is being set in your /Extra/SSDT.aml.

 

01660003 is not appropriate for Haswell hardware. It is for Ivy bridge/HD4000 1366x768 screen.

Link to comment
Share on other sites

ig-platform-id is set incorrectly. (it is set 0x01660003). It is being set in your /Extra/SSDT.aml.

 

01660003 is not appropriate for Haswell hardware. It is for Ivy bridge/HD4000 1366x768 screen.

 

You are right ! it is caused by SSDT. I finally got the acceleration after I removed the SSDT.aml. Thank you so much!  So if I want to keep the custom SSDT.aml, which value do you recommend to put instead of 0x01660003?

Link to comment
Share on other sites

You are right ! it is caused by SSDT. I finally got the acceleration after I removed the SSDT.aml. Thank you so much!  So if I want to keep the custom SSDT.aml, which value do you recommend to put instead of 0x01660003?

You should start over with your SSDT. The injection you have there is completely unnecessary when using IntelAzulFB.

 

Now you can go back to figuring out brightness...

Link to comment
Share on other sites

You should start over with your SSDT. The injection you have there is completely unnecessary when using IntelAzulFB.

 

Now you can go back to figuring out brightness...

 

I just remembered that I may not modified the SSDT, the custom SSDT I am using right now is the original combination of 4 SSDTs that I extracted using Aida. So if that is the case, how do I change the 0x01660003 to a suitable value? and what suitable value would that be?

Link to comment
Share on other sites

I just remembered that I may not modified the SSDT, the custom SSDT I am using right now is the original combination of 4 SSDTs that I extracted using Aida. So if that is the case, how do I change the 0x01660003 to a suitable value? and what suitable value would that be?

Remove the _DSM entirely. You don't need it. And I would recommend against "combining SSDTs" It is not necessary and can only lead to errors.

Link to comment
Share on other sites

Remove the _DSM entirely. You don't need it. And I would recommend against "combining SSDTs" It is not necessary and can only lead to errors.

 

The reason I was combining the SSDTs is because if I just use one SSDTs to complie from .dsl to .aml, i will get 4 errors, Combine the SSDTs somehow fixed those errors and allow me to save SSDT to .aml format. It is very strange.

Link to comment
Share on other sites

The reason I was combining the SSDTs is because if I just use one SSDTs to complie from .dsl to .aml, i will get 4 errors, Combine the SSDTs somehow fixed those errors and allow me to save SSDT to .aml format. It is very strange.

Disassemble the SSDTs correctly and you won't have that issue.

 

Put them all in a single directory (along with DSDT), then disassemble with recent build of iasl:

iasl -da *.aml
Then work with the resulting DSL files.
Link to comment
Share on other sites

Disassemble the SSDTs correctly and you won't have that issue.

 

Put them all in a single directory (along with DSDT), then disassemble with recent build of iasl:

iasl -da *.aml
Then work with the resulting DSL files.

 

 

Hi, I tried to patch my SSDT with your GFX to IGPU patch and Brightness Haswell patch along with your ACPIbacklight.kext. I have the keyboard hotkey working. I can see the small sun, but adjusting the brightness will not have any effect on the backlight of laptop. I look at the AppleBacklighDisplay string my IOreg file, I can see that my currentpowerstate and max powerstate are both at 0x30. Do you know what could went wrong? I attached my IOReg file.

cj’s MacBook Air 1.ioreg.zip

Link to comment
Share on other sites

Hi, I tried to patch my SSDT with your GFX to IGPU patch and Brightness Haswell patch along with your ACPIbacklight.kext. I have the keyboard hotkey working. I can see the small sun, but adjusting the brightness will not have any effect on the backlight of laptop. I look at the AppleBacklighDisplay string my IOreg file, I can see that my currentpowerstate and max powerstate are both at 0x30. Do you know what could went wrong? I attached my IOReg file.

You have a PNLF device in DSDT and the SSDT. DSDT version will override/prevent SSDT version. Remove PNLF from DSDT.

 

Also, "Rename GFX0 to IGPU" should be applied to both DSDT and SSDT (you have renamed only SSDT).

Link to comment
Share on other sites

You have a PNLF device in DSDT and the SSDT. DSDT version will override/prevent SSDT version. Remove PNLF from DSDT.

 

Also, "Rename GFX0 to IGPU" should be applied to both DSDT and SSDT (you have renamed only SSDT).

 

You are truly a Hackintosh legend! My brightness is finally working! I really appreciate all the help you gave to me. Although it is a long process, but I really learned a lot knowledge related to the Hackintosh. Thank you again!

Link to comment
Share on other sites

You are truly a Hackintosh legend! My brightness is finally working! I really appreciate all the help you gave to me. Although it is a long process, but I really learned a lot knowledge related to the Hackintosh. Thank you again!

Glad you got it working. A bit of a round-about, but...

  • Like 1
Link to comment
Share on other sites

Hello Rehabman,

 

I hope you can help me too. I have been trying hard to fix the brightness in my friend's Sony vpceh25en laptop. Almost everything is working except for the brightness.

I followed this guide http://www.insanelymac.com/forum/topic/268219-acpi-backlight-driver/ and tried patching the dsdt file. I am not an expert and mostly whatever I did was trial and error.

 

First I added the usual PNLF patch. The brightness slider did no appear. I followed the same guide and tried adding the properties. I have been fiddling with the dsdt file ever since and I have not succeeded in loading the brightness slider. 

I deleted the _BCL, _BCM _BQC methods in all other devices other than DGPU.LCD
The ACPIBacklight kext seems to load as I can see the following in the kernel log.

ACPIBacklightPanel: ACPI Methods _DOS _BCL _BCM _BQC found. Device path: _SB.PNLF
ACPIBacklightPanel: getIndexForLevel(50) not found in _BCL table !
ACPIBacklightPanel: getIndexForLevel(255) not found in _BCL table !
ACPIBacklightPanel: Version 1.2

The device path was ...DGPU.LCD when I did not add _BCL table to PNLF device.

 

I went through the forum thread, but couldn't fix the index issue. I have tried changing the BCL tables by adding it from various threads including your github page.

 

The dsdt file is pretty messed up. :(

 

In the Display preferences, the image is that of a computer monitor instead of a laptop screen. Does that mean that my screen is not detected as a laptop one?

 

 

I am attaching the following.

dsdt_before.aml --> The base dsdt, the one that does not have brightness edits. I deleted EHC2 device as it was not allowing the laptop to sleep. I have also added some audio patches.

dsdt_after.aml --> The one I am working with now, after trying all the brightness patches.

ioreg file

 

Other info:

Graphics card is Nvidia 410m

Using FakeSMC and patched ACPIPlatform

Using the SSDT file which you had created for all i3/i5/i7 processors.

 

 

Thanks

dsdt.zip

SumMac specs.ioreg.zip

post-1011795-0-14067600-1393239818_thumb.png

Link to comment
Share on other sites

Hello Rehabman,

 

I hope you can help me too. I have been trying hard to fix the brightness in my friend's Sony vpceh25en laptop. Almost everything is working except for the brightness.

I followed this guide http://www.insanelymac.com/forum/topic/268219-acpi-backlight-driver/ and tried patching the dsdt file. I am not an expert and mostly whatever I did was trial and error.

 

First I added the usual PNLF patch. The brightness slider did no appear. I followed the same guide and tried adding the properties. I have been fiddling with the dsdt file ever since and I have not succeeded in loading the brightness slider. 

I deleted the _BCL, _BCM _BQC methods in all other devices other than DGPU.LCD

The ACPIBacklight kext seems to load as I can see the following in the kernel log.

ACPIBacklightPanel: ACPI Methods _DOS _BCL _BCM _BQC found. Device path: _SB.PNLF
ACPIBacklightPanel: getIndexForLevel(50) not found in _BCL table !
ACPIBacklightPanel: getIndexForLevel(255) not found in _BCL table !
ACPIBacklightPanel: Version 1.2
The device path was ...DGPU.LCD when I did not add _BCL table to PNLF device.

 

I went through the forum thread, but couldn't fix the index issue. I have tried changing the BCL tables by adding it from various threads including your github page.

 

The dsdt file is pretty messed up. :(

 

In the Display preferences, the image is that of a computer monitor instead of a laptop screen. Does that mean that my screen is not detected as a laptop one?

 

 

I am attaching the following.

dsdt_before.aml --> The base dsdt, the one that does not have brightness edits. I deleted EHC2 device as it was not allowing the laptop to sleep. I have also added some audio patches.

dsdt_after.aml --> The one I am working with now, after trying all the brightness patches.

ioreg file

 

Other info:

Graphics card is Nvidia 410m

Using FakeSMC and patched ACPIPlatform

Using the SSDT file which you had created for all i3/i5/i7 processors.

 

 

Thanks

 

My brightness patches are only for Intel integrated. You have nvidia - different situation entirely...

 

First problem you'll need to solve (looking at your ioreg) is how to make AppleBacklightDisplay load for your display0 (look in ioreg under your graphics device). Currently you have AppleDisplay loaded, which is what loads for external displays (with no backlight control).

 

I would imagine it involves injecting some properties for your nvidia device, but I don't know the details, as I've never dealt with it.

Link to comment
Share on other sites

 Share

×
×
  • Create New...