How to Enable Brightness Buttons when acpi_osi of Grub not enough in 16.04 of Zenbook?

Situation: to use F5 and F6 for decrease and increase of brightness, respectively, in Asus Zenbook UX303UA, when I can change brightness in System Preferences, and acpi_osi= is not sufficient in GRUB_CMDLINE_LINUX_DEFAULT of /etc/default/grub.
Related: (See Brightness hotkey doesn't work on laptop asus k501ux [Ubuntu 16.04.1] and Screen brightness keys not working (fn + f5/f6)) where the latter is sufficient.
Ubuntu's docs says, but it is outdated and does not particularly include 16.04

NOTE: As of BIOS update 214 "Support Windows8 brightness control" is added. This means that the brightness buttons won't work in Ubuntu any longer. Brightness workaround 2 in the Zenbook Prime wiki works fine for changing brightness.

Here some Bash scripts about the setup but their bindings are false for the different system. Doing xev, pressing F5 and F6, and studying the outputs which shows that the actions are doing nothing (0 bytes transmitted), showing UEFI firmware problem (Pilot6)

KeyPress event, serial 37, synthetic NO, window 0x3a00001,
    root 0xb5, subw 0x0, time 16483030, (-1385,943), root:(303,995),
    state 0x0, keycode 71 (keysym 0xffc2, F5), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 37, synthetic NO, window 0x3a00001,
    root 0xb5, subw 0x0, time 16483120, (-1385,943), root:(303,995),
    state 0x0, keycode 71 (keysym 0xffc2, F5), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyPress event, serial 37, synthetic NO, window 0x3a00001,
    root 0xb5, subw 0x0, time 16483312, (-1385,943), root:(303,995),
    state 0x0, keycode 72 (keysym 0xffc3, F6), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 37, synthetic NO, window 0x3a00001,
    root 0xb5, subw 0x0, time 16483387, (-1385,943), root:(303,995),
    state 0x0, keycode 72 (keysym 0xffc3, F6), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

Unsuccessful output

Do

  1. Add the option acpi_osi without value in your /etc/default/grub file like this

    # guillaume-desclaux https://ubuntuforums.org/showthread.php?t=2243162
    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_osi="
    
  2. Run update-grub

  3. Restart

Output: Fn+F5 and Fn+F6 does not work as expected: shows the sign of changes in brightness at the top-right corner but not actually affect the brightness at all.

  • Fig. 1 Brightness set to minimum
  • Fig. 2 Brightness increased without a change in the brightness
  • Fig. 3 Brightness changes now accordingly in System Preferences

fig 1 fig 2 fig 3

Bios upgrade?

I extended this issue in a new thread here. I did not need to upgrade finally the bios because it was the latest (2 month old laptop 4th September 2016).

  • Hardware: Asus Zenbook UX303UA R4028T, UX305
  • OS: Ubuntu 16.04 64 bit, 14.04
  • Documentation: Ubuntu's docs about Asus Zenbook, Asus Zenbook Prime docs not apparently relevant
  • Related: How can I change brightness on Zenbook UX305 with media-buttons?
  • Differential solution: ALS sensor with non-apt-get software etc here

  1. Add the option acpi_osi without value in the parameter GRUB_CMDLINE_LINUX_DEFAULT of your /etc/default/grub file, like in the body

    # guillaume-desclaux https://ubuntuforums.org/showthread.php?t=2243162
    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_osi="
    
  2. Edit /usr/share/X11/xorg.conf.d/20-intel.conf and add the following there

    # http://askubuntu.com/a/536618/25388
    Section "Device"
            Identifier "card0"
            Driver "intel"
            Option "Backlight" "intel_backlight"
            BusID "PCI:0:2:0"
    EndSection
    
  3. Run sudo update-grub.

Output: brightness control works as expected now.