The Cookie Machine - Click here to drag window

DUMMY TEXT - Real text set in assets/js/theCookieMachine.js

Views: 931β€…    Votes:  0β€…    βœ… Solution
Tags: grub2   brightness   asus   mint  
Link: πŸ” See Original Answer on Ask Ubuntu πŸ”—

URL: https://askubuntu.com/q/1058157
Title: Brightness wont go up or down and is stuck on max setting! Tried others solutions but still no fix! Please someone help!
ID: /2018/07/21/Brightness-wont-go-up-or-down-and-is-stuck-on-max-setting!-Tried-others-solutions-but-still-no-fix!-Please-someone-help!
Created: July 21, 2018    Edited:  June 12, 2020
Upload: November 24, 2022    Layout:  post
TOC: false    Navigation:  false    Copy to clipboard:  false


Software solution

In the question and in comments OP has tried many different hardware solutions to no avail. This leaves software solutions which aren’t as effective but better than nothing. This script can be adapted for all monitors:

#!/bin/bash

# NAME: alien
# PATH: /mnt/e/bin
# DESC: Set brightness of Alien Laptop
# DATE: Dec 9, 2017. Modified July 21, 2018.

# NOTE: Monitor name changes with driver used: nVidia = "eDP-1-1"
#                                             Nouveau = "eDP-1"
#                                               Intel = "eDP1"

MonitorName="eDP"
AllMonitors=`xrandr -q | grep -v disconnected | grep connected | awk '{print $1}'`
echo All Monitors: $AllMonitors
substr=ab
for s in $AllMonitors; do
    if case ${s} in *"${MonitorName}"*) true;; *) false;; esac; then
        FullMonitor=${s}
        printf %s\\n "'${s}' contains '${MonitorName}'"
    else
        printf %s\\n "'${s}' does not contain '${MonitorName}'"
    fi
done
echo Full Monitor: $FullMonitor

if [[ $# -ne 1 ]]; then
    xrandr --verbose | grep -A5 "^$FullMonitor" > /tmp/alien
    head -n1 /tmp/alien
    echo "$(tput setaf 6)" ; tail -n1 /tmp/alien ; echo "$(tput sgr0)"
    rm /tmp/alien
    echo 'One argument required for brightness level, e.g. "alien .63"'
    echo 'will set brightness level of Alien display to level .63 using xrandr'
    exit 1
fi

xrandr --output "$FullMonitor" --brightness "$1"

The script above was written for a three monitor system and addresses the laptop screen. Two other scripts (not listed here) are called β€œSony” and β€œToshiba” for two external HDMI monitors. The laptop can have Intel driver for i7-6700 HQ HD 530 graphics iGPU, nVidia GTX 970M GPU with different xrandr screen names depending on nVidia Proprietary Graphics driver or Nouveau Open Source driver.

Because the system has a total of 9 different xrandr screen names, three names for each screen, the script is flexible depending on how the machine has been booted.

To adapt this script to your needs:


Keep checking new kernels for hardware support

Use these commands to check if hardware is supported after a kernel update:

$ ls /sys/class/backlight
intel_backlight
$ cat /sys/class/backlight/intel_backlight/*brightness*
3000
3000
7500

To attempt to change hardware brightness level use:

$ echo 2500 | sudo tee /sys/class/backlight/intel_backlight/brightness
2500

If hardware is supported you will see a change:

$ cat /sys/class/backlight/intel_backlight/*brightness*
2500
2500
7500
⇧ CPU Frequency is allways the lowest possible (and high CPU usage) change min and max cpu frequency  β‡©