Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

I have a Lenovo SL510 laptop running Linux Mint Debian Edition (based on Debian Testing) using the Cinnamon DE, and the brightness appears to only have two settings: 100% and 0%. If I use the brightness keys on the laptop and decrease the brightness, it immediately drops to 0%. The same thing happens if I increase the brightness; it automatically jumps to 100%. I get the same effect if I use the brightness widget in Cinnamon.

From lsmod, these are the acpi kernel modules I have installed:

Module                  Size  Used by

thinkpad_acpi          61270  0
nvram                  13049  1 thinkpad_acpi
acpi_cpufreq           12935  1
snd                    52850  17 snd_timer,snd_seq_device,snd_seq,snd_rawmidi,thinkpad_acpi,snd_pcm,snd_mixer_oss,snd_pcm_oss,snd_hwdep,snd_hda_codec,snd_hda_intel,snd_hda_codec_realtek,snd_hda_codec_hdmi
rfkill                 19012  6 cfg80211,thinkpad_acpi,bluetooth
mperf                  12453  1 acpi_cpufreq
processor              28157  3 acpi_cpufreq

From uname -r, my kernel version is 3.2.0-4-amd64.

What can I do to fix this, or what other information should I post to troubleshoot this?

share|improve this question

1 Answer 1

up vote 1 down vote accepted

You can have a look at some stuff in /proc and /sys and see what happens; the brightness widget or whatever in your DE (you did not say which one) uses some interface to something there. /proc and /sys do not exist on disk; the files they contain are special interfaces to the kernel. Many of the files can be written to to control various things.

For example: I'm using a toshiba satellite and in there is a "toshiba" directory in /proc/acpi. In that directory there is a file "lcd":

»cat lcd
brightness:              5
brightness_levels:       8

You can't write to this file, however. More useful that way are some directories in /sys/class/backlight -- I have "acpi_video0", "intel_backlight", and "toshiba" again. However, this toshiba directory contains different stuff. Having already fooled around with this, I know that the relevant stuff in my case is actually in "acpi_video0":

»ls -1 acpi_video0/
actual_brightness
bl_power
brightness
device
max_brightness
power
subsystem
type
uevent

Some of those are directories. Now:

»cd acpi_video0/
»cat max_brightness 
7

This does correspond to the "brightness_levels" from proc, since 0-7 is 8 levels.

»cat brightness 
5
»echo 2 > brightness

If you are not root, the echo will fail with "Permission denied". Since I was root at that point, my screen suddenly got a lot dimmer.

The widget on my KDE desktop that pops up when I use the keyboard dimmer goes from 0-100 usually in increments of 10 or 20% -- or sometimes doesn't give a percent, or occasionally gives "52%" or something -- but in empirical reality it is always the same 7 steps from 0% to 100%. With KDE there's some brightness stuff in the GUI Systems Settings under "Power Management" but again, it all relates to the same thing.

You can also access/browse/manipulate the values in /sys using the command sysctl, see man sysctl. Which method is simpler probably depends on how you use the command line; I use an orthodox filebrowser (mc) which makes a difference, since I don't actually have to cd/ls/cat etc.

So have a look at that stuff and see what happens. Keep in mind that since hardware manufacturers generally do not provide linux drivers, someone has to develop them and often without being paid (meaning, in their spare time). Furthermore, those manufacturers are often hostile to requests for information which might be helpful in creating such drivers (I've been there), making the process a pain in the ass. Net result: not all the drivers are 100% functional (which is not the same as defective -- they work, they just don't work to do everything). Que sera, sera.

share|improve this answer
    
I don't have an lcd directory in /proc/acpi, but in /sys/class/backlight, I have two directories: acpi_video0 and intel_backlight. In acpi_video0, the brightness file contains 15. If I echo 14 > brightness or any other value less than 15, the screen immediately goes black. –  Ricardo Altamirano Feb 28 '13 at 12:12
    
Since I don't have an lcd directory, is there another place I should be looking? –  Ricardo Altamirano Mar 2 '13 at 16:16
    
I imagine how those directories work out differs from driver to driver. Can you restore the screen by blindly typing echo 15> brightness? If not, I would call this a defect (actual bug) and not just limited functionality. –  goldilocks Mar 2 '13 at 16:30
    
I can restore the brightness that way, or by using the relevant function keys. Maybe it is just limited functionality, but unfortunately it's absolute death for battery life. –  Ricardo Altamirano Mar 2 '13 at 16:33
2  
Ah, no doubt. That sucks. You could report this as an acpi bug: bugzilla.kernel.org Make sure you mention the kernel version (uname -r), label (uname -v), where it came from (mint), details about your hardware, and the list of modules used (from lsmod). Don't expect immediate action, lol. –  goldilocks Mar 2 '13 at 16:39

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.