Jump to content

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

first generation HD backlight brightness ACPI DSDT 8086:0046 GMA 5700MHD Ironlake Arrandale

  • Please log in to reply
162 replies to this topic

#41
baongoc124

baongoc124

    InsanelyMac Protégé

  • Members
  • Pip
  • 7 posts

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)

Hello,
I added DSM method to my GFX0 and nothing changed.
Only backlight slider works.
Backlight keys don't work and screen is still black after wake up.

I also have my backlight at 100% after boot. Does anyone know how to fix this?

Thanks.

#42
lorius89

lorius89

    InsanelyMac Protégé

  • Members
  • PipPip
  • 58 posts
  • Gender:Male
  • Location:milan
hi can anyone patch this for me? I try but compile even give me error. :hammer:

#43
calmesal

calmesal

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 163 posts

I have read through all the linux drivers + Intel documentation and this should be the (nearly) complete list of registers you need to experiment with. Since people's laptops are so different, it's difficult for me to do this remotely :worried_anim:

The procedure should be:

  • Use RW-everything to note down the value in the register
  • Try defining that register using Operation Regions and storing its correct value in your _WAK method in your DSDT
The following are related to the PCH (south display) controllers
registers ending in C7200, C7204, C7208, C720C C7210 -- should be saved and then restored on wake up

The following are related to the display port and power-related
registers ending in E1180, C6014, C6018, C6040

The following are strictly backlight related
registers ending in 48250, 48254, c8250, c8254

The following is a Legacy Backlight Register. It is possible that your laptop uses legacy mode to set brightness. This register is not memory mapped. Therefore it is not in BAR0 (BAR1). Instead, it is directly in the PCI configuration space.
It is on the device 0:2:0 on the PCI, at the offset 0xF4 (bits 0 to 7)
By writing 0xFF to that location, you will achieve max brightness if legacy mode is enabled.

Please let me know your findings.



Yes what you're forgetting is that you're defining the same thing twice! (Look at your third screenshot)

Your BRIT region is the same as your BRI4 region and your LEVL field is at the exactly same location as your LEVX
The same problem is with BRI2 being in the same location as BRI3 and therefore LEV2=LEVW, so it doesn't make sense to define thing twice
You should define a different region (you can name them BRI5, BRI6 etc) and a different field in that region (LEV3, LEV4 etc) and then make them to point to different registers (E1180, 48250, C6018, etc etc) and then store different values in them depending on your system's values (eg. from RW-everything)

Update:

i STRONGLY suspect that if you write Zero (0x00000000) to your BLC_PWM_CPU_CTL2 (this is in BAR0 at offset 0x00048250) then you should be able to manipulate the brightness by writing to the LBB (Legacy Brightness) register (which is not memory mapped therefore not in BAR0 but instead on the device 0:2:0 on the PCI, at the offset 0xF4 ), so that by writing 0xFF to it you should be able to enable the backlight without having to manipulate all those other registers... the downside would be, you lose all the OS X brightness sliders and buttons unless you hack them somehow

I am trying to learn how to write drivers so that maybe in a few weeks time I will be able to write a kext patch or something, this is a really cool hobby (not advisable if you have a girlfriend/boyfriend)

Question:

Could someone confirm that a _WAK method is guaranteed to be called on computer's wake up from sleep? If it's not guaranteed to be called, then we may be wasting time, because it's simply not called on some people's computers, and they need a kext instead of a DSDT patch

I solved the problem with the backlight.kext by changing the "BQC use index" to FALSE, no there is no error.
But frankly I am confused regarding the BAR1 and BRI values. I cannot manage to find the right values, it is here my my problem.
I will be grateful if you could take a look at my dsdt file.

Attached Files



#44
warraisraw

warraisraw

    InsanelyMac Protégé

  • Members
  • Pip
  • 46 posts
  • Gender:Male
Hi, in this post I found a fix for backlight restored to 100% after reboot, is change the first two hex values in BCL method by prefered hex values (lowest for me). For me works perfectly

Post: #81

Regards

#45
Felix Chan

Felix Chan

    InsanelyMac Protégé

  • Members
  • Pip
  • 19 posts
  • Gender:Male
  • Location:Hangzhou, China
@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!

Attached Files



#46
GhostRaider

GhostRaider

    InsanelyMac Sage

  • Members
  • PipPipPipPipPipPip
  • 384 posts
  • Gender:Male

@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!


This is interesting. You think this will work on my laptop? But why did you have to remove EHC2? How did you know that was causing a problem?

#47
calmesal

calmesal

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 163 posts

I solved the problem with the backlight.kext by changing the "BQC use index" to FALSE, no there is no error.
But frankly I am confused regarding the BAR1 and BRI values. I cannot manage to find the right values, it is here my my problem.
I will be grateful if you could take a look at my dsdt file.

Ok. A Little progress. I found the operation region values and put it in my dsdt, and now I can change backlight with slider and Fn-keys with the Sunlight apearing on the screen. Now to the resume after sleep and and resetting the backlight level. I will post the same screenshots to you as Filip chan in hoping you can figure out my _wak method, I suspect that it is something wrong with it.
Still can not get rid of the message "getindexforlevel(50)not found in _BCL table"

Attached Files



#48
lorius89

lorius89

    InsanelyMac Protégé

  • Members
  • PipPip
  • 58 posts
  • Gender:Male
  • Location:milan
Nobody want help me? Please :)

#49
Felix Chan

Felix Chan

    InsanelyMac Protégé

  • Members
  • Pip
  • 19 posts
  • Gender:Male
  • Location:Hangzhou, China

This is interesting. You think this will work on my laptop? But why did you have to remove EHC2? How did you know that was causing a problem?


I've to remove EHC2 since it wakes up the system automatically right after it sleeps; after removing EHC2, the system sleeps well :)
Also, my EHC1 has to be kept so that the USB ports should work. If not, the external wireless card driver will not work.

#50
Felix Chan

Felix Chan

    InsanelyMac Protégé

  • Members
  • Pip
  • 19 posts
  • Gender:Male
  • Location:Hangzhou, China
Also, does any one know how to enable VGA support for this graphic card? My ThinkPad's VGA port doesn't output any signals.

#51
sartemd174

sartemd174

    InsanelyMac Protégé

  • Members
  • Pip
  • 42 posts
Working fine for me. Brightness+wake from sleep.
Only one problem is when i wake up from sleep, my usb doesn't work (mouse+keyboard+internal keyboard).
Any ideas?
Acer 5742g

Attached Files



#52
calmesal

calmesal

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 163 posts

I have a lot of DSDT's too look at so sorry for any delays guys, I will try to get them sorted as soon as i can

In the meantime, If anyone wants to do their own experimenting with different Operation Regions, this document gives you the registers to look at (search for Backlight)

http://www.x.org/doc...3_Part2_BJS.pdf


In that document, if they say there is a register at 48250h, it means take your bar value and make it to look like 0xB0048250, and use RW-everything for seeing what this value looks like, and then try using DSDT to write these values to Operation Regions

Also try googling for the source code for Linux intel i915 drivers, especially Ironlake patches to those drivers, they're very educational

Hi mnorthern!
You have disappeared the last two days. I know you must have a lot to do. I hope you dont abandon us.
Thanks in advance for you grate efforts.

#53
mnorthern

mnorthern

    InsanelyMac Protégé

  • Members
  • PipPip
  • 52 posts
  • Gender:Male
  • Location:London, United Kingdom

Hi mnorthern!
You have disappeared the last two days. I know you must have a lot to do. I hope you dont abandon us.
Thanks in advance for you grate efforts.


Hello ! I am still here :)

I am trying to do some work on enabling the HDMI out.

I am also looking at some people's DSDT's. So this is actually a note to everyone: If I haven't answered your questions yet, please send me a private message :wink2:

#54
calmesal

calmesal

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 163 posts

Hello ! I am still here :)

I am trying to do some work on enabling the HDMI out.

I am also looking at some people's DSDT's. So this is actually a note to everyone: If I haven't answered your questions yet, please send me a private message :wink2:

Good. I am still struggling with the backlight issue after sleep, please se the post 47 with details.
Thanks.

#55
andrio.b

andrio.b

    InsanelyMac Protégé

  • Members
  • Pip
  • 20 posts
i'm having the next bug: mine BAR1 is 0xF7000004 what should I put F or F7 ? anyway, I tried both, I always get the bar in prefences, but brightness doesn't change, i mean, for example my brightness bar is low, but it still shines like a sun... Could you please check my dsdt?

#56
andrio.b

andrio.b

    InsanelyMac Protégé

  • Members
  • Pip
  • 20 posts

Also, does any one know how to enable VGA support for this graphic card? My ThinkPad's VGA port doesn't output any signals.

http://www.insanelym...-graphics-qeci/ - in this topic you'll find video drivers for 1st gen intel HD Graphics qe/ci 10.8.3 attached. Download it, there you'll find framebuffers, I recommend you (also I've chosen on my own) LVDS+VGA, work good :)

#57
Felix Chan

Felix Chan

    InsanelyMac Protégé

  • Members
  • Pip
  • 19 posts
  • Gender:Male
  • Location:Hangzhou, China

http://www.insanelym...-graphics-qeci/ - in this topic you'll find video drivers for 1st gen intel HD Graphics qe/ci 10.8.3 attached. Download it, there you'll find framebuffers, I recommend you (also I've chosen on my own) LVDS+VGA, work good :)


Thank you! I'm now running ML 10.8.2. Will the 10.8.3 drivers work on the 10.8.2 system?

#58
andrio.b

andrio.b

    InsanelyMac Protégé

  • Members
  • Pip
  • 20 posts

Thank you! I'm now running ML 10.8.2. Will the 10.8.3 drivers work on the 10.8.2 system?

Nope. Update to 10.8.3 (it can report an error at the end of the update process, e.g. i had cache error), reboot in single user mode, delete HDGraphics kext (rm -Rf /System/Library/Extensions/AppleIntelHDGraphics*) then reboot and install 10.8.3 kexts... I think thats easy enough) feel free to pm)

#59
Felix Chan

Felix Chan

    InsanelyMac Protégé

  • Members
  • Pip
  • 19 posts
  • Gender:Male
  • Location:Hangzhou, China

Nope. Update to 10.8.3 (it can report an error at the end of the update process, e.g. i had cache error), reboot in single user mode, delete HDGraphics kext (rm -Rf /System/Library/Extensions/AppleIntelHDGraphics*) then reboot and install 10.8.3 kexts... I think thats easy enough) feel free to pm)


Thanks but doesn't seem to work here. Would you tell me which is the LVDS+VGA kext? I only see SingleLink LCD+VGA.

#60
Felix Chan

Felix Chan

    InsanelyMac Protégé

  • Members
  • Pip
  • 19 posts
  • Gender:Male
  • Location:Hangzhou, China

Nope. Update to 10.8.3 (it can report an error at the end of the update process, e.g. i had cache error), reboot in single user mode, delete HDGraphics kext (rm -Rf /System/Library/Extensions/AppleIntelHDGraphics*) then reboot and install 10.8.3 kexts... I think thats easy enough) feel free to pm)


I've upgraded to 10.8.3 and followed the instructions as you pointed out. However, the VGA port still doesn't work. I'm using a ThinkPad x201i. What's your model, andrio.b?





Also tagged with one or more of these keywords: first generation HD, backlight, brightness, ACPI, DSDT, 8086:0046, GMA, 5700MHD, Ironlake, Arrandale


0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

© 2014 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   PHP hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy