Jump to content

UPDATED 20.12. GenericBrightness.kext


674 posts in this topic

Recommended Posts

Could you open reggie_se and watch those registers?

 

PhysMem calculation:

1. open pci tab and choose VGA compatible controller

2. open bar key bar0 (0xD0200000 on my laptop)

3. open calc (hex) and add:

bar0+offset(0x00061254)=> on my lap=0xD0261254

bar0+offset(0x00061250)

 

When you calculated those values, open PhysMem tab and enter those valuse (0xD0261254/0 on my laptop) in 32 bit.

Move slider and watch how these values are changed (for both 0xD0261254, 0xD0261250 mem space)

 

Brightness only works when PNLF is added and gma driver is patched?

I own too the same laptop and the same problems with it.

 

bar0

0xE4400004

 

bar0+offset(0x00061254)=>0xE4461258

bar0+offset(0x00061250)=>0xE4461254

 

When moving slider:

at offset 0x00061254 - no changes

at offset 0x00061250

when slider on max:

0x01EE01EE

when slider on min:

0x01EE0000

Could you open reggie_se and watch those registers?

 

PhysMem calculation:

1. open pci tab and choose VGA compatible controller

2. open bar key bar0 (0xD0200000 on my laptop)

3. open calc (hex) and add:

bar0+offset(0x00061254)=> on my lap=0xD0261254

bar0+offset(0x00061250)

 

When you calculated those values, open PhysMem tab and enter those valuse (0xD0261254/0 on my laptop) in 32 bit.

Move slider and watch how these values are changed (for both 0xD0261254, 0xD0261250 mem space)

 

Brightness only works when PNLF is added and gma driver is patched?

 

I could see the second register (bar0+offset(0x00061250)) changing as I change the brightnes and I can also write values to it with reggie_se and the brightness will change accordingly. The first one (bar0+offset(0x00061254)) is always in 0 and it doesnt allow me to write to it (it comes back to 0)

 

Brightness control works properly when the gma driver is patched (I will try without PNLF device). When the brightness routine is baypassed and I can use F7 and F8 (windows keys) to move the brightness un and down. Off course no on-screen icon/slider, etc

When the driver is not patched I cannot use F7, F8 keys. Instead I can change the brightness with scroll and pause keys; I can see the on-screen icon and the slider also works, but the change is not linear. Only the upper 5% of the slider is linear, which is where the brightness utility I linked works

I could see the second register (bar0+offset(0x00061250)) changing as I change the brightnes and I can also write values to it with reggie_se and the brightness will change accordingly. The first one (bar0+offset(0x00061254)) is always in 0 and it doesnt allow me to write to it (it comes back to 0)

 

Brightness control works properly when the gma driver is patched (I will try without PNLF device). When the brightness routine is baypassed and I can use F7 and F8 (windows keys) to move the brightness un and down. Off course no on-screen icon/slider, etc

When the driver is not patched I cannot use F7, F8 keys. Instead I can change the brightness with scroll and pause keys; I can see the on-screen icon and the slider also works, but the change is not linear. Only the upper 5% of the slider is linear, which is where the brightness utility I linked works

 

Hello BlackCH,

 

we almost have the same notebook configuration, I have already replaced my BCM4311 to Atheros9280 because of wireless n... see my sig, if I include PNLF in dsdt wake breaks, returns back to sleep after a few seconds...

 

;)

Do your brightness keys emit scancodes? You could then map them to NX_KEYTYPE_BRIGHTNESS_UP/DOWN in VoodooPS2 and use native onscreen.

 

 

 

Do you have min/max brightness in ioreg? Slider works? On-screen appears if u have your brightness keys mapped in VoodooPS2. For me it also works with SCR LK (FN+12) for down and pause for up.

 

Hi, sorry about miss that.Yes , I have min/max brightness in the loreg ,like this :

post-459659-1289727244_thumb.png

 

,the what does the Slider is works mean ? yeah , when I add PNLF in the dsdt ,it appears the display prefPane. I can slip

 

but the display backlight does not change, and I can see five step while pressing Pause (up) ,Fn+Delete(down)(sun comes). But when I press Fn +up &down (the original adjust key),it turn back to ten step(no sun) .Anyway I use the ACPIPS2Controller.kext ,not VoodooPS2Controller.kext.

 

Thanks.

I own too the same laptop and the same problems with it.

 

bar0

0xE4400004

 

bar0+offset(0x00061254)=>0xE4461258

bar0+offset(0x00061250)=>0xE4461254

 

When moving slider:

at offset 0x00061254 - no changes

at offset 0x00061250

when slider on max:

0x01EE01EE

when slider on min:

0x01EE0000

 

And 1EE is max brightness in ioreg?

 

Maybe dsdt patch could help here. Something like this:

OperationRegion (BRIT, SystemMemory, 0xE4461258, 0x04)
   Field (BRIT, AnyAcc, Lock, Preserve)
   {
       LEVL,   32
   }

 

And then in PCI0 _INI section:

            Method (_INI, 0, NotSerialized)
           {
               PINI ()
	Store (0x512C0000, LEVL)
          }

6.2 with 6 buttons. 32bit only, modified for my acer.

 

thank you, but I use 64bit and I have Gateway with v6.2.

With your Voodoops2keyboard.kext i don't have keyboard after reboot.

With your kext GenericBacklight nothing happen.

I lookt i to my dsdt and i found that values but not in right place.

Could you help me?

 

Here is my dsdt:

http://www.mediafire.com/?sqe3ac7ng69wgjj

 

I use Voodoops2 driver, currently brightness slider doesn't move.

And I use GraphicsEnabler from Chameleon.

 

Thanks

Thanks man .After download the modified dsdt ,I can see ten steps of backlight, even though there is sixteen steps in the SUN, but actually only ten steps works.

Working with Pause (up)and Fn+Delete(down), but not Fn+up/down.

Here is the log:

Acpi brightness levels:11, lowest brightness:0, highest brightness:100 
We still don't have brightness entry in ioreg... waiting...

IORegistryExplorer info :

post-459659-1289752169_thumb.png

It looks like those on-screen step are static. I have 16.

 

FN up/down changes brightness?

 

 

FN-up/down scancodes should be mapped to brightness. Do they emit scancodes in dmesg?

 

No, I just recheck it in the logs ,there is no info about that .

And 1EE is max brightness in ioreg?

 

Maybe dsdt patch could help here. Something like this:

OperationRegion (BRIT, SystemMemory, 0xE4461258, 0x04)
Field (BRIT, AnyAcc, Lock, Preserve)
{
	LEVL,   32
}

 

 

And then in PCI0 _INI section:

Method (_INI, 0, NotSerialized)
		{
			PINI ()
	Store (0x512C0000, LEVL)
	   }

 

I've tryed this, but using the address 0XE4462354 (since I notice I could write brightness values to that address with reggie_se).

The screen goes black until the AppleGMAx3100 driver is loaded, then I get the same behavior as I explained before. But at least its proof that I could write the right values to this address. Is there a way to impelment it in the dsdt?

 

You can have a look if you like:

dsdt_v0.13.dsl.zip

I've tryed this, but using the address 0XE4462354 (since I notice I could write brightness values to that address with reggie_se).

The screen goes black until the AppleGMAx3100 driver is loaded, then I get the same behavior as I explained before. But at least its proof that I could write the right values to this address. Is there a way to impelment it in the dsdt?

 

You can have a look if you like:

dsdt_v0.13.dsl.zip

 

Problem is that osx also writes to this memory but wrong values.With dsdt modification, values could be modified after brightness is changed to right ones.

On my lap, writing to those backlight registers doesn't have any effect because it is controlled by EC.

 

Does writing values to that space evenly changess your brightness?

What are these values?

×
×
  • Create New...