I installed Ubuntu 20.04.1 LTS on my MacBook Pro 15" Mid 2014. As many others, I can not get the brightness adjustment to work. Whenever I press the corresponding keys F1, F2 the brightness adjustment does pop up and reacts, but the actual brightness of the screen always stays on max (I presume, something very bright) and does not change.

It is a fresh install and it does have a NVIDIA GeForce 750M Mac Edition.

Not working Solutions

So far I have tried manually adjusting the brightness via

echo 4 | sudo tee /sys/class/backlight/acpi_video0/brightness

which did not work.

I have also tried adding

setpci -v -H1 -s 00:01.00 BRIDGE_CONTROL=0

to /etc/rs.local as suggested here after creating rs.local, because it wasn't present in the first place.

Lastly I tried adding

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce 750M Mac Edition"
    Option         "RegistryDwords" "EnableBrightnessControl=1"

to /usr/share/X11/xorg.conf.d/10-nvidia-brightness.conf as was suggested in this question.

None of those solutions have worked for me, but I also haven't find any working solutions for my particular GPU or an Ubuntu Version above 20.

I am quite new to Linux in general and also this forum. Therefore I apologize in advance should there be some easy fix or whether I have overlooked one of many questions with the correct solution.


I put

sudo setpci -v -H1 -s 00:01.00 BRIDGE_CONTROL=0

manually into the terminal and it worked!

The problem was, that starting with Ubuntu 18.04 LTS there is no /etc/rc.local by default and creating one manually is not recommended. Instead, I used @reboot in /etc/crontab to execute the command on startup:

orkhans@matrix:~$ cat /etc/crontab
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.
# m h dom mon dow user  command
17 *  * * *  root    cd / && run-parts --report /etc/cron.hourly
25 6  * * *  root  test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6  * * 7  root  test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6  1 * *  root  test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
@reboot root setpci -v -H1 -s 00:01.00 BRIDGE_CONTROL=0

Now it works fully and I can control my screen brightness as usual using F1 and F2!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.