Function Keys Do Not work (Brightness & Sound) Ubuntu 16.04
Installed Ubuntu 16.04 on ASUS laptop, everything worked except fn keys. Cannot mute/increase/decrease volume (f10, f11, f12) or increase/decrease screen brightness (f5, f6).
In troubleshooting I found people have similar issues regardless of machine (ASUS, ACER, Dell) or Ubuntu version, anywhere from 8.0-16.04
How do I fix this?
You might have the FnLock activated. You might be able to deactivate it by pressing Fn + Esc. Source
-
Edit GRUB config file to pass a kernel boot parameter
- Open Terminal
- type
sudo -H gedit /etc/default/grub
- Find this line:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
- Add
acpi_osi=
immediately followingquiet splash
to give:GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_osi="
- The next line should look like this:
GRUB_CMDLINE_LINUX=""
- SAVE and CLOSE file
- In terminal, type
sudo update-grub
-
Create .CONF file
- Open Terminal
- type (or copy/paste):
sudo -H gedit /usr/share/X11/xorg.conf.d/20-intel.conf
-
Enter this in the file line for line:
Section "Device" Identifier "card0" Driver "intel" Option "Backlight" "intel_backlight" BusID "PCI:0:2:0" EndSection
SAVE and CLOSE file
- Reboot computer
The above steps fixed my problem and I was able to use the function keys to control brightness and volume on my machine. I tried several things and edited the GRUB file several times, updating and rebooting every time. Some threads suggested edited the BIOS, others suggested installing xbacklight
. It took a while to troubleshoot. If my solution doesn't work for you, here are threads that helped me:
- This one edits GRUB slightly differently
- This is what I used the create the 20-intel.conf file (but the GRUB specifics did not work for me)
- Why does the Kernel Boot Parameter Set ACPI OSI Linux
- Linux Kernel Boot Parameters
Please check this article. You might need to change the fnmode value in sys/module/hid_apple/parameters/fnmode
. For me it worked by changing it from 1
to 0
. I did not need to reboot or anything.