The brightness of laptop screen cannot be adjusted with either the buttons or the slider. Edit

Solution 1:

I created a temporally bash script to adjust brightness level. Then I create 2 sortcuts at keyboard mapping settings to set up CTRL + Brightness UP or CTRL + Brightness Down with this script:

#!/bin/bash

# Step brightness value
STEP=2
# Max brightness value (defult 100)
MAX=100
# Min brightness value (defult 0)
MIN=0

COMMAND=$(xrandr --verbose | grep -i brightness | cut -f2 -d':' | tr -d "[:space:]")
ACTUAL=$(bc -l <<< $COMMAND*100 | cut -f1 -d'.')

while getopts ": u d" input
do
    case $input in
    u)  if [ $ACTUAL -lt $MAX ];then
                TOTAL=$(bc -l <<< $(($ACTUAL+$STEP))/100)
                $(xrandr --output DP-0 --brightness $TOTAL)
        fi;;
    d)  if [ $ACTUAL -gt $MIN ];then
                TOTAL=$(bc -l <<< $(($ACTUAL-$STEP))/100)
                $(xrandr --output DP-0 --brightness $TOTAL)
        fi;;
    ?)  printf "Usage: brightness [OPTION]\n"
        printf "Increase or decrease birghtness on Ubuntu Xorg.\n" 
        printf "WAYLAND MUST BE DISABLED\n\n"
        printf "  -u\t Increases brightness\n"
        printf "  -d\t Decreases brightness\n"
        exit 2;;
    esac
done

And in set custom shortcut I added this Set Custom Shortcut

Solution 2:

NVIDIA doesn't work with Wayland

As others have discovered, nVidia doesn't play well with Wayland: Ubuntu 17.10 on Wayland - (How) can I install the NVIDIA drivers?. The solution is to switch to Xorg. To summarize the answer from cl-net use these steps:

  • To install the NVIDIA drivers, execute sudo apt install nvidia-384.

  • Additionally you can force the GDM login screen to use Xorg by default.
    To achieve this, just execute sudo nano /etc/gdm3/custom.conf.
    Remove the character # from the line # WaylandEnable=false.
    Now press Ctrl+X, then Y and Enter to save that change.

  • Restart the Ubuntu operating system, execute sudo reboot.


Another problem you will likely encounter is no sound over HDMI to external monitor. To solve this problem see this Q&A: No Audio Over HDMI on NVIDIA GeForce GTX 1050 Ti

Solution 3:

It looks like Linux might recognize your backlight. Do you see a brightness file in /sys/class/backlight/acpi_video0/? If you do, try writing a number into it and see if it affects the brightness of your screen. You might need to do so as root.

On my system, the Fn+Brightness keys aren't even recognized by Linux in that they don't generate any scancodes, but I can still vary the brightness of my display by giving all users access to the brightness file with chmod and writing integers into it.