Jump to content

ACPI Backlight Display driver


  • Please log in to reply
30 replies to this topic

#1
hotKoffy

hotKoffy

    InsanelyMac Protégé

  • Members
  • PipPip
  • 79 posts
Last update: 18 sept 2011

New driver in this topic : ACPI Backlight

This driver provides native backlight management for laptops with backlight managed by ACPI : slider in the display pref pane and sun bezel when you press backlight up/down hotkey (with an other driver than can understand your keyboard Fn keys...)
Attached File  sun_bezel.png   434.73KB   159 downloads

To make the display dim before sleeping, hit this check button (in red):

The driver will use the min level + 1.
The entry "slightly dim the display..." has no effect.

This driver will replace AppleDisplay in the device tree and implements same features than AppleBacklightDisplay Class but with ACPI calls. (Both inherit from IOBacklightDisplay in IOGraphicsFamily.kext).
If actually you have AppleBacklightDisplay loaded, it is not for you. (but should not hurt thanks to IOProbeScore hierarchy)

This driver has been developed with an EeePC 1201N but there is no reason it shall not work in other hardware.

There must be "AAPL,boot-display" property set in order to bind on the internal display. Chameleon shall do that with graphic injector, otherwise take a look in my DSDT.
There must be this device in DSDT, in the \SB scope:
Scope (\_SB){    ...    Device (PNLF)    {        Name (_HID, EisaId ("APP0002"))        Name (_CID, "backlight")        Name (_UID, 0x0A)        Name (_STA, 0x0B)    }...}

I've also injected this in the GPU scope:
...                        "AAPL,backlight-control",                        Buffer (0x04)                        {                            0x01, 0x00, 0x00, 0x00                        },                        "AAPL,BacklightRestore",                        Buffer (0x04)                        {                            0x01, 0x00, 0x00, 0x00                        },                        "AAPL01,BacklightIntensity",                        Unicode ("N"),...

I don't know if it is absolutely needed.

For 1201N users, take a look in my DSDT, I've extended the _BCL method to get 93 levels (2 to 95) instead of the 16 original (which are indexing a table with 16 entries between 2 and 95). OSX works greater with more levels. Macs have 512 levels... (_BCL, _BCM and _BQC shall be taken as a whole). If you keep the original entries, the backlight will step by 2 for each key pressed.
For hotkeys : WMI Hotkey driver


Sources included
Install it in S/L/E (with Kext Utility or similar !)
Tested in i386 and x86_64.
Minimum system version 10.6.5 - Max 10.6.7

IOGraphicsFamily changed in 10.6.8, the driver could not be loaded. The code has to be updated, certainly making inheritance from IODisplay which seems to be stable.

#2
mrd752002

mrd752002

    InsanelyMac Protégé

  • Members
  • PipPip
  • 79 posts

This driver has been developed with an EeePC 1201N but there is no reason it shall not work in other hardware. Not tested in x86_64.

There must be "AAPL,boot-display" property set in order to bind on the internal display. Chameleon shall do that with graphic injector, otherwise take a look in my DSDT.

For 1201N users, take a look in my DSDT, I've extended the _BCL method to get 93 levels instead of the 16 original. OSX works greater with more levels. (_BCL, _BCM and _BQC shall be taken as a whole)
For hotkeys : WMI Hotkey driver



Thanks for the PM,

your questions;

what is your bios version ? = 0326
do you use x86 or x64 kernel ? = x86
do you use voodooPS2 ? (me not) = yes
can you post your dsdt = yes

I already figured it out my friend HotKoffy,
This what i just done;
1. remove asus hot keys
2. run kext utility
3. restart 1201n
4. install your good kext
5. i install chameleon 2.0 rc5 r656
6. change boot file.
7. re-install 10.6.6 update
8. restart 1201n
9. re-install bluetooth kext and sound kext by kext utility
10. restart 1201n
and everything works.
your kext works great.
keypad keys on-off the light
activate-deactivate the keypad.
volume ok
the rest not yet tested.

here is my dsdt for 2gb ram

#3
Onixs

Onixs

    Since 2007

  • Members
  • PipPipPipPipPipPipPip
  • 808 posts
  • Gender:Male

Thanks for the PM,

your questions;

what is your bios version ? = 0326
do you use x86 or x64 kernel ? = x86
do you use voodooPS2 ? (me not) = yes
can you post your dsdt = yes

I already figured it out my friend HotKoffy,
This what i just done;
1. remove asus hot keys
2. run kext utility
3. restart 1201n
4. install your good kext
5. i install chameleon 2.0 rc5 r656
6. change boot file.
7. re-install 10.6.6 update
8. restart 1201n
9. re-install bluetooth kext and sound kext by kext utility
10. restart 1201n
and everything works.
your kext works great.
keypad keys on-off the light
activate-deactivate the keypad.
volume ok
the rest not yet tested.

here is my dsdt for 2gb ram


Where did you install it, Extra or S/L/E ?

#4
InNewtonITrust

InNewtonITrust

    InsanelyMac Protégé

  • Members
  • Pip
  • 11 posts

For 1201N users, take a look in my DSDT, I've extended the _BCL method to get 93 levels instead of the 16 original. OSX works greater with more levels. (_BCL, _BCM and _BQC shall be taken as a whole)

Is this DSDT otherwise the same as the latest one going around on the 1201n thread? The one adapted by VMonHeros to allow for chameleon's cpu energy management? 2GB of RAM or 4?


Innovative work! The hotkeys thing could be handled by unloading/reloading kexts after sleep, but this is neat.

#5
hotKoffy

hotKoffy

    InsanelyMac Protégé

  • Members
  • PipPip
  • 79 posts

keypad keys on-off the light
activate-deactivate the keypad.
volume ok


Do you mean, the touchpad is enable/disable when you press Fn + F9 ?

I've found this modified voodoo driver with the other Fn keys working (play, FF, FB, stop?, numeric keypad)
http://osx86.co/f36/...nd-tiger-t6814/

#6
mrd752002

mrd752002

    InsanelyMac Protégé

  • Members
  • PipPip
  • 79 posts

Where did you install it, Extra or S/L/E ?


On S/L/E
By the way this is my DSDT
i got it on 1201n forum, i forgot his name but good thanks to him.

Do you mean, the touchpad is enable/disable when you press Fn + F9 ?


yes my friend. Posted Image

dsdt is for 2gb ram

Attached Files

  • Attached File  dsdt.zip   18.85KB   63 downloads


#7
VanDangles

VanDangles

    InsanelyMac Protégé

  • Members
  • Pip
  • 22 posts
  • Gender:Male
Great work with the hotkeys. I was already on 10.6.6 so i just deleted Asus hot keys, ran Kext Util, installed IOWMIFamily.kext through Kext Util, rebooted. Lost trackpad and BT so reran Kext Util and rebooted. Working sweet as can be now even after sleep. Thank you :)

What sort of temps is your 1201N's kicking out? According to IStat menus Im hitting 70c under load with an idle of high 40s c. Im on 4gb DSDT VMonHeros with the 32 bit Kernel. Had it shut down on me last night while watching a 480p flash video.

#8
1337David

1337David

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 100 posts
I made the changes to the DSDT. I though mrd752002 had them but he didn't. The hotkey notification works but the display preference slider doesn't, I included by DSDT in case I screwed up. As well could there be a chance to get itunes hotkeys working? No hurry cause I use Bowtie to bind windows-arrow keys to use itunes anyways.

Attached File  dsdt.aml.zip   18.98KB   24 downloads

#9
hotKoffy

hotKoffy

    InsanelyMac Protégé

  • Members
  • PipPip
  • 79 posts

Great work with the hotkeys. I was already on 10.6.6 so i just deleted Asus hot keys, ran Kext Util, installed IOWMIFamily.kext through Kext Util, rebooted. Lost trackpad and BT so reran Kext Util and rebooted. Working sweet as can be now even after sleep. Thank you ;)

What sort of temps is your 1201N's kicking out? According to IStat menus Im hitting 70c under load with an idle of high 40s c. Im on 4gb DSDT VMonHeros with the 32 bit Kernel. Had it shut down on me last night while watching a 480p flash video.


My CPU temps is around 40/50°C with max at 62°C (cpu benchmark). GPU is around 55°C. All mesurment made with internal diodes.
The thermal zone is DSDT reports very high temp in windows and linux too. I Think it is not accurate.

#10
lalya

lalya

    InsanelyMac Protégé

  • Members
  • Pip
  • 46 posts

I've also injected this in the GPU scope:

"AAPL,backlight-control",                        Buffer (0x04)                        {                            0x01, 0x00, 0x00, 0x00                        },                        "AAPL,BacklightRestore",                        Buffer (0x04)                        {                            0x01, 0x00, 0x00, 0x00                        },                        "AAPL01,BacklightIntensity",                        Unicode ("N"),
I don't know if it is absolutely needed.

Hello, what do you mean by "GPU Scope" ?
In which section of the DSDT i have to insert the entry above?
I've tried to search GPU in my DSDT, but I cannot find any section with that name....

#11
hotKoffy

hotKoffy

    InsanelyMac Protégé

  • Members
  • PipPip
  • 79 posts

Hello, what do you mean by "GPU Scope" ?
In which section of the DSDT i have to insert the entry above?
I've tried to search GPU in my DSDT, but I cannot find any section with that name....


open Terminal and type:
ioreg -rtbSk AppleDisplayType

You should obtain something like that:
+-o Root <class IORegistryEntry>

+-o MacBookAir2,1 <class IOPlatformExpertDevice>

+-o AppleACPIPlatformExpert <class AppleACPIPlatformExpert>

+-o PCI0@0 <class IOACPIPlatformDevice>

+-o AppleACPIPCI <class AppleACPIPCI>

+-o IXVE@10 <class IOPCIDevice>

+-o IOPCI2PCIBridge <class IOPCI2PCIBridge>

+-o IGPU@0 <class IOPCIDevice>

+-o NVDA,Display-A@0 <class IONDRVDevice>

+-o NVDA <class NVDA>

+-o display0 <class IODisplayConnect>

+-o ACPIBacklightDisplay <class ACPIBacklightDisplay>

The GPU is the last device of class IOPCIDevice
Use the classic _DSM method to inject the properties.


#12
hotKoffy

hotKoffy

    InsanelyMac Protégé

  • Members
  • PipPip
  • 79 posts

I made the changes to the DSDT. I though mrd752002 had them but he didn't. The hotkey notification works but the display preference slider doesn't, I included by DSDT in case I screwed up. As well could there be a chance to get itunes hotkeys working? No hurry cause I use Bowtie to bind windows-arrow keys to use itunes anyways.

Attached File  dsdt.aml.zip   18.98KB   24 downloads


I've found this modified voodoo driver with the other Fn keys working (play, FF, FB, stop?, numeric keypad)
http://osx86.co/f36/...nd-tiger-t6814/

I'm not using any voodooPS2 driver, all I've found works great but after some minutes my system didn't respond to mouse/keyboard events... Strange since others didn't have this problem on the same hardware.

#13
hotKoffy

hotKoffy

    InsanelyMac Protégé

  • Members
  • PipPip
  • 79 posts

I made the changes to the DSDT. I though mrd752002 had them but he didn't. The hotkey notification works but the display preference slider doesn't, I included by DSDT in case I screwed up.
Attached File  dsdt.aml.zip   18.98KB   24 downloads


You have not added good properties in the IGPU device _DSM method, copy them from my DSDT or follow instruction on the topic top post !

#14
InNewtonITrust

InNewtonITrust

    InsanelyMac Protégé

  • Members
  • Pip
  • 11 posts
Hey, HotKoffy.
I'm using your DSDT (from the first post of this topic), and have this problem: The hotkey brightness indicator shows up, but the white bars don't increase or decrease. The slider doesn't work either. The

Before i modify my original DSDT, can you think of why this might be happening?

#15
hotKoffy

hotKoffy

    InsanelyMac Protégé

  • Members
  • PipPip
  • 79 posts

Hey, HotKoffy.
I'm using your DSDT (from the first post of this topic), and have this problem: The hotkey brightness indicator shows up, but the white bars don't increase or decrease. The slider doesn't work either. The

Before i modify my original DSDT, can you think of why this might be happening?


Some words are missing in your post... Dificult to respond ;)

Do you have the original 2 Go of RAM ?
Can you post your modify DSDT ?

#16
hotKoffy

hotKoffy

    InsanelyMac Protégé

  • Members
  • PipPip
  • 79 posts

Hey, HotKoffy.
I'm using your DSDT (from the first post of this topic), and have this problem: The hotkey brightness indicator shows up, but the white bars don't increase or decrease. The slider doesn't work either. The

Before i modify my original DSDT, can you think of why this might be happening?


An idea: I have renamed the device in my DSDT

in :
Method (_BCM, 1, NotSerialized){Alias (^^^^LPCB.EC.PWAC, PWAC)Store (SizeOf(PWAC), Local0)While (Local0){Decrement (Local0)Store (DerefOf (Index (PWAC, Local0)), Local1)If (LGreaterEqual (Arg0, Local1)){Store (Local0, LBTN)Break}}^^^^LPCB.EC.ECBR (Arg0)}Method (_BQC, 0, NotSerialized){Alias (^^^^LPCB.EC.PWAC, PWAC)Store(GNVS (0x4498), local0)Return (DerefOf (Index (PWAC, local0)))}

Replace:
  • "EC" by "EC0"
  • "LPCB" by "SBRG"


#17
InNewtonITrust

InNewtonITrust

    InsanelyMac Protégé

  • Members
  • Pip
  • 11 posts
Sorry! :huh:
The problem: The brightness slider stays at its maximum extremity (OSX thinks the brightness is always max).
The BIOS still controls brightness, but the Hotkey displays no change.

I've attached my DSDT, and also images of the problem. Please check it out.

Attached File  PrefSlider.png   350.07KB   70 downloadsAttached File  Hotkey.png   424.61KB   50 downloads

Attached File  dsdtNewton.dsl.zip   36.7KB   17 downloads

PS- Yes, I have 2GB. And yes, I changed those device names when I compiled...

#18
MastroPino

MastroPino

    InsanelyMac Protégé

  • Members
  • Pip
  • 5 posts
Hello I have got another issue, if I install this kext my monitor doesn't start! I mean that after loading OSX will not starts and the monitor stays black! Someone have any idea? For fix this and reboot my osx, I boot with -x and remove the kext.

#19
hotKoffy

hotKoffy

    InsanelyMac Protégé

  • Members
  • PipPip
  • 79 posts

Sorry! :)
The problem: The brightness slider stays at its maximum extremity (OSX thinks the brightness is always max).
The BIOS still controls brightness, but the Hotkey displays no change.

I've attached my DSDT, and also images of the problem. Please check it out.

Attached File  PrefSlider.png   350.07KB   70 downloadsAttached File  Hotkey.png   424.61KB   50 downloads

Attached File  dsdtNewton.dsl.zip   36.7KB   17 downloads

PS- Yes, I have 2GB. And yes, I changed those device names when I compiled...


I've watched your DSDT and you have two times injecting properties with _DSM method in IGPU, one in the device declaration, the 2nd in a Scope (IXVE.IGPU) block.
I don't know what is happening but I think only one is executed and I guess the wrong : without @0,AAPL,boot-display.

You can verify if the driver is loaded with ioreg | grep Display or look in kernel messages (dmesg or with Console.app.

#20
hotKoffy

hotKoffy

    InsanelyMac Protégé

  • Members
  • PipPip
  • 79 posts

Hello I have got another issue, if I install this kext my monitor doesn't start! I mean that after loading OSX will not starts and the monitor stays black! Someone have any idea? For fix this and reboot my osx, I boot with -x and remove the kext.


Which version of osx do you use ?





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