Jump to content

UPDATED 20.12. GenericBrightness.kext


ivik
 Share

674 posts in this topic

Recommended Posts

Finally

 

my nvidia card gt240m is fully work .i am so glad. thx ivik thx weizh126, thx for your work and time.

 

here is what i do ,my be could give you some info.

 

it ,s necessary that adding @0,backlight-control, and @0,pwm-info to the DSDT,also they works with the code "PNLF" (all these code could find in the Post before),but it is not necessary to add "BCL""BCM" to "PNLF'.

 

now I can change brightness with fn+pause (up)/fn+Scrolk(down) ,the SUN and slider are all work . and when i reboot the systerm could save the value the last login.

 

thx again!

Link to comment
Share on other sites

Finally

 

my nvidia card gt240m is fully work .i am so glad. thx ivik thx weizh126, thx for your work and time.

 

here is what i do ,my be could give you some info.

 

it ,s necessary that adding @0,backlight-control, and @0,pwm-info to the DSDT,also they works with the code "PNLF" (all these code could find in the Post before),but it is not necessary to add "BCL""BCM" to "PNLF'.

 

now I can change brightness with fn+pause (up)/fn+Scrolk(down) ,the SUN and slider are all work . and when i reboot the systerm could save the value the last login.

 

thx again!

 

If you didn't add _BCM, _BCL to your PNLF, and brightness work, the you can remove my driver.

Link to comment
Share on other sites

@swavek

 

Could you please read post 50 and 193?

It looks like brightness register is BAR0 + 61c084 for nvidia. Problem is that you have this register set to max, but your laptop controls brightness with EC.

 

Try moving slider, and read that memory. If this values changes, then we could easy sync boot brightness to one from EC.

Hi Ivik

 

going to need more help with reggie_se command, no idea where to start

 

thanks

Link to comment
Share on other sites

ok, found it, will post results soon..

 

EDIT:

 

not doing too well here:

my BAR0 is 0xDD000000, added 0x61c084 equals 0xDD61C084

typing number here:

post-402044-1292078414_thumb.png

changing brightness?, huh! :) probably doing something dum but nothing changes

any hints ?

Link to comment
Share on other sites

Don't know then.

 

Try changing with your hardware keys then(with no sun). It should be number of levels you have in _BCL minus first 2. (ac/dc)

okay, will play with different setting and let you know later, thanks a million

s

Link to comment
Share on other sites

quick update here, dv7 with nvidia/.

for the 1st time, the register in ioreg changes with the slider and the keys! they don't get stuck like it did before.

the only thing i did for this was the pminfo in my dsdt.

so there's definitely progress,

the last problem, the brightness is unchanged, no matter what the level is.

Link to comment
Share on other sites

quick update here, dv7 with nvidia/.

for the 1st time, the register in ioreg changes with the slider and the keys! they don't get stuck like it did before.

the only thing i did for this was the pminfo in my dsdt.

so there's definitely progress,

the last problem, the brightness is unchanged, no matter what the level is.

 

Hi kellis, did you install ivik's kext into S/L/E ? I had something like that when I forgot to install kext.

Link to comment
Share on other sites

Hi kellis, did you install ivik's kext into S/L/E ? I had something like that when I forgot to install kext.

 

yeah i did, but i installed the 1st one. should i try the 2nd one instead?

 

 

 

yeah i did, but i installed the 1st one. should i try the 2nd one instead?

 

ok, just tried the 2nd one, same result.

I'll try to add the other stuff in my dsdt

Link to comment
Share on other sites

ok, found it, will post results soon..

 

EDIT:

 

not doing too well here:

my BAR0 is 0xDD000000, added 0x61c084 equals 0xDD61C084

typing number here:

post-402044-1292078414_thumb.png

changing brightness?, huh! :unsure: probably doing something dum but nothing changes

any hints ?

 

Hi, it is very strange here, when I open Reggie_SE, it gives me a warning.post-611522-1292117687_thumb.png

Bootloader is chameleon RC5, and CPU is C2D T6400, I am sure chameleon recognizes T6400, in verbose mode, I can find related message. Do you have any idea?

Thanks advance.

Link to comment
Share on other sites

Hi, it is very strange here, when I open Reggie_SE, it gives me a warning.post-611522-1292117687_thumb.png

Bootloader is chameleon RC5, and CPU is C2D T6400, I am sure chameleon recognizes T6400, in verbose mode, I can find related message. Do you have any idea?

Thanks advance.

Me - don't really know, but I would probably check smbios.plist for some dodgy conflicts, fiddle with com.apple.boot.plist - Pstate, Cstate settings, try to change bootloader? RC5 is still in kind of testing phase (well.. which one is not:)

I use MyHack bootloader as it clears memory allocation error, that I was getting sometimes at boot with other bootloaders.

 

s

Link to comment
Share on other sites

@swavek

Hi swavek, I am really sorry, and I think I made a mistake. After reboot, the brightness level is not the same as the last one, it stays at the middle level.

 

@ivik

Hi ivik, here is the _BCL in my DSDT

Method (_BCL, 0, NotSerialized)
		{
			Return (Package (0x0D)
			{
				0x46, 
				0x28, 
				Zero, 
				0x0A, 
				0x14, 
				0x1E, 
				0x28, 
				0x32, 
				0x3C, 
				0x46, 
				0x50, 
				0x5A, 
				0x64
			})
		}

I think the brightness level is always at 46 after reboot.So I changed the first number 0x46 to 0x64 in _BCL when using AC, but the brightness did not change. Here is something I find in ACPI Specification

Method (_BCL, 0) {
// List of supported brightness levels
Return (Package(7){
80, // level when machine has full power
50, // level when machine is on batteries
// other supported levels:
20, 40, 60, 80, 100}
}

why this modification does not work? Or it is the same problem as swavek, as you said,

Problem is that you have this register set to max.
but in my case, the register set to the middle ?

Thanks.

Link to comment
Share on other sites

edid:

00FFFFFF FFFFFF00 4CA34532 00000000 00120100 80221378 0A87F594 574F8C27 27505400 00000101 01010101 01010101 01010101 0101411C 56A05000 16303020 250058C2 10000019 0000000F 00000000 00000000 00238702 64010000 00FE0053 414D5355 4E470A20 20202020 000000FE 004C544E 31353641 54303230 3030007C

 

pwm:

02180064 90590200 08520000 A51C0000 00040000 01000000

Hi ivik,

 

Nice stuff here ;)

Do you mind to explain how you calculate the pwm based on EDID?

 

Thanks!

Link to comment
Share on other sites

@Ivik,

I 'd really like to thank you for the hard work before to ask for help:

It doesn't panic if _BCM is missing. One user reported panic when _BQC didn't return value(all.zip package)
am actually facing the same problem, but, even if I force _bqc to return 0x64 (like u 've been suggesting) I cannot avoid the kernel from panicking without flushing caches at boot (-f). So what do you think?

One other point is related to the commandline "brightness": brightness up/down don't seem to work and/or do anything :blink: but brightness set does work well.

Also, if I don't put built-in into the GFX section (in DSDT), and with GraphicsEnabler disabled: at PNLF I can see brightness max/min not zeroed. But, other than that, those values disappeared as soon as AppleBacklight is loaded. and then brightness max/min become zeroed at both PNLF and AppleBacklight IODisplayParams'.

That's, am stuck at using the kext from All.zip (also tried others).

 

Oh, my gfx is an nvidia 9600m GT. and here are my dsdts:

edited:actual.dsl.zip

original:dsdt_orig.dsl.zip

P.S: it'd be kind, from guyz having nvidia cards with working brightness, to post there whole DSDTs.

Thanks

Link to comment
Share on other sites

@valv

 

Brightness up/down doesn't work because your _BCQ method always return same value, so i cant increment/decrement. If 0x64 is returned and we decrement (brightness down) then we set brightness to index-1 (0x5A or 0x55 => depending on which _BCL levels are returned)

 

When we call brightness set, _BQC is not readed, so this is why it works.

 

About min/max values from ioreg, i can't help you with that. Don't have nvidia. Try injecting some values from others to dsdt, maybe you get lucky.

 

Also, i think that you could never have native brightness because your hardware controls it with EC. (not without my driver)

 

Your brightness methods are so messy... Looks like something doesn't return correct value.

Could you run rw-everything and tell me values from min to max from your EC?

I could rewrite your methods.

 

@King

I didn't calculated that values from edid.

It looks like 02180064 90590200 08520000 A51C0000 00040000 01000000 is inverter frequency.

Don't know about other values.

Link to comment
Share on other sites

 Share

×
×
  • Create New...