Back Light Fix for Black Screen on Intel 4500 HD Laptops

If you’re running an notebook with Intel 4500 MHD graphics, you will generally get a black screen the first time you boot up after a new install if you are using one of the newer 3.0 and later kernels. At first I assumed it was a driver problem, but eventually discovered that it’s a kernel bug resulting in the back light not being turned on when the machine boots up.

If you have a bright flashlight, turn on the machine and let it get to the log in screen. You can shine the flashlight on your notebook’s log in screen and if you can just barely make out the cursor and log in box, then the problem is most certainly that your back light never came on.

The fix below was one I found on the Ubuntu forums that was originally developed by someone running Linux Mint. I have been using it for the past year or so on Ubuntu 11.04, 11.10, and 12.04. I got it to work for OpenSuse with some invaluable assistance from Open Suse Forums user Martin Helm, whom I thank greatly. Thanks also to the unknown user from the Linux Mint forums who developed and wrote the other 98% of this fix.

The only downside to this fix is that if your laptop screen turns off when inactive, the back light won’t come back on, so you’ll need to do a hard reset. What I do is set the screen not to turn off when idle and just lock the screen manually.

Without further adieu, here is the fix:

Create a script to set the brightness to your liking. In /usr/local/bin create a file called set-brightness:

user@hostname ~ $ gnomesu gedit /usr/local/bin/set-brightness

and make it look like this:

#!/bin/sh -e

setpci -s 00:02.0 F4.B=60

exit 0

You can change the 60 on line 3 to any hexadecimal value between 00 (full brightness) and FF (full darkness). 60 equates to 62.5% brightness, which I find easier on my eyes in a darker environment. If you prefer full brightness, then use:

setpci -s 00:02.0 F4.B=00

Make sure to make /usr/local/bin/set-brightness executable:

user@hostname ~ $ gnomesu chmod +x /usr/local/bin/set-brightness

Test the script to make sure it works:

user@hostname ~ $ gnomesu set-brightness

You can change the value for brightness used in set-brightness, save the file and re-run the script to tweak the brightness to the level you prefer.

To set the backlight on boot edit /etc/init.d/boot.local

user@hostname ~ $ gnomesu gedit /etc/init.d/boot.local

Add these two lines, uncommented:


/usr/local/bin/set-brightness

exit 0

and save the file. This takes care of setting the backlight at the login screen.

Hmm I have this GPU and don’t have the problem with 3.0+ kernels. Maybe it’s gnome related ?