binum Posted December 6, 2010 Share Posted December 6, 2010 Hi ivik, good work. Can you help me? This is my dsdt: http://www.mediafire.com/?4uukl7to7ti5r27 It's very complicated for me. Video card is gfx0. It's a sony vaio and all components work flawlessy, no problems. The dsdt is marked by asus. Thank you for help. I'm french. Link to comment Share on other sites More sharing options...
lalya Posted December 7, 2010 Share Posted December 7, 2010 I wonder why the brightness for me works only if I boot the system in ARCH=I386 mode... When it boots normally (LP_64), nothing works! Please give me some hint... anyone... my graphic card is GMA950 (Intel) Hello ivik,I hope you can help me. In my thinkpad there's no way for me to control the brightness of my screen, and neither in the "screen" control panel I have the slider to correct or change lcd brightness. So everytime I have to change it before the laptop boots into SL, by using the Fn + Home (to raise up brightness) or Fn + End (to lower brightness). I am not keen in making changes to DSDT, I don't want to break up something... so can you tell me what do I have to do? Can you have a look at my actual DSDT and see if its possible to modify it, to allow me to change brightness in snow leopard? I just want a slider to make it possible to control it otherwise I have to reboot everytime just to change brightness level I attach my actual working DSDT here: http://www.mediafire.com/?5bjexyk8zlmg5r2 Thanks in advance Link to comment Share on other sites More sharing options...
ivik Posted December 7, 2010 Author Share Posted December 7, 2010 Intel graphics drivers are not 64 bit. Link to comment Share on other sites More sharing options...
lalya Posted December 7, 2010 Share Posted December 7, 2010 Intel graphics drivers are not 64 bit. But with "graphic enabler" option enabled in chameleon at boot, it works anyway, even in LP_64 and it's stable. Only missing is the brightness control. I did not try... but If I install just your kext "GenericBrightness.kext" should add the brightness control option in 64-bit mode? Or do I still have to add functions in DSDT? Sorry if i'm a bit confused Link to comment Share on other sites More sharing options...
ivik Posted December 7, 2010 Author Share Posted December 7, 2010 Please post yout dsdt.dsl (not aml, i couldn't decompile the one you posted before) Maybe it is working, but hardware acceleration is not enabled because GMA drivers are 32bit. You can't install my kext before dsdt edit. "should add the brightness control option in 64-bit mode" => don't understand what you mean by that. Link to comment Share on other sites More sharing options...
lalya Posted December 7, 2010 Share Posted December 7, 2010 Please post yout dsdt.dsl (not aml, i couldn't decompile the one you posted before) Maybe it is working, but hardware acceleration is not enabled because GMA drivers are 32bit. You can't install my kext before dsdt edit. "should add the brightness control option in 64-bit mode" => don't understand what you mean by that. hi again ivik, i just extracted the dsl from my system (I hope I did the right thing) http://www.mediafire.com/?c9ukrac3sro6dzc in the last line you did not understand i meant... mmm... if there's a chance to see the slide brightness control also in 64bit...because now in Preferences ---> Monitor, I see the brightness level only in 32bit, in 64 I have no chance to control it, somehow... try to have a look at my dsl when you can... and see if there's something we can try... thanks. Link to comment Share on other sites More sharing options...
ivik Posted December 7, 2010 Author Share Posted December 7, 2010 Brightness methods don't exist on your notebook. Read post http://www.insanelymac.com/forum/index.php...&p=1597961: Maybe your brightness is controlled with EC. Slider won't work on 64bit. Link to comment Share on other sites More sharing options...
Slice Posted December 7, 2010 Share Posted December 7, 2010 Don't know why but the kext doen't start automatically. It placed into /s/l/e and started only after bash-3.2# kextutil /System/Library/Extensions/GenericBrightness.kext/ bash-3.2# Link to comment Share on other sites More sharing options...
ivik Posted December 7, 2010 Author Share Posted December 7, 2010 Yeah... i added different poller variable since brightness from ioreg is not available before login.It waits 10 sec if brightness is not available before next attempt.You could delete that timer value if bothers you.Does it compile on on tiger?Also... i found bug today. Missed one index . It should look like this now + one variable less: if (fLastBrightness != fCurrentBrightness) { fLastBrightness = fCurrentBrightness; // IOLog("brightnessmin %d, brightnessmax %d, currentbrightness %d\n", (int)fMinBrightness, (int)fMaxBrightness, (int)fCurrentBrightness); OSObject * param = OSNumber::withNumber(GetValueFromArray(brightnessTable,((fCurrentBrightness*(brightnessIndex-3))/fMaxBrightness)+2),8); SetBrightness("_BCM", param); } Link to comment Share on other sites More sharing options...
Slice Posted December 7, 2010 Share Posted December 7, 2010 OK, I decrease timeout to 2sec and apply your patch. I also compile without PPC arch Your bash-3.2# kextlibs --undef /Users/slice/Downloads/Brightness/GenericBrightness.kext For x86_64: com.apple.iokit.IOGraphicsFamily = 2.2 com.apple.kpi.iokit = 10.5 com.apple.kpi.libkern = 10.5 For i386: com.apple.iokit.IOGraphicsFamily = 2.2 com.apple.kpi.iokit = 10.5 com.apple.kpi.libkern = 10.5 For ppc: com.apple.kpi.iokit = 10.5 com.apple.kpi.libkern = 10.5 3 symbols not found in any library kext: _gIODisplayBrightnessKey __ZN9IODisplay15getIntegerRangeEP12OSDictionaryPK8OSSymbolPlS5_S5_ __ZN18IOBacklightDisplay9metaClassE bash-3.2# and my bash-3.2# kextlibs --undef /Users/slice/Downloads/Brightness/GenericBrightnessSVIapple/build/Release/GenericBrightness.kext For all architectures: com.apple.iokit.IOGraphicsFamily = 2.2 com.apple.kpi.iokit = 10.5 com.apple.kpi.libkern = 10.5 bash-3.2# But the kext is still not started at boot. Tiger will be available at evening, little later. Link to comment Share on other sites More sharing options...
binum Posted December 7, 2010 Share Posted December 7, 2010 Hi ivik, i have see what you have to say me with rweverything but it's impossible to understand. The values, all values change always indipendently for min max of light screen. It's impossible to understand. Any help please? Can try something in dsdt and make some attempts? Thank you Link to comment Share on other sites More sharing options...
ivik Posted December 7, 2010 Author Share Posted December 7, 2010 Hmm... don't know why that linking error appears. These are my settings: Are you using includes from your system or supplied with my archive? My are little modified. A also get that linkinkg eror with that check... but it works fine here and it worked for others. I know i had these problems without proper plist (com.apple.iokit.IOGraphicsFamily) kextlibs --undef GenericBrightness.kext For x86_64: com.apple.iokit.IOGraphicsFamily = 2.2 com.apple.kpi.iokit = 10.5 com.apple.kpi.libkern = 10.5 For i386: com.apple.iokit.IOGraphicsFamily = 2.2 com.apple.kpi.iokit = 10.5 com.apple.kpi.libkern = 10.5 For ppc: com.apple.kpi.iokit = 10.5 com.apple.kpi.libkern = 10.5 3 symbols not found in any library kext: _gIODisplayBrightnessKey __ZN9IODisplay15getIntegerRangeEP12OSDictionaryPK8OSSymbolPlS5_S5_ __ZN18IOBacklightDisplay9metaClassE Hi ivik, good work. Can you help me? This is my dsdt: http://www.mediafire.com/?4uukl7to7ti5r27 It's very complicated for me. Video card is gfx0. It's a sony vaio and all components work flawlessy, no problems. The dsdt is marked by asus. Thank you for help. I'm french. Why is marked as asus? Could you provide me with really (virgin) clean dsdt? I know that sony has snc device for brightness. One user got it working, but your snc device is empty. Link to comment Share on other sites More sharing options...
binum Posted December 7, 2010 Share Posted December 7, 2010 Hi ivik, you are right, perfectly, i deleted too, excuse moi. Try with this: http://www.mediafire.com/?foy6f4x66cu5sif I have re-add what you want. Thank you man Link to comment Share on other sites More sharing options...
ivik Posted December 7, 2010 Author Share Posted December 7, 2010 Read this post:http://www.insanelymac.com/forum/index.php?showtopic=236835&st=180 You don't have those methods... and PCI0.LPCB.SNC.SBRT doesn't exist... don't know. Maybe you deleted it or it is some other method. It is hard to say... Link to comment Share on other sites More sharing options...
binum Posted December 7, 2010 Share Posted December 7, 2010 ivik this is the original dsdt http://www.mediafire.com/?3e56v7de5oie6l7 please help me, in snc device i see the right values for each SNF .. thanks I think was the SNGN, look the structure of SN00 method Link to comment Share on other sites More sharing options...
ivik Posted December 7, 2010 Author Share Posted December 7, 2010 Try this one: DSDT.aml.zip Link to comment Share on other sites More sharing options...
binum Posted December 7, 2010 Share Posted December 7, 2010 Hi ivik, i have try, thanks. The slide of brightness in monitor preferences works as before, but the problem is the same for me, the values are not read correctly maybe, the screen begin all black after a few seconds if i decrease brightness, i think that still something of wrong Link to comment Share on other sites More sharing options...
binum Posted December 7, 2010 Share Posted December 7, 2010 I feel that we are close, because the values are that.. the problem, only, i think, is that if i decrease the slider little by little the screen begin black, increasingly dark Link to comment Share on other sites More sharing options...
ivik Posted December 7, 2010 Author Share Posted December 7, 2010 Try this one: DSDT.aml.zip Link to comment Share on other sites More sharing options...
binum Posted December 7, 2010 Share Posted December 7, 2010 Thanks man, but nothing, same exact problem that i describe a little more on no change in positive missing something Link to comment Share on other sites More sharing options...
ivik Posted December 7, 2010 Author Share Posted December 7, 2010 Don't know then... Link to comment Share on other sites More sharing options...
Slice Posted December 7, 2010 Share Posted December 7, 2010 Hmm... don't know why that linking error appears. These are my settings: Are you using includes from your system or supplied with my archive? My are little modified. No problem. The error is for PPC arch that you included in the project. I exclude. With Tiger I have no result yet. I changed IODisplay.h and IOFramebuffer.h to Tiger's version and the project is successfully compiled. And yes, project settings, SDK, compiler, archs. Is it good? But I have some problem with DSDT so can't say anything. I had very few time to do that. The kext panic if _BCM is absent? Link to comment Share on other sites More sharing options...
Scorpy22 Posted December 7, 2010 Share Posted December 7, 2010 SUCCESS !!!I managed to get brightness working on my laptop (Nvidia G310m) ! Although it doesn't use your kext, ivik, but I have used it a lot during my research and I think it is interesting information for other nvidia users.Now, before I get to how I did it, I'd like to warn you that I have just succeeded moments ago and I still need to check temperatures and other harmful factors that may cause harm to the hardware.Apparently, all it needed was the @0,pwm-info key injected, I took this key from a MacBookPro6,1 dump,Here, since our graphics card were similar and injected it via GFX strings. Additionally, I added a PNLF device to my DSDT ( usefulness is still to be tested ).Here is the Pnlf device: Device (PNLF) { Name (_HID, EisaId ("APP0002")) Name (_CID, "backlight") Name (_UID, 0x0A) Name (_STA, 0x0B) } And here is the injected part, you can inject it via DSDT or GFX string, it is your choice. You can look up information on how to do that on this forum.<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)</key> <dict> <key>@0,AAPL,boot-display</key> <string>0x00000001</string> <key>@0,EDID</key> <data>AP///////wBMo0UyAAAAAAASAQCAIhN4Cof1lFdPjCcnUFQAAAABAQEBAQEBAQEBAQEBAQEBQRxWoFAAFjAwICUAWMIQAAAZAAAADwAAAAAAAAAAACOHAmQBAAAA/gBTQU1TVU5HCiAgICAgAAAA/gBMVE4xNTZBVDAyMDAwAHw=</data> <key>@0,backlight-control</key> <data>AQAAAA==</data> <key>@0,use-backlight-blanking</key> <data></data> <key>@1,can-hot-plug</key> <data></data> <key>@0,pwm-info</key> <data>AhgAZJBZAgAIUgAApRwAAAAEAAABAAAA</data> <key>AAPL,backlight-control</key> <data>AQAAAA==</data> <key>AAPL,aux-power-connected</key> <data>AQAAAA==</data> <key>@0,built-in</key> <string>0x01</string> <key>@0,compatible</key> <data>TlZEQSxOVk1hYwA=</data> <key>@0,device_type</key> <data>ZGlzcGxheQA=</data> <key>@0,display-cfg</key> <string>0x0036ffff</string> <key>@0,name</key> <data>TlZEQSxEaXNwbGF5LUEA</data> <key>@1,compatible</key> <data>TlZEQSxOVk1hYwA=</data> <key>@1,device_type</key> <data>ZGlzcGxheQA=</data> <key>@1,display-cfg</key> <string>0x013eff00</string> <key>@1,name</key> <data>TlZEQSxEaXNwbGF5LUIA</data> <key>AAPL,slot-name</key> <string>Slot-1</string> <key>NVCAP</key> <data>BAAAAAAAAQD+AAAAAAAACgAAAAA=</data> <key>NVPM</key> <data>AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==</data> <key>VRAM,totalsize</key> <string>0x20000000</string> <key>device_type</key> <data>TlZEQSxQYXJlbnQA</data> <key>model</key> <data>R2VGb3JjZSBHMzEwTQA=</data> <key>rom-revision</key> <data>IEJJT1MA</data> </dict> </dict> </plist> It all began to work for me when I injected the @0,pwm-info key however some of the other keys may still be necessary (especially the keys concerning backlight).Again, this may be dangerous, be careful when or if you try this out. I am not responsible if this bricks your hardware Link to comment Share on other sites More sharing options...
ivik Posted December 7, 2010 Author Share Posted December 7, 2010 Yeah. I compiled just intel 32/64 and no missing symbols. But you said that driver wasn't auto loaded.Maybe changing IODisplay.cpp from tiger could fix that. getIntegerRange is from there.It doesn't panic if _BCM is missing. One user reported panic when _BQC didn't return value(all.zip package)Didn't test it when _BCL is missng.Do IODisplayParamets look the same as on SL? And service has same name (IOBacklightDisplay) and IODisplayGUID?I never compiled something for tiger.. so don't know. SUCCESS !!!I managed to get brightness working on my laptop (Nvidia G310m) ! Although it doesn't use your kext, ivik, but I have used it a lot during my research and I think it is interesting information for other nvidia users.Now, before I get to how I did it, I'd like to warn you that I have just succeeded moments ago and I still need to check temperatures and other harmful factors that may cause harm to the hardware.Apparently, all it needed was the @0,pwm-info key injected, I took this key from a MacBookPro6,1 dump,Here, since our graphics card were similar and injected it via GFX strings. Additionally, I added a PNLF device to my DSDT ( usefulness is still to be tested ).Here is the Pnlf device:Device (PNLF) { Name (_HID, EisaId ("APP0002")) Name (_CID, "backlight") Name (_UID, 0x0A) Name (_STA, 0x0B) } And here is the injected part, you can inject it via DSDT or GFX string, it is your choice. You can look up information on how to do that on this forum.<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)</key> <dict> <key>@0,AAPL,boot-display</key> <string>0x00000001</string> <key>@0,EDID</key> <data>AP///////wBMo0UyAAAAAAASAQCAIhN4Cof1lFdPjCcnUFQAAAABAQEBAQEBAQEBAQEBAQEBQRxWoFAAFjAwICUAWMIQAAAZAAAADwAAAAAAAAAAACOHAmQBAAAA/gBTQU1TVU5HCiAgICAgAAAA/gBMVE4xNTZBVDAyMDAwAHw=</data> <key>@0,backlight-control</key> <data>AQAAAA==</data> <key>@0,use-backlight-blanking</key> <data></data> <key>@1,can-hot-plug</key> <data></data> <key>@0,pwm-info</key> <data>AhgAZJBZAgAIUgAApRwAAAAEAAABAAAA</data> <key>AAPL,backlight-control</key> <data>AQAAAA==</data> <key>AAPL,aux-power-connected</key> <data>AQAAAA==</data> <key>@0,built-in</key> <string>0x01</string> <key>@0,compatible</key> <data>TlZEQSxOVk1hYwA=</data> <key>@0,device_type</key> <data>ZGlzcGxheQA=</data> <key>@0,display-cfg</key> <string>0x0036ffff</string> <key>@0,name</key> <data>TlZEQSxEaXNwbGF5LUEA</data> <key>@1,compatible</key> <data>TlZEQSxOVk1hYwA=</data> <key>@1,device_type</key> <data>ZGlzcGxheQA=</data> <key>@1,display-cfg</key> <string>0x013eff00</string> <key>@1,name</key> <data>TlZEQSxEaXNwbGF5LUIA</data> <key>AAPL,slot-name</key> <string>Slot-1</string> <key>NVCAP</key> <data>BAAAAAAAAQD+AAAAAAAACgAAAAA=</data> <key>NVPM</key> <data>AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==</data> <key>VRAM,totalsize</key> <string>0x20000000</string> <key>device_type</key> <data>TlZEQSxQYXJlbnQA</data> <key>model</key> <data>R2VGb3JjZSBHMzEwTQA=</data> <key>rom-revision</key> <data>IEJJT1MA</data> </dict> </dict> </plist> It all began to work for me when I injected the @0,pwm-info key however some of the other keys may still be necessary (especially the keys concerning backlight).Again, this may be dangerous, be careful when or if you try this out. I am not responsible if this bricks your hardware Good job!!!!And all brightness levels are oke? Are you inejcting your EDID? Link to comment Share on other sites More sharing options...
Scorpy22 Posted December 7, 2010 Share Posted December 7, 2010 Brightness levels seem to be OK, as for the EDID I injected prior to all the attempts I made to get brightness control working because without it screen colours would be strange. Here is the brightness section on my IOReg Now I just need to map my brightness keys to Fn+Up and Fn+Down , I seem to remember that there was some info on this thread, a few pages back. Link to comment Share on other sites More sharing options...
Recommended Posts