MacBook(Pro) with Nvidia graphics adapter display backlight fix call for testing
Hi all,
the display backlight on those models with Nvidia graphics adapter is always at its maximum brightness after resuming from suspend, but the chip, and thus the driver, still reports the last recently set value. This updated driver fixes this issue, by re-sending the value upon suspend. Can anyone please confirm that it actually works?
Instructions:
1. Install the attached deb package and reload the module:
Code:
sudo dpkg -i mbp-nvidia-bl-dkms_0.11_all.deb
sudo rmmod mbp_nvidia_bl
sudo modprobe mbp_nvidia_bl
2. MacBookPro 3 and 4 users: Set display brightness to some low value, e.g.:
Code:
echo 1 | sudo tee /sys/class/backlight/mbp_backlight/brightness
, suspend, resume and report whether it works.
3. MacBook 5 and MacBookPro 5 users: This might also work for the new 5th generation models. I don't have these machines and thus cannot test it. Please check out this driver and report whether it works at all.
4. If it didn't work, remove the package:
Code:
sudo apt-get remove --purge mbp-nvidia-bl-dkms
If you want to have a look, the sources are attached as well.
thanks & ciao,
Mario
EDIT: removed attachments. use the mactel PPA instead.
Re: MacBook(Pro) with Nvidia graphics adapter display backlight fix call for testing
Quote:
Originally Posted by
_mario_
2. MacBookPro 3 and 4 users: Set display brightness to some low value, suspend, resume and report whether it works.
well, how surprising, of course it works on my MacBookPro 4.
Re: MacBook(Pro) with Nvidia graphics adapter display backlight fix call for testing
Great work, mario!
I am excited about the possibility that this might actually fix the problem with heat and battery life on the new unibody Macbooks.
Re: MacBook(Pro) with Nvidia graphics adapter display backlight fix call for testing
Quote:
Originally Posted by
_mario_
the display backlight on those models with Nvidia graphics adapter is always at its maximum brightness after resuming from suspend, but the chip, and thus the driver, still reports the last recently set value. This updated driver fixes this issue, by re-sending the value upon suspend. Can anyone please confirm that it actually works?
Instructions:
1. Install the attached deb package and reload the module:
Code:
sudo dpkg -i mbp-nvidia-bl-dkms_0.11_all.deb
sudo rmmod mbp_nvidia_bl
sudo modprobe mbp_nvidia_bl
2. MacBookPro 3 and 4 users: Set display brightness to some low value, e.g.:
Code:
sudo echo 1 > /sys/class/backlight/mbp_backlight/brightness
, suspend, resume and report whether it works.
3. MacBook 5 and MacBookPro 5 users: This might also work for the new 5th generation models. I don't have these machines and thus cannot test it. Please check out this driver and report whether it works at all.
4. If it didn't work, remove the package:
Code:
sudo apt-get remove --purge mbp-nvidia-bl-dkms
If you want to have a look, the sources are attached as well.
thanks & ciao,
Mario
It is working almost OK on my MBP 4,1 running Ubuntu 8.10 release. Upon reboot/suspend the previous display brightness setting is remembered.
One small problem: When the brightness is very low, one encounters a black screen upon resume, and at that point (before password verification) the brightness controls are disabled, so one must enter the password blindly and then use the controls to manually up the display brightness.
This seems like a rounding issue with a floating point variable, although I have not tried to look at the code. Anyway, perhaps a minimum threshold should be something non-zero so that the display will never come back completely black, which is disconcerting.
By the way, the suggested code in step 2
Code:
sudo echo 1 > /sys/class/backlight/mbp_backlight/brightness
does not work for me - it gives me back "permission denied" even though I did not forget the "sudo" prefix. Very strange. Anyway, I set the brightness using the manual control F1-F2.
Good work, Mario. Can you similarly figure out a way to make it remember the KEYBOARD backlight settings after suspend/reboot?
Re: MacBook(Pro) with Nvidia graphics adapter display backlight fix call for testing
For me seems not to work on MacBook 5,1 2.0Ghz. The applet on GNOME not change the brightness.
Code:
ercoppa@ercoppa-laptop:~$ lsmod | grep nvidia
mbp_nvidia_bl 11140 0
nvidia 6900560 28
agpgart 42184 1 nvidia
i2c_core 31892 1 nvidia
ercoppa@ercoppa-laptop:~$ modinfo mbp_nvidia_bl
filename: /lib/modules/2.6.27-7-generic/updates/dkms/mbp_nvidia_bl.ko
alias: svnAppleInc.:pnMacBookPro5,1
alias: svnAppleInc.:pnMacBook5,1
alias: svnAppleInc.:pnMacBookPro4,1
alias: svnAppleInc.:pnMacBookPro3,2
alias: svnAppleInc.:pnMacBookPro3,1
license: GPL
description: Nvidia-based Macbook Pro Backlight Driver
author: Matthew Garrett <mjg@redhat.com>
srcversion: DBA60E7089F1D0F6F752D48
depends:
vermagic: 2.6.27-7-generic SMP mod_unload modversions 586
ercoppa@ercoppa-laptop:~$ sudo echo 1 > /sys/class/backlight/mbp_backlight/brightness
bash: /sys/class/backlight/mbp_backlight/brightness: Permission denied
root@ercoppa-laptop:/home/ercoppa# echo 1 > /sys/class/backlight/mbp_backlight/brightness
root@ercoppa-laptop:/home/ercoppa# echo 1 > /sys/class/backlight/mbp_backlight/actual_brightness
bash: /sys/class/backlight/mbp_backlight/actual_brightness: Permission denied
ercoppa@ercoppa-laptop:~$ sudo echo 1 > /sys/class/backlight/mbp_backlight/brightness
bash: /sys/class/backlight/mbp_backlight/brightness: Permission denied
ercoppa@ercoppa-laptop:~$ cat /sys/class/backlight/mbp_backlight/brightness
1
ercoppa@ercoppa-laptop:~$ cat /sys/class/backlight/mbp_backlight/actual_brightness
15
Anyway thanks for the work :)
How can I help you?
Re: MacBook(Pro) with Nvidia graphics adapter display backlight fix call for testing
Quote:
Originally Posted by
hyperboloid
By the way, the suggested code in step 2
Code:
sudo echo 1 > /sys/class/backlight/mbp_backlight/brightness
does not work for me - it gives me back "permission denied" even though I did not forget the "sudo" prefix. Very strange
It doesn't work because it is really two different commands... You don't need sudo for the echo command, (you normal user can do that), but you need sudo for '>' command because you are trying to pipe to a protected file.
Try it like this:
Code:
echo 1 |sudo tee /sys/class/backlight/mbp_backlight/brightness
Re: MacBook(Pro) with Nvidia graphics adapter display backlight fix call for testing
Quote:
Originally Posted by
hyperboloid
Code:
sudo echo 1 > /sys/class/backlight/mbp_backlight/brightness
does not work for me - it gives me back "permission denied" even though I did not forget the "sudo" prefix. Very strange.
It should read
Code:
echo 1 | sudo tee -a /sys/class/backlight/mbp_backlight/brightness
file pipes do not work with sudo (it is a different command, executed as the normal user)
EDIT: oops - I obviously forgot to refresh my tab :-)
Re: MacBook(Pro) with Nvidia graphics adapter display backlight fix call for testing
Quote:
Originally Posted by
ercoppa
For me seems not to work on MacBook 5,1 2.0Ghz. The applet on GNOME not change the brightness.
Does the thank you to cyberdork's post mean it works for you to change the screen brightness on the MacBook5,1?
Re: MacBook(Pro) with Nvidia graphics adapter display backlight fix call for testing
Quote:
Does the thank you to cyberdork's post mean it works for you to change the screen brightness on the MacBook5,1?
The command works (only for /sys/class/backlight/mbp_backlight/brightness) but the brightness doesn't change.
P.s. excuse me for my bad english :(
Re: MacBook(Pro) with Nvidia graphics adapter display backlight fix call for testing
Quote:
Originally Posted by
kosumi68
It should read
Code:
echo 1 | sudo tee -a /sys/class/backlight/mbp_backlight/brightness
file pipes do not work with sudo (it is a different command, executed as the normal user)
EDIT: oops - I obviously forgot to refresh my tab :-)
Just a small off-topic question... Doesn't the -a switch mean append? Does it make a difference if you append or replace for a sys file like that?