ubuntu亮度无法自动调节终极解决方案

这个问题纠结了我快两年,虚拟主机,香港服务器,主要是自己懒,写了个脚本来调节亮度,不过还是稍显不便。近日兴起折腾了一番,美国空间,终于找到问题根结了。

There are many ways to control brightness. According to this discussion[1]and this wiki page[2], the control method could be divided into these categories:

brightness is controlled by vendor specified hotkey. And there is no interface for OS to adjust brightness.brightness is controlled by OS:

brightness could be controlled by ACPIbrightness could be controlled by graphic driver.

All methods expose themselves to the user by /sys/class/brightness. And xrandr/xbacklight could use this folder and choose one method to control brightness.But it is still not very clear which one xbacklight prefers by default.See FS#27677 for xbacklight, if you get “No outputs have backlight property.”There is a temporary fix if xrandr/xbacklight does not choose the right directory in /sys/class/brightness: You can specify the one you want in xorg.conf by setting the “Backlight” option of the Device section to the name of that directory

brightness is controlled by HW register throught setpci

ACPI

It is often possible to adjust the backlight by ACPI. This controls the actual LEDs or cathodes of the screen. When this ACPI option is available, the illumination is controllable using a GUI slider in the Display/Screen system settings or by simple commands on the CLI.

Different cards might manage this differently. Check/sys/class/backlightto find out:

# ls /sys/class/backlight/intel_backlight

So this particular backlight is managed by an Intel card. It is calledacpi_video0onan ATI card. In the following example, acpi_video0 is used.

The directory contains the following files and folders:

actual_brightness brightnessmax_brightnesssubsystem/ ueventbl_powerdevice/power/type

The maximum brightness (often 15) can be found by runningcat:

# cat /sys/class/backlight/acpi_video0/max_brightness15

Brightness can then be set (as root) withecho. Obviously you cannot go any higher than your screen’s maximum brightness. The values for maximum brightness and brightness in general vary wildly among cards.

# echo 5 > /sys/class/backlight/acpi_video0/brightness

Sometimes ACPI does not work well due to different motherboard implementations and ACPI quirks. This include some models with dual graphics (e.g. Nvidia-optimus/Radeon with intel (i915)) and some examples with this problem in notebooks such as Dell Studio, Dell XPS 14/15/17 and some Lenovo series, Kamal Mostafa kernel developer makepatchesfor solved this issue included after 3.1 kernel version. You can try adding the following kernel parameters in your bootloader(grub, syslinux…) to adjust ACPI model:

acpi_osi=Linux acpi_backlight=vendor

or

acpi_osi=Linux acpi_backlight=legacy

acpi_backlight=vendor will prefer vendor specific driver (e.g. thinkpad_acpi, sony_acpi, etc.) instead of the ACPI video.ko driver.

看了这个之后,很显然,问题就在于acpi_backlight=vendor will prefer vendor specific driver (e.g. thinkpad_acpi, sony_acpi, etc.) instead of the ACPI video.ko driver.于是渐渐开始有些伤怀。

ubuntu亮度无法自动调节终极解决方案

相关文章:

你感兴趣的文章:

标签云: