ASUS Zenbook Prime UX31A

From ArchWiki

This article or section does not follow the Laptop page guidelines.

Reason: Also avoid maintaining scripts and programs here. (Discuss in Talk:ASUS Zenbook Prime UX31A)

This article or section is out of date.

Reason: Most of the content was written between 2012 and 2014, with the last cleanup (from someone who owns the hardware) in 2015. (Discuss in Talk:ASUS Zenbook Prime UX31A)
Hardware PCI/USB ID Working?
GPU 8086:0166 Yes
Audio 8086:1e20 Yes
Wireless 8086:088e Yes
Webcam 04f2:b330 Yes
Bluetooth 8087:07da Yes*
SD Card Reader 0bda:0139 Yes
*Usage can impair Wireless LAN quality

This page contains instructions, tips, pointers, and links for installing and configuring Arch Linux on the ASUS Zenbook UX31A and UX21A Ultrabooks. Most of it should also hold for UX32VD.

See previous generation ASUS Zenbook UX31E page that has mostly orthogonal information to those here (may be only partially applicable to UX31A)


To install Arch Linux on UX31A, you can follow the official Installation guide. Since the UX31A uses UEFI and GPT, make sure to also read the UEFI, GPT and Arch boot process#Boot loader pages. To prepare a UEFI USB device, read UEFI#Create UEFI bootable USB from ISO.

Boot from USB medium

Press Esc to get into the boot menu. If the USB bootable device is not listed, enter the configuration menu and directly press F10 to save. Press Esc again on reboot: This time the USB bootable device should appear in the menu.

Make sure to boot the USB in EFI-Mode, to easily install the bootloader later.

Function keys

Note: It is often necessary to add a keyboard shortcut or to use a desktop shell with built-in shortcut support for keycodes. For some of the keys the function operates on a BIOS level and no shortcut is needed.
Keys Visible?1 Marked?2 Effect
Fn+F1 Yes3 Yes XF86Sleep
Fn+F2 Yes Yes XF86WLAN & XF86Bluetooth
Fn+F3 Yes Yes XF86KbdBrightnessDown
Fn+F4 Yes Yes XF86KbdBrightnessUp
Fn+F5 Yes Yes XF86MonBrightnessDown
Fn+F6 Yes Yes XF86MonBrightnessUp
Fn+F7 No Yes Turn off LCD
Fn+F8 Yes Yes XF86Display
Fn+F9 Yes Yes XF86TouchpadToggle
Fn+F10 Yes Yes XF86AudioMute
Fn+F11 Yes Yes XF86AudioLowerVolume
Fn+F12 Yes Yes XF86AudioRaiseVolume
Fn+a Yes Yes m:0x0 + c:248 - Ambient light sensors
Fn+c Yes Yes XF86Launch1 - Switch display profile
Fn+v Yes Yes XF86WebCam
Fn+space Yes Yes XF86Launch6 - Switch power profiles
  1. The key is visible to xev and similar tools.
  2. The physical key has a symbol on it, which describes its function.
  3. systemd-logind handles this by default.

Screen backlight

The brightness is managed via hardware, so it should work across all DE's. In case it is not working directly, you need to set the kernel parameter acpi_osi=  (the space is required).

Keyboard backlight

Keyboard backlight should work automatically with any recent kernel. Desktop environments that use UPower, like GNOME or KDE, work out the box and do not need any tool or script to register the keys and change the keyboard brightness.

Manually setting the brightness

See Keyboard backlight.

Using asus-kbd-backlight

asus-kbd-backlightAUR is a convenient way to manage the backlight brightness, if one does not want to use UPower. To allow users to change the brightness, write:

# asus-kbd-backlight allowusers

Now you can easily change keyboard backlight in terminal:

$ asus-kbd-backlight up
$ asus-kbd-backlight down
$ asus-kbd-backlight max
$ asus-kbd-backlight off
$ asus-kbd-backlight night
$ asus-kbd-backlight 2
$ asus-kbd-backlight show

You can then bind the XF86KbdBrightnessDown and XF86KbdBrightnessUp keys to the above functions.

Solid state drive

See Solid state drive and Power management#SATA Active Link Power Management


See Intel graphics. For hardware accelerated video read Hardware video acceleration.


Instructions to activate the right button. (As an alternative you cant try This).

Multifinger taps work out of the box.

Tip: Multifinger taps: Two finger for middle click; three fingers for right click.

Multitouch gestures

To enable multitouch gestures like those under Windows, one can install touchegg. Using touchegg will require disabling some input-handling that is done by the synaptics input driver. Edit your /etc/X11/xorg.conf.d/10-synaptics.conf

Section "InputClass"
        Identifier "touchpad catchall"
        Driver "synaptics"
        MatchIsTouchpad "on"
        MatchDevicePath "/dev/input/event*"
        Option "TapButton1" "1"
        Option "TapButton2" "0"
        Option "TapButton3" "0"
        Option "ClickFinger2" "0"
        Option "ClickFinger3" "0"
        Option "HorizTwoFingerScroll" "0"
        Option "VertTwoFingerScroll" "0"
        Option "ClickPad" "true"
        Option "EmulateMidButtonTime" "0"
        Option "SoftButtonAreas" "50% 0 82% 0 0 0 0 0"

An alternative to configuration files is to use the synclient command within the .xinitrc script. This method will limit changes to your desktop environment.

 synclient TapButton2=0 TapButton3=0 ClickFinger2=0 ClickFinger3=0 HorizTwoFingerScroll=0 VertTwoFingerScroll=0

touchegg will need to be autostarted for multitouch gestures to be activated. This can be done with touchegg & in your .xinitrc, or using the autostart/startup applications functionality of your desktop environment. ~/.config/touchegg/touchegg.conf can then be configured as necessary.

Multitouch gestures in GNOME

GNOME 3's gnome-shell does its own mouse-handling, which can interfere with synaptics and touchegg settings unless the appropriate plugin is disabled.

$ gsettings set org.gnome.settings-daemon.plugins.mouse active false

Note that disabling this plugin will cause the current settings within the Mouse & Touchpad section of System Settings to be ignored.

Disable Touchpad While Typing

One of the criticisms this laptop gets (see reviews at Amazon) is that the placement of the touchpad results in frequent touchpad brushing during typing. You should use whatever touchpad disabling method you prefer. See Touchpad Synaptics#Disable touchpad while typing.

HDMI plugged at boot

There seems to be a problem whereby having an HDMI device plugged in at boot results in the screens being switched and also the laptop screen not coming on. To make this more bearable you can automate switching HDMI on with the following udev rule and script:

Add the following script as root:

export XAUTHORITY=/home/$USER/.Xauthority
export DISPLAY=:0

/usr/bin/xrandr -display :0 --output eDP1 --auto --output HDMI1 --auto --above eDP1

then make it executable.

Add the following udev rule:

'ACTION=="change", SUBSYSTEM=="drm", RUN+="/usr/local/share/hdmi-plugged-startup"'

Suspending, unplugging the HDMI cable, and resuming is a way to enable the Zenbook's screen without rebooting if it was booted with the cable plugged in.

Powersave management

To configure some power saving options and tools, see Power saving.

Other Devices and Drivers


If you know what you are doing and want to use the i7 MEI, you need the Intel Local Manageability Service. You can find it as intel-lmsAUR.

Additional resources