Difference between revisions of "ASUS Zenbook UX31E"

From ArchWiki
Jump to: navigation, search
(HDMI Out)
(i915: Remove old kernel version info.)
(35 intermediate revisions by 13 users not shown)
Line 1: Line 1:
[[Category:ASUS (English)]]
+
[[Category:ASUS]]
{{i18n|Asus Ux31}}
+
 
+
 
This page contains instructions, tips, pointers, and links for installing and configuring Arch Linux on the ASUS Zenbook UX31E Ultrabook.
 
This page contains instructions, tips, pointers, and links for installing and configuring Arch Linux on the ASUS Zenbook UX31E Ultrabook.
 
''(There is probably little/no difference with his 11" little brother, the UX21E)
 
''(There is probably little/no difference with his 11" little brother, the UX21E)
Line 9: Line 7:
 
If you get an error trying to format partitions when installing Arch try adding this line to the kernel parameters
 
If you get an error trying to format partitions when installing Arch try adding this line to the kernel parameters
 
  libata.dma=0
 
  libata.dma=0
 
=== UEFI Booting ===
 
 
As of 21-Feb-2012 Grub2 seems to disagree with Asus UEFI, halting at "Loading inital ramdisk", use BIOS instead.
 
  
 
== Compatibility ==
 
== Compatibility ==
For best user experience, use the latest mainline kernel ({{AUR|linux-mainline}}).
 
 
The following article refers to at least kernel 3.2.rc6
 
  
 
=== Touch Pad ===
 
=== Touch Pad ===
There are different versions of the UX31, some have Sentelic and some have Elenatec - Touch pads.
+
There are different versions of the UX31, some have Sentelic and some have Elantec - Touch pads.
  
==== Elenatec Touch pads ====
+
==== Elantec Touch pads ====
 
Touch & Scroll works out of the box. Clickpad functionality does not. (However, using two and three finger touches for right an middle click works fine).
 
Touch & Scroll works out of the box. Clickpad functionality does not. (However, using two and three finger touches for right an middle click works fine).
  
Line 43: Line 34:
 
  EndSection
 
  EndSection
  
'''Tip : ''' Multifinger taps; two finger for middle click, three fingers for right click.
+
{{Tip|Multifinger taps: Two finger for middle click; three fingers for right click.}}
  
 
==== Sentelic Touchpads ====
 
==== Sentelic Touchpads ====
  
The Sentelic Touchpad drivers have been added to the 3.2 kernel, so it should work out of the box by now. However this only supports basic functionality, for scrolling and other features one of the following two patches must be used.
+
The Sentelic Touchpad drivers have been added to the 3.2 kernel, so it should work out of the box by now. Since 3.4 this supports scrolling and multi-touch features. (In case of problems with the touchpad after resume see [[#Suspend to RAM|Suspend to RAM]].) However it seems that [https://bugs.freedesktop.org/show_bug.cgi?id=51403 two finger tapping and two finger scrolling are incompatible]. To have both working you must use one of the following two patches.
  
 
===== ReubenBond =====
 
===== ReubenBond =====
Line 59: Line 50:
 
===== Saaros =====
 
===== Saaros =====
  
[https://github.com/saaros/sentelic Saaros's driver] works well for two finger and side scrolling and is fairly straight forward to apply and build. Unfortunately however, it does slightly impede normal functionality, pointing doesn't seem quite as accurate, tapping doesn't seem quite as sensitive and tapping and dragging/selecting can be quite tricky. This code should eventually be accepted into the official kernel: https://github.com/saaros/sentelic/issues/2.
+
[https://github.com/saaros/sentelic Saaros's driver] works well for two finger and side scrolling and is fairly straight forward to apply and build. Unfortunately however, it does slightly impede normal functionality, pointing does not seem quite as accurate, tapping does not seem quite as sensitive and tapping and dragging/selecting can be quite tricky. This code should eventually be accepted into the official kernel: https://github.com/saaros/sentelic/issues/2.
  
 
=== Graphics ===
 
=== Graphics ===
Line 71: Line 62:
 
{{hc|ACTION=="change", SUBSYSTEM=="drm", RUN+="/usr/sbin/hdmi-plugged"|#!/bin/bash
 
{{hc|ACTION=="change", SUBSYSTEM=="drm", RUN+="/usr/sbin/hdmi-plugged"|#!/bin/bash
  
export XAUTHORITY=/home/jamie/.Xauthority
+
export XAUTHORITY=/home/$USER/.Xauthority
 
export DISPLAY=:0
 
export DISPLAY=:0
  
 
/usr/bin/xrandr -display :0 --output eDP1 --auto --output HDMI1 --auto --above eDP1}}
 
/usr/bin/xrandr -display :0 --output eDP1 --auto --output HDMI1 --auto --above eDP1}}
 +
 +
==== Colour Profiles ====
 +
 +
Colour accuracy on the Zenbook is not very good. There is a [http://www.notebookcheck.net/uploads/tx_nbc2/UX31.icc UX31E ICC profile] on the [http://www.notebookcheck.net/Asus-Zenbook-UX31E-DH52B-Laptop-Review.65718.0.html Noteboocheck review]. However, I find that too green using xcalib and so use [http://www.notebookcheck.net/uploads/tx_nbc2/Asus_UX21E_1366x768_glare__P116NWR1_R2_.icc the UX21E version].
  
 
=== Wireless ===
 
=== Wireless ===
Line 80: Line 75:
 
Edit [[rc.conf]] as root and add {{ic|ath9k}} to the {{ic|MODULES}} array.
 
Edit [[rc.conf]] as root and add {{ic|ath9k}} to the {{ic|MODULES}} array.
  
{{Warning|Do not forget to install the wireless_tools and wpa_suppliant packages during the installation since you will get stuck with no internet access if you don't!}}
+
{{Warning|Do not forget to install the wireless_tools and wpa_supplicant packages during the installation since you will get stuck with no internet access if you do not!}}
  
 
==== Unstable Wireless when using Network Manager ====
 
==== Unstable Wireless when using Network Manager ====
  
Some users experience connection drops when using wireless. For some users this can be fixed by setting the wireless connection's BSSID (usually the router's MAC address). This only works if your wireless connection only has one access point as the BSSID is unique for each access point.  
+
Some users experience connection drops when using wireless. For some users this can be fixed by setting the wireless connection's BSSID (usually the router's MAC address). This only works if your wireless connection only has one access point as the BSSID is unique for each access point.
  
=== Ethernet - USB adapter ===
+
An alternative solution is to disable the ath9k driver ani feature, to do this use the following :
{{Note|The Asix USB ethernet drivers are included in the current (3.2.2-1) kernel, so it should work out of the box now}}
+
<code>echo 1 > /sys/kernel/debug/ieee80211/phy0/ath9k/disable_ani</code>
The Ethernet USB adapater which comes with the ASUS UX31 and UX21 models is the Asix "USB to Fast Ethernet" adapter, model AX88772B. At the present, the device is not recognized by the currently available kernels. However, the source for the driver for Linux Kernels 2.6.38 and later can be downloaded at the following link: AX88772B Linux Driver v4.2.0: http://www.asix.com.tw/FrootAttach/driver/AX88772B_772A_760_772_178_LINUX_Driver_v4.2.0_Source.zip.
+
  
Once downloaded, the source needs to be compiled. First unzip the file as follows:
+
=== Ethernet - USB adapter ===
unzip AX88772B_772A_760_772_178_LINUX_Driver_v4.2.0_Source.zip
+
The Asix USB ethernet drivers are included in the current (3.2.2-1) kernel, so it should work out of the box now.
Next, go into the unzipped directory and compile the source as follows:
+
cd AX88772B_772A_760_772_178_LINUX_Driver_v4.1.0_Source
+
make
+
Install the just compiled module:
+
sudo make install
+
Finally load the module:
+
sudo modprobe asix
+
That's it. You should be able to connect using a wired connection now.
+
  
 
=== Solid State Drive ===
 
=== Solid State Drive ===
Line 107: Line 93:
  
 
=== Suspend to RAM ===
 
=== Suspend to RAM ===
The USB modules must be unloaded or the laptop won't come out of sleep mode.
+
The USB modules must be unloaded or the laptop will not come out of sleep mode.
  
 
Put
 
Put
Line 114: Line 100:
 
  /etc/pm/config.d/unload_module
 
  /etc/pm/config.d/unload_module
  
{{Note|The following seems to be unnecessary.}}
+
If you have patched the kernel to enable multitouch with the Sentelic touchpad, the touchpad may stop working after resume. In this case add the psmouse module to the list.
 
+
  SUSPEND_MODULES="xhci_hcd ehci_hcd uhci_hcd psmouse"
The USB 3.0 module needs to be unloaded before suspending and X needs to disable/enable DPMS to get the screen back on on resume.
+
 
+
This can be done by creating a script in /etc/pm/sleep.d/
+
[[Pm-utils#Advanced_Configuration]]
+
 
+
This works with kernel >= 3.1.8-1 :
+
{{hc|/etc/pm/sleep.d/95usbscreen|EHCI_BUSES&#61;"0000:00:1a.0 0000:00:1d.0"
+
case "${1}" in
+
  resume&#124;thaw)
+
      # Disable touch-to-tap on Zenbook Sentelic touchpad
+
      # I don't know if this is needed
+
      # This may even stop your touchpad from working after resume
+
      echo -n 0x90 0x80 > /sys/devices/platform/i8042/serio4/setreg
+
      echo -n c > /sys/devices/platform/i8042/serio4/flags
+
      # Hacky workaround to fix display after suspend
+
      export DISPLAY&#61;":0"
+
      export XAUTHORITY&#61;"/home/YOURUSER/.Xauthority"
+
      xset dpms force off
+
      xset dpms force on
+
      ;;
+
esac
+
}}
+
 
+
Don't forget to make the script executable :
+
  # chmod +x /etc/pm/sleep.d/95usbscreen
+
 
+
If you find that your touchpad doesn't work after resume then comment out the two {{ic|echo}} lines.
+
  
 
=== PCIe ASPM ===
 
=== PCIe ASPM ===
Line 150: Line 109:
 
  dmesg | grep -i "acpi fadt"
 
  dmesg | grep -i "acpi fadt"
 
outputs
 
outputs
  ACPI FADT declares the system doesn't support PCIe ASPM, so disable it.
+
  ACPI FADT declares the system does not support PCIe ASPM, so disable it.
  
 
=== i915 ===
 
=== i915 ===
Enabling {{ic|i915_enable_rc6}} will improve battery perfomance significatively but might also cause sudden shutdowns if you run an old or unpatched kernel. To enable it, add the following option to your kernel line.
+
 
 +
Enabling {{ic|i915_enable_rc6}} will improve battery performance significantly. To enable it, add the following option to your kernel line.
 
  i915.i915_enable_rc6=1
 
  i915.i915_enable_rc6=1
  
Line 161: Line 121:
 
Module parameter details
 
Module parameter details
 
  modinfo i915
 
  modinfo i915
 
You may suffer sudden shutdowns. This is an issue in the kernel (prior 3.2.7 and 3.3.0-rc4). To fix this, you have to patch your kernel (see the bug report on freedesktop: https://bugs.freedesktop.org/show_bug.cgi?id=44867, be sure to read every messages). When the stability of the fix will be confirmed the patch will reach the stable tree so it is likely that kernel >= 3.3 won't need to be fixed.
 
  
 
=== Additional powersavings ===
 
=== Additional powersavings ===
Configure [[Laptop_Mode_Tools]] and don't forget to check [[CPU_Frequency_Scaling]]
+
Configure [[Laptop_Mode_Tools]] and do not forget to check [[CPU_Frequency_Scaling]]
  
== Additional ressources ==
+
== Additional resources ==
 
*https://help.ubuntu.com/community/AsusZenbook
 
*https://help.ubuntu.com/community/AsusZenbook
 
*http://www.lesswatts.org/
 
*http://www.lesswatts.org/

Revision as of 06:17, 17 April 2013

This page contains instructions, tips, pointers, and links for installing and configuring Arch Linux on the ASUS Zenbook UX31E Ultrabook. (There is probably little/no difference with his 11" little brother, the UX21E)

Installation issues

If you get an error trying to format partitions when installing Arch try adding this line to the kernel parameters

libata.dma=0

Compatibility

Touch Pad

There are different versions of the UX31, some have Sentelic and some have Elantec - Touch pads.

Elantec Touch pads

Touch & Scroll works out of the box. Clickpad functionality does not. (However, using two and three finger touches for right an middle click works fine).

If higher pressure must be applied to your touchpad in order to function properly, tweak the following properties according to your needs [1]

synclient FingerLow=5
synclient FingerHigh=15

Alternatively, 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" "3"
       Option "TapButton3" "2"
       Option "VertTwoFingerScroll" "1"
       Option "HorizTwoFingerScroll" "1"
       Option "FingerLow" "5"
       Option "FingerHigh" "15"
EndSection
Tip: Multifinger taps: Two finger for middle click; three fingers for right click.

Sentelic Touchpads

The Sentelic Touchpad drivers have been added to the 3.2 kernel, so it should work out of the box by now. Since 3.4 this supports scrolling and multi-touch features. (In case of problems with the touchpad after resume see Suspend to RAM.) However it seems that two finger tapping and two finger scrolling are incompatible. To have both working you must use one of the following two patches.

ReubenBond

ReubenBond has made contact with a sentelic representative who has provided him with official documentation on putting the device into absolute positioning mode. The latter can be accessed here: http://fsp-lnxdrv.svn.sourceforge.net/viewvc/fsp-lnxdrv/trunk/doc/fsp_packet.txt?revision=43&view=markup

This looks very promising and ReubenBond is committed to developing a driver in the next few weeks. This is all referenced in the forum https://bbs.archlinux.org/viewtopic.php?id=125262&p=2

Saaros

Saaros's driver works well for two finger and side scrolling and is fairly straight forward to apply and build. Unfortunately however, it does slightly impede normal functionality, pointing does not seem quite as accurate, tapping does not seem quite as sensitive and tapping and dragging/selecting can be quite tricky. This code should eventually be accepted into the official kernel: https://github.com/saaros/sentelic/issues/2.

Graphics

Works out of the box

HDMI Out

There seems to be an issue 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:

ACTION=="change", SUBSYSTEM=="drm", RUN+="/usr/sbin/hdmi-plugged"
#!/bin/bash

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

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

Colour Profiles

Colour accuracy on the Zenbook is not very good. There is a UX31E ICC profile on the Noteboocheck review. However, I find that too green using xcalib and so use the UX21E version.

Wireless

Works fine with the ath9k driver, included in the kernel since 2.6.27. Edit rc.conf as root and add ath9k to the MODULES array.

Warning: Do not forget to install the wireless_tools and wpa_supplicant packages during the installation since you will get stuck with no internet access if you do not!

Unstable Wireless when using Network Manager

Some users experience connection drops when using wireless. For some users this can be fixed by setting the wireless connection's BSSID (usually the router's MAC address). This only works if your wireless connection only has one access point as the BSSID is unique for each access point.

An alternative solution is to disable the ath9k driver ani feature, to do this use the following : echo 1 > /sys/kernel/debug/ieee80211/phy0/ath9k/disable_ani

Ethernet - USB adapter

The Asix USB ethernet drivers are included in the current (3.2.2-1) kernel, so it should work out of the box now.

Solid State Drive

Check Solid_State_Drives

Power Management

Suspend to RAM

The USB modules must be unloaded or the laptop will not come out of sleep mode.

Put

SUSPEND_MODULES="xhci_hcd ehci_hcd uhci_hcd"

in

/etc/pm/config.d/unload_module

If you have patched the kernel to enable multitouch with the Sentelic touchpad, the touchpad may stop working after resume. In this case add the psmouse module to the list.

SUSPEND_MODULES="xhci_hcd ehci_hcd uhci_hcd psmouse"

PCIe ASPM

Do not add the following option to the kernel line

pcie_aspm=force 

if

dmesg | grep -i "acpi fadt"

outputs

ACPI FADT declares the system does not support PCIe ASPM, so disable it.

i915

Enabling i915_enable_rc6 will improve battery performance significantly. To enable it, add the following option to your kernel line.

i915.i915_enable_rc6=1

To check the current state of all i915 parameters execute as root (bash)

for i in /sys/module/i915/parameters/*;do echo ${i}=`cat $i`;done

Module parameter details

modinfo i915

Additional powersavings

Configure Laptop_Mode_Tools and do not forget to check CPU_Frequency_Scaling

Additional resources