Jump to content

[Guide] Backlight + Brightness for Intel 8086:0046 (1st gen HD) (GMA 5700MHD)


mnorthern
 Share

182 posts in this topic

Recommended Posts

This issue is a real tough one to troubleshoot remotely; you're going to have to play around with it. Read my post for questions about point 2 and 5; read this for details on point 4.

I follow all of your instruction, now the backlight slider set to min put off my display and in max backlight is low, but i cannot wake from sleep.

Link to comment
Share on other sites

Hello, I tried a lot fixes in my dsdt and some kexts but still I can't login after wake from sleep. Someone can login after wake from sleep (with backlight working)? How fix this issue?

I only have this message in log "The USB device HubDevice (Port 1 of Hub at 0x1a000000) may have caused a wake by issuing a remote wakeup (2)".

 

Regards

Link to comment
Share on other sites

Thank you both for your efforts on bringing this guides, I have been struggling with this wakeup from sleep brightness for weeks, thanks to "jerrywilborn"s simplified guide I can wake my screen from sleep :D , keep :thumbsup_anim: up a good work.

@calmesal

My model is Dell Vostro 3400, which is similar to your 3300, and I'm struggling with the backlight issue after sleep.

Could you please send me your DSDT?

Thanks!

Link to comment
Share on other sites

@calmesal

My model is Dell Vostro 3400, which is similar to your 3300, and I'm struggling with the backlight issue after sleep.

Could you please send me your DSDT?

Thanks!

I applied Jerrywilborns guide and have the same BCL values as him, it work well for my LCD but I still have broblem with restore the value on restart, you may experement with the values to fit for your system.

DSDT.zip

Link to comment
Share on other sites

Felix Chan, can you add the following code to the end of your _WAK method and tell me what happens?

Notify (\_SB.PCI0.VID.LCD0, 0x86)
Notify (\_SB.PCI0.PEG.VID.LCD0, 0x86)
Store (0xFF, \BRLV)
\_SB.PCI0.LPC.EC.BRNS ()

 

 

 

 

 

Calmesal I think I know what you could try.. Can you make a backup of your ACPI BACKLIGHT kext, then copy the original kext to your desktop, show package contents, change the 'BQC use index' property in the Info.plist file to the opposite of whatever it is saying now, then reinstall using kext wizard, and restart. Let me know if anything changed and if you are still getting those messages in your log, thanks

 

EVERYONE, one more thing i forgot to mention

 

You will need the following properties to be injected into your screen's properties. Either via Natit or DSDT (in your GFX0/VID0/graphics device, find or create Method (_DSM, 4, NotSerialized)

and inside it Store (Package ( ) { X }, Local0 )

then call DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))

Return (Local0)

 

where X is the code below:

 

"AAPL,BacklightRestore",
Buffer (0x04)
{
0x01, 0x00, 0x00, 0x00
},

"AAPL,HasPanel",
Buffer (0x04)
{
0x01, 0x00, 0x00, 0x00
},

"AAPL,Haslid",
Buffer (0x04)
{
0x01, 0x00, 0x00, 0x00
},

"AAPL,backlight-control",
Buffer (0x04)
{
0x01, 0x00, 0x00, 0x00
},

"@0,backlight-control",
Buffer (0x04)
{
0x01, 0x00, 0x00, 0x00
},

"@0,AAPL,boot-display",
Buffer (0x04)
{
0x01, 0x00, 0x00, 0x00
},

"@0,built-in",
Buffer ()
{
One
},

Can someone please help me inject _DSM method into my DSDT, I got compile error when I try.

Thanks!

DSDT.aml.zip

Link to comment
Share on other sites

Hi,

 

I still can't get my VGA out after days of struggling. My Intel HD Graphics 5700MHD now has full QE/CI thanks to this guide; however, the VGA output doesn't work and my laptop happens to have no HDMI out :(

 

Here is my dsdt. Would any one help me out?

all.aml.zip

Link to comment
Share on other sites

Hello everybody, first I want to THANK all of you because of all this kexts and fixes for our hackintoshes, and well I've been followed all guides and I can say that I'm writing from my Gateway NV59c and it works perfect!!! or almost perfect, I recently updated to 10.8.3 and reinstall the FB alternate and works like a charm, (even the Shell screensaver). But anyway, getting to the point of this guide for backlight and brightness I'm just very carefully about it because I'm a little confused and I dont wanna mess my installation. I tried to follow this but I'm working without a DSDT and my Motherboard is not listed on the DSDT data base, I dont know how to get this fix to work if I can't even get my own DSDT.

 

I will be very happy if you point me to some direction, so my hackintosh is nearly perfect. Theres are a couple of things that also are not working as I would like to, one is the battery, it seems that is doesn't charge anymore, neither in my windows partition, it only gets like 18% and stucks there... And the other one is the awake task, when my gateway sleeps it doesn't awake, it can display a very very dark frame that seems to be the user login, but I can do anything, I have to shutdown and restart everytime it happens. And it is also the same problem on my windows partition, but the difference is that in win 7 the user login frame doesn't shows at all. I think is a problem with the hardware itself and not precisely a OSX kext or fix related, but if you have any suggestions I'll be happy to hear.

 

Well thanx again for your time and sorry if I missed a little for the main topic of the post, hope somebody can help me. See you!!! :blush:

 

 

Thank you, you are very kind.............. :mellow:

Link to comment
Share on other sites

@mnorthern, good news here! I'm now able to wake up with backlight, finally! Attached is my working dsdt.

 

The changes are that I removed the original _WAK contents and added what you gave me:

 

Method (_WAK, 1, NotSerialized)
{
 Store (0x80000000, LEVW)
 Store (0x061A061A, LEVX) // This value should vary based on the RW Everything inspect results
 Store (0x80000000, LEV2)
 Store (0x12FF, LEVL)
 Return (Package (0x02)
 {
	 Zero,
	 Zero
 })
}

 

To enable sleep, I also removed my EHC2 device, which maybe the SD card slot; however I have to keep the EHC1 device so that my external USB wireless card (with a RTL8192CU7 chip) will resume working after waking up.

 

This is, however, only a special case for this strange graphic card. I'm not sure why it works without all the wake up logic; also, I don't understand why my Fn+Brightness keys work without showing the sun icon on screen.

 

BTW, the annoying coil sound remains.

 

Again thank you very much @mnorthern!

 

My laptop is the same model with you Felix, and BAR1 is 0xF2000004 too. Only "Interrupt Line" is none which Felixs' is IRQ11.

I changed _WAK to

 

Method (_WAK, 1, NotSerialized)

{

Store (0x80000000, LEVW)

Store (0x061A061A, LEVX) // This value should vary based on the RW Everything inspect results

Store (0x80000000, LEV2)

Store (0x12FF, LEVL)

Return (Package (0x02)

{

Zero,

Zero

})

}

 

and added

OperationRegion (BRIT, SystemMemory, 0xF2048254, 0x04)

Field (BRIT, AnyAcc, Lock, Preserve)

{

LEVL, 32

}

OperationRegion (BRI2, SystemMemory, 0xF2048250, 0x04)

Field (BRI2, AnyAcc, Lock, Preserve)

{

LEV2, 32

}

OperationRegion (BRI3, SystemMemory, 0xF20C8250, 0x04)

Field (BRI3, AnyAcc, Lock, Preserve)

{

LEVW, 32

}

OperationRegion (BRI4, SystemMemory, 0xF20C8254, 0x04)

Field (BRI4, AnyAcc, Lock, Preserve)

{

LEVX, 32

}

 

I

 

but still no brightness bar in System Preference

 

I can always control brightness with Fn+Brightness keys, but could not load AcpiBacklight.kext

 

How to load AcpiBacklight.kext and get the brightness bar in System Preference and Brightness Sun Bezel?

Link to comment
Share on other sites

hi, my laptop does not have windows 7, I want to find BAR1 address in MAC OS, please help me

 

http://www.insanelymac.com/forum/topic/287133-guide-backlight-brightness-for-intel-80860046-1st-gen-hd-gma-5700mhd/page__st__20#entry1898325

 

You can determine your BAR in Linux as well. Create a bootable Ubuntu USB stick (I like using unetbootin) and run 'lspci -s 00:02.0 -vvxxxx' as root. The line that says '10:', the first four bytes are your BAR (little endian). Read baongoc124's post and you'll be able to see more clearly.

 

This is the easiest path to getting it.

  • Like 1
Link to comment
Share on other sites

Thanks you, here is my dump code :

 

pcilib: 0000:00:02.0 64-bit device address ignored.
00:02.0 VGA compatible controller: Intel Corporation Arrandale Integrated Graphics Controller (rev 12) (prog-if 00 [VGA controller])
Subsystem: ASUSTeK Computer Inc. Unknown device 14c2
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0
Interrupt: pin A routed to IRQ 16
Region 0: Memory at d3400000 (64-bit, non-prefetchable)
Region 2: Memory at <ignored> (64-bit, prefetchable)
Region 4: I/O ports at e080
Capabilities: [90] Message Signalled Interrupts: Mask- 64bit- Queue=0/0 Enable+
Address: fee00000 Data: 4090
Capabilities: [d0] Power Management version 2
Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [a4] PCIe advanced features <?>
00: 86 80 46 00 07 04 90 00 12 00 00 03 00 00 00 00
10: 04 00 40 d3 00 00 00 00 0c 00 00 a0 0f 00 00 00
20: 81 e0 00 00 00 00 00 00 00 00 00 00 43 10 c2 14
30: 00 00 00 00 90 00 00 00 00 00 00 00 10 01 00 00
40: 09 00 0c 01 26 61 b1 00 88 00 c0 00 0f 17 17 17
50: 00 00 50 03 0b 00 00 00 00 00 00 00 00 00 00 ae
60: 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
90: 05 d0 01 00 00 00 e0 fe 90 40 00 00 00 00 00 00
a0: 11 11 11 00 13 00 06 03 00 00 14 60 25 04 3a 30
b0: 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 01 a4 22 00 00 00 00 00 00 00 00 00 00 01 02 00
e0: 00 00 00 00 00 00 00 00 00 80 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 00 ab 0f 14 00 18 a0 d9 aa

 

and my BAR1 address is D3400004 ?

 

The screenshot above is from giofrida's system. Because his BAR0 starts with 0xC.. we will need to modify the OperationRegions below so that 0xB00048254 becomes 0xC00048254, and 0xB00048250 becomes 0xC0048250 etc. You will need to do this for your system.

I don't know how to modifile, please help me

Link to comment
Share on other sites

Thanks you, here is my dump code :

 

pcilib: 0000:00:02.0 64-bit device address ignored.
00:02.0 VGA compatible controller: Intel Corporation Arrandale Integrated Graphics Controller (rev 12) (prog-if 00 [VGA controller])
Subsystem: ASUSTeK Computer Inc. Unknown device 14c2
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0
Interrupt: pin A routed to IRQ 16
Region 0: Memory at d3400000 (64-bit, non-prefetchable)
Region 2: Memory at <ignored> (64-bit, prefetchable)
Region 4: I/O ports at e080
Capabilities: [90] Message Signalled Interrupts: Mask- 64bit- Queue=0/0 Enable+
Address: fee00000 Data: 4090
Capabilities: [d0] Power Management version 2
Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [a4] PCIe advanced features <?>
00: 86 80 46 00 07 04 90 00 12 00 00 03 00 00 00 00
10: 04 00 40 d3 00 00 00 00 0c 00 00 a0 0f 00 00 00
20: 81 e0 00 00 00 00 00 00 00 00 00 00 43 10 c2 14
30: 00 00 00 00 90 00 00 00 00 00 00 00 10 01 00 00
40: 09 00 0c 01 26 61 b1 00 88 00 c0 00 0f 17 17 17
50: 00 00 50 03 0b 00 00 00 00 00 00 00 00 00 00 ae
60: 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
90: 05 d0 01 00 00 00 e0 fe 90 40 00 00 00 00 00 00
a0: 11 11 11 00 13 00 06 03 00 00 14 60 25 04 3a 30
b0: 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 01 a4 22 00 00 00 00 00 00 00 00 00 00 01 02 00
e0: 00 00 00 00 00 00 00 00 00 80 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 00 ab 0f 14 00 18 a0 d9 aa

 

and my BAR1 address is D3400004 ?

 

 

I don't know how to modifile, please help me

 

The OperationsRegions go right above the Scope _SB. These OperationsRegions are what the methods communicate; they correlate directly to memory in the physical hardware. Add this above your Scope _SB:

 

 

OperationRegion (BRI1, SystemMemory, 0xD3048250, 0x08)

Field (BRI1, AnyAcc, Lock, Preserve)

{

LEV2, 32,

LEVL, 32

}

OperationRegion (BRI2, SystemMemory, 0xD30C8250, 0x08)

Field (BRI2, AnyAcc, Lock, Preserve)

{

LEVW, 32,

LEVX, 32

}

 

If you have your methods setup correctly you'll see the messages in your system.log (grep for ACPIBacklight). If your regions are correct, then the methods will be able to speak to your card.

Link to comment
Share on other sites

It is just sad that I followed this guide and my screen still doesn't show on after wake up even though it works for many other guys.

 

Anyway, for anyone only use Linux like me, if you want to get the value of register ending with C8254 you can use this command.

 

dd if=/dev/mem of=/tmp/aaaa ibs=1 skip=$((0xf00c8254)) count=4; hd /tmp/aaaa

 

I used 0xf00c8254 because my BAR0 is 0xf0000004. Replace the address with your machine's value. And remember to run this as root.

Link to comment
Share on other sites

Hi guys, sorry but i'm trying to compile my dsdt but i get 2 errors for this line.

 

 

Return (^^PCI0.GFX0.DD02._BQC ())

 

^^PCI0.GFX0._DOS (Arg0)

 

 

And i don't understand this (

In the code snippet above, you may have to change whenever it says "PCI0.GFX0..." to your equivalent, eg. say "_SB.PCI0.VGA0" or something.) Can you help me? Thanks

 

Edit: I have compiled without errors and some warning. I put dsdt.aml in extra folder, installed kext, but my hackintosh don't boot, it stop during the apple logo.

Link to comment
Share on other sites

Now if i boot in verbose mode works, the slider in monitor preference works, but i found only one button in the keyboard, for to increase brightness. Can you help me? Why in normal mode don't works? If someone can help me, i attach my dsdt. Thanks

alboz83.aml.zip

Link to comment
Share on other sites

 Share

×
×
  • Create New...