Changing the screen brightness of the external screen

I have installed Ubuntu 16.04 LTS on my laptop and connected it to an external monitor via an HDMI cable. I can easily change the brightness of the laptop screen but that does not affect the brightness of the external monitor. Is there any way to change the brightness of the external monitor as well?


Solution 1:

It's very easy to do via the command line. First, type the following command in terminal to identify your screens:

xrandr -q | grep " connected"

and you'll get something like this:

LVDS1 connected 1366x768+0+0 (normal left inverted right x axis y axis) 344mm x 194mm

VGA1 connected primary 1366x768+1366+48 (normal left inverted right x axis y axis) 413mm x 234mm

LVDS1 is related to laptop's built-in display. I am using an external monitor (VGA1 in this case). If you want to reduce the brightness of external screen, you just type this, for example:

xrandr --output VGA1 --brightness 0.63

Solution 2:

Hardware control solution (no software dimming)

By now there are 2 softwares to do hardware dimming:

  • ddccontrol (CLI and an GUI)
  • ddcutil (CLI and an GUI)
  • ddcci-backlight (driver to be picked up by GNOME and others)

Tool 1: ddccontrol

ddccontrol (note the double cc) is a tool to control the settings of many monitors in exactly the same way their on-screen display / hardware buttons control them.

It is available in Ubuntu (man page) via apt install ddccontrol.

gddccontrol is a graphical user interface for it: apt install gddccontrol

Both need to be run as root:

  • sudo ddccontrol for the command line tool
  • gksudo gddccontrol or pkexec gddccontrol for the GUI tool.

(Based on @Ad Infinitum's comment in @Taz8du29's comment (but note and extra c in the name.)

Tool 2: ddcutil / ddcui

An alternative to ddccontrol, made at a time when ddccontrol was rather unmaintained.

It is available in Ubuntu (man page) via apt install ddcutil.

You can run them as root or install the i2c-tools and add your user to the group i2c to do it without root (explanation).

It also has a GUI called ddcui (screenshot here).

In case you want to reduce the brightness past the lowest level allowed on monitor's OSD or ddcutil getvcp 10, you may try to uniformly reduce RGB levels with ddcutil getvcp 16/18/1A.

Tool 3: ddcci-backlight driver

This ddcci driver integrates all ddcci-capable monitors into sysfs, including /sys/class/backlight/. Because i.e. GNOME will use that interface to set the brightness, you can set the brightness without an additional UI, or the terminal.

It is available on Ubuntu: apt install ddcci-dkms

Solution 3:

The brightness controller mentioned before is now version 2. The original simple version is available using the following steps with support for up to 4 monitors. Tested working without issue on Ubuntu 14.04 and 16.04.

sudo add-apt-repository ppa:apandada1/brightness-controller
sudo apt-get update
sudo apt-get install brightness-controller-simple

enter image description here

Enjoy!

Solution 4:

I have finally found a package, which adjust the brightness of secondary external monitor, which is connected with HDMI.

The package is called Brightness Controller (version 2 with newer interface)

In order to install it, first add the PPA repository to your system and update your package list:

sudo add-apt-repository ppa:apandada1/brightness-controller
sudo apt update

You can then install the package as usual using apt:

sudo apt install brightness-controller

After it is installed, primary is the first screen and the secondary is the external monitor.

![enter image description here