This page contains instructions, tips, pointers, and links for installing and configuring Arch Linux on the ASUS Zenbook UX303 Ultrabook.
There is a lot a models but 2 main models, UX303LN with 2 graphic cards (intel & nvidia) and UX303LA with only an intel graphic card. The previous models UX32LN and UX32LA share a lot hardware with minor differences, e.g. the touchpad (Elantech).
None, but you should use the UEFI Arch Linux installation guide. The Asus UEFI accepts UEFI boot (which works well) and Legacy BIOS mode.
The touchpad is a FocalTech model, that is supported by the Linux kernel since 4.0.1-1.
# dmesg | grep FLT01
[ 0.395565] pnp 00:06: Plug and Play ACPI device, IDs FLT0101 SYN0a00 SYN0002 PNP0f03 PNP0f13 PNP0f12 (active)
$ cat /sys/bus/acpi/devices/FLT0101\:00/status
⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ FocalTechPS/2 FocalTech FocalTech Touchpad id=14 [slave pointer (2)]
The sensitivity settings may need to be adjusted, because of the large touchpad area. If touchpad is not responsive, try changing these settings:
If you use Touchpad Synaptics,
Section "InputClass" .... Option "FingerLow" "30" Option "FingerHigh" "35" EndSection
If you use Libinput,
Section "InputClass" .... Option "AccelSpeed" "1" # Recommended Option "AccelProfile" "adaptive" # Optional EndSection
The touchscreen is an Atmel maXTouch Digitize. Simple touch works well out of the box. The 10-point multi touch works withinstalled (tested with the tools/event-debug libinput test tool).
The webcam is an SuYin HF1019-T838-SN03 (USB 2.0, UVC) which works well.
The wifi chipset is an Intel(R) Dual Band Wireless N 7260, REV=0x144. It works well with recents kernel (fails with 3.2.0 kernel) with the iwlwifi kernel module and the firmware version 184.108.40.206. The device name is wlp2s0.
The Bluetooth chipset is an intel N7260 model (same as the wifi chipset), which works well. Uses the intel/ibt-hw-37.7.10-fw-220.127.116.11.d.bseq firmware.
The main graphic chipset is an Intel Haswell chipset, which works well with the i915 xorg driver. See Intel graphics for details.
$ lspci | grep 'Intel.*Graphics'
00:02.0 VGA compatible controller: Intel Corporation Haswell-ULT Integrated Graphics Controller (rev 0b)
Secondary graphics card is NVIDIA GeForce 840M (UX303LN model).
$ lspci | grep 'NVIDIA.*GeForce'
03:00.0 3D controller: NVIDIA Corporation GM108M [GeForce 840M] (rev a2)
The secondary card is combined with the main graphics in a hybrid NVIDIA Optimus configuration. The card works with nvidia drivers from the official repository. Bumblebee can be used to take advantage of the NVIDIA card.
Four level positions (0 to 3) available with
# echo 3 > /sys/class/leds/asus::kbd_backlight/brightness
# echo 500 > /sys/class/backlight/intel_backlight/brightness
The maximum brightness value can be found in
Ambient Light Sensor (ALS)
The included Ambient Light Sensor can be accessed using the ASUS Zenbook Prime UX31A.AUR kernel module. There is also a userspace program AUR, which has the purpose of automatically adjusting the keyboard and screen backlight. Usage of the Ambient Light Sensor is described in more detail on the wiki page for the
Note that the userspace program currently does not work correctly on the UX303 as the reported brightness values differ from the Zenbook Prime.
QHD+ PenTile display
Some models include a 3200x1800 (faux-3200x1800 RG/BW PenTile) screen, which displays very tiny characters, and can make them difficult to read due to its incomplete subpixel matrix.
Gnome3 is able to work out the correct font size on this display, but other environments and GUI toolkits may need adjustment. See the general HiDPI wiki page for possible fixes. Note 192 DPI or 2x works well in most cases.
Prior to Linux 4.0.1-1, this laptop had problems resuming from suspend-to-ram, and could not reliably power off. Since Linux 4.0.1-1, these issues no longer exist and suspending/resuming as well as powering off work reliably. Suspend key (Fn+F1) works out of the box with expected behavior.
Battery has a design capacity of 4429mAh, and is able to provide just over 3 hours of autonomy under normal circumstances (average load of around 0.3 and WiFi enabled, brightness lowered to mid-range) without serious power saving tweaks. Battery stops charging when it reaches near-full capacity on AC and acpi tool will show "discharging at zero rate" message. This behavior can be observed on a brand new battery. ACPI tools are able to correctly detect the battery state:
- On AC power with the battery near full capacity:
$ acpi -i
Battery 0: Discharging, 98%, discharging at zero rate - will never fully discharge. Battery 0: design capacity 4429 mAh, last full capacity 4076 mAh = 92%
- On AC power while the battery is charging:
$ acpi -i
Battery 0: Charging, 94%, 00:11:53 until charged Battery 0: design capacity 4429 mAh, last full capacity 4110 mAh = 92%
- On battery power (while the battery is discharging):
$ acpi -i
Battery 0: Discharging, 98%, 03:22:03 remaining Battery 0: design capacity 4429 mAh, last full capacity 4076 mAh = 92%
Battery life may depend on the type of LCD panel. The above values are shown for the model with QHD display.
There have been suggestions that "discharging at zero rate" while on AC is a battery calibration issue solvable by allowing the battery to fully discharge and then charging it back to full capacity.
It is also recommended to install Laptop Mode Tools for more details.AUR. On a UX303LB laptop (Broadwell) this increases battery life significantly. See
If the sound card power-saving capabilities are enabled, you can experiment some annoying click sound right before a sound is played. One solution is to disable the power saving with that module setting by adding the following line to
options snd_hda_intel power_save=0
Or if you use pulseaudio, you can comment the line below in /etc/pulse/default.pa:
Microphone works out of the box. If you cannot record or use VoIP, make sure the microphone is not muted.
As of kernel version 4.10 all function keys, except for automatic brightness seem to work out of the box (UX303LN)
All function keys except the backlight and "plane" mode seem to work out of the box (as of kernel 3.17). To fix, add
acpi_osi= as a kernel parameter. Example line from
On UX303LA (kernel 4.1.13) xev does not return any events for the standard brightness keys, but F3 and F4 seem to be detected as XF86KbdBrightnessDown and XF86KbdBrightnessUp, respectively.
On UX303UB (kernel 4.4.5-1), add the kernel parameter, and create the file
/usr/share/X11/xorg.conf.d/20-intel.conf with the following content:
Section "Device" Identifier "card0" Driver "intel" Option "Backlight" "intel_backlight" BusID "PCI:0:2:0" EndSection
If the USB Ports are only working with USB 2.0 devices, disable "XHCI Pre-Boot Mode" in the BIOS under "Advanced" -> "USB Configuration".
Be aware, that after deactivating "XHCI Pre-Boot Mode" the ports will only work in USB 2.0 mode.
Intel microcode issue
When trying to boot from a live image containing a broken, delete the initrd=\arch\boot\intel-ucode.img kernel option (press e in the boot menu to access the kernel options).