Difference between revisions of "Backlight"

From ArchWiki
Jump to: navigation, search
Line 25: Line 25:
 
  bl_power          device/            power/            type
 
  bl_power          device/            power/            type
  
The maximum brightness (often 15) can be found by running {{Codeline|cat}}:
+
The maximum brightness (often 15) can be found by running {{ic|cat}}:
  
 
  # cat /sys/class/backlight/acpi_video0/max_brightness
 
  # cat /sys/class/backlight/acpi_video0/max_brightness
 
  15
 
  15
  
Brightness can then be set (as root) with {{Codeline|echo}}:
+
Brightness can then be set (as root) with {{ic|echo}}:
  
 
  # echo 5 > /sys/class/backlight/acpi_video0/brightness
 
  # echo 5 > /sys/class/backlight/acpi_video0/brightness
Line 44: Line 44:
  
 
==xbacklight==
 
==xbacklight==
You can adjust the backlight through the xorg-server command {{Codeline|xbacklight}}.  The utility is provided by the {{Package Official|xorg-xbacklight}} package in [extra].
+
You can adjust the backlight through the xorg-server command {{ic|xbacklight}}.  The utility is provided by the {{Package Official|xorg-xbacklight}} package in [extra].
  
 
A useful demonstration was posted by [http://www.youtube.com/watch?v=_pi3iKMAJcY gotbletu on YouTube]. He suggests the following commands to adjust the backlight:
 
A useful demonstration was posted by [http://www.youtube.com/watch?v=_pi3iKMAJcY gotbletu on YouTube]. He suggests the following commands to adjust the backlight:
Line 63: Line 63:
  
 
==redshift==
 
==redshift==
The program [http://jonls.dk/redshift/ redshift] in the community repository uses {{Codeline|randr}} to adjust the screen brightness depending on the time of day and your geographic position. It can also do RGB gamma corrections and set color temperatures. As with {{Codeline|xcalib}}, this is very much a software solution and the look of the mouse cursor is unaffected. To execute a single quick adjustment of the brightness, try something like this:
+
The program [http://jonls.dk/redshift/ redshift] in the community repository uses {{ic|randr}} to adjust the screen brightness depending on the time of day and your geographic position. It can also do RGB gamma corrections and set color temperatures. As with {{ic|xcalib}}, this is very much a software solution and the look of the mouse cursor is unaffected. To execute a single quick adjustment of the brightness, try something like this:
  
 
  redshift -o -l 0:0 -b 0.8 -t 6500:6500
 
  redshift -o -l 0:0 -b 0.8 -t 6500:6500
Line 70: Line 70:
 
It is possible to set the register of the graphic card to adjust the backlight. It means you adjust the backlight by manipulating the hardware directly, which can be risky and generally is not a good idea. Not all of the graphic cards support this method.
 
It is possible to set the register of the graphic card to adjust the backlight. It means you adjust the backlight by manipulating the hardware directly, which can be risky and generally is not a good idea. Not all of the graphic cards support this method.
  
When using this method, you need to use {{Codeline|lspci}} first to find out where your graphic card is.
+
When using this method, you need to use {{ic|lspci}} first to find out where your graphic card is.
 
  # setpci -s 00:02.0 F4.B=0
 
  # setpci -s 00:02.0 F4.B=0
  

Revision as of 18:02, 12 February 2012

Screen brightness can often be tricky to control. On many machines, physical hardware switches are missing and software solutions may or may not work well. Make sure to find a working method for your hardware! Too bright screens can cause eye strain.

There are many ways to adjust the screen backlight of a monitor, laptop or integrated panel (such as the iMac) using software, but depending on hardware and model, sometimes only some options are available. This article aims to summarize all possible ways to adjust the backlight.

Overview

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 category:

  • 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 ACPI
    • brightness could be controlled by graphic driver.

all methods expose themselves to 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 is preferred by xbacklight as default. See FS#27677 for xbacklight, if you get "No outputs have backlight property"

  • 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. The ACPI kernel interface for interacting with the backlight is typically be located here:

/sys/class/backlight/acpi_video0/

It contains the following files and folders:

actual_brightness  brightness         max_brightness     subsystem/    uevent             
bl_power           device/            power/             type

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

# cat /sys/class/backlight/acpi_video0/max_brightness
15

Brightness can then be set (as root) with echo:

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

Sometimes ACPI does not work well due to different motherboard implementations and ACPI quirks. You can try adding the following kernel parameters in grub 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.

xbacklight

You can adjust the backlight through the xorg-server command xbacklight. The utility is provided by the Template:Package Official package in [extra].

A useful demonstration was posted by gotbletu on YouTube. He suggests the following commands to adjust the backlight:

  • brighten up:
xbacklight -inc 40
  • dim down:
xbacklight -dec 40

xcalib

The program xcalib can be downloaded from AUR and used to dim the screen. Again, the user gotbletu posted a demonstration on Youtube. This program can correct gamma, invert colors and reduce contrast, the latter of which we use in this case:

  • dim down:
xcalib -co 40 -a

This program uses ICC technology to interact with X11 and while the screen is dimmed, you may find that the mouse cursor is just as bright as before.

redshift

The program redshift in the community repository uses randr to adjust the screen brightness depending on the time of day and your geographic position. It can also do RGB gamma corrections and set color temperatures. As with xcalib, this is very much a software solution and the look of the mouse cursor is unaffected. To execute a single quick adjustment of the brightness, try something like this:

redshift -o -l 0:0 -b 0.8 -t 6500:6500

setpci (use with great care)

It is possible to set the register of the graphic card to adjust the backlight. It means you adjust the backlight by manipulating the hardware directly, which can be risky and generally is not a good idea. Not all of the graphic cards support this method.

When using this method, you need to use lspci first to find out where your graphic card is.

# setpci -s 00:02.0 F4.B=0

KDE

KDE users can adjust the backlight via System Settings -> Power Management -> Power Profiles.

NVIDIA Settings

Users of NVIDIA's proprietary drivers users can change display brightness via the nvidia-settings utility under "X Server Color Correction."