Revision 55 as of 2011-10-22 11:00:49

Clear message

Introduction

How to get your ASUS U36SD running Ubuntu GNU/Linux.

Compatibility

Function

11.10

11.04

Audio (out-, in-ports, speaker, microphone)

YES

YES

Graphics (without desktop effects)

YES

YES

Graphics (with desktop effects)

WIP

WIP

High-end Graphics card

WIP

WIP

VGA port

YES

YES

HDMI

YES

YES

USB 2.0

YES

YES

USB 3.0

YES

WIP

Bluetooth

YES

WIP

Card reader

YES

YES

LCD keys (Fn-F5,Fn-F6,Fn-F7)

YES

YES

Display output switch (Fn-F8)

YES

YES

Touchpad toggle (Fn-F9)

NO

NO

Multimedia keys

WIP

WIP

Suspend / Hibernate

WIP

WIP

Card reader

YES

YES

Multi-touch touchpad

YES

YES

Full battery time

WIP

WIP

  • YES - Works out of the box
  • WIP - Works with some tweaking
  • NO - No known fix (so far)
  • N\A - Not tested

Tweaking

Desktop effects

Create a new file /etc/modprobe.d/blacklist-nvidia.conf with the following content. (You need super user privileges. See here for help.

  • blacklist nouveau
    blacklist nvidia

Remove nvidia drivers (otherwise it's libGL.so will used by default) by running the following command

sudo apt-get purge nvidia

High end graphics card (Nvidia)

Since the laptop uses the so called Optimus technology, support for the high end graphics card is a bit limited. However, it is still possible to use it, by offloading a certain application (such as a game) to the nvidia card and then copying the content onto the Intel graphics buffer using VirtualGL.

One simple way of doing this is by installing ironhide. Simply call the following commands to install:

sudo add-apt-repository ppa:mj-casalogic/ironhide
sudo apt-get update
sudo apt-get install ironhide

The last command will enter a configuration guide. Follow the instructions. If successful you will now be enable to run applications instructing them to use the high end graphics card by starting them via the optirun64 or optirun32 command. For example, if you want to start the 64 bit openarena game, open up a terminal and run optirun64 openarena. If the binary is 32 bit use optirun32 instead. To check whether the binary is 32 bit or 64 bit, use the file command, for example by calling file /path/to/some/binary in a terminal window.

Suspend

Suspend doesn’t work out of the box because of a problem with the USB buses. To fix the problems do the following:

Create a new file /etc/pm/sleep.d/20_custom-asus-u36sd with the following content (you need to have administrative privileges to create it, see here for help.):

  • BUSES="0000:00:1a.0 0000:00:1d.0"
    
    case "${1}" in
        hibernate|suspend)
            # Switch USB buses off
            for bus in $BUSES; do
                echo -n $bus | tee /sys/bus/pci/drivers/ehci_hcd/unbind
            done
            ;;
        resume|thaw)
            # Switch USB buses back on
            for bus in $BUSES; do
                echo -n $bus | tee /sys/bus/pci/drivers/ehci_hcd/bind
            done
            ;;
    esac

Make it executable:

sudo chmod +x /etc/pm/sleep.d/20_custom-asus-u36sd

This will make the suspending the computer work. Resume, however, will only work if you wait to trigger it around half a minute after suspending was completed. If you resume too early, the computer will do a hard reboot instead.

Fn-keys

Download and install asus-nb-wmi driver (included in 2.6.39, but since Natty runs 2.6.38 need to build it ourselves):

sudo apt-get install git build-essential
git clone git://git.iksaif.net/acpi4asus-dkms.git
cd acpi4asus-dkms
make
sudo make install
sudo modprobe asus-nb-wmi

Bluetooth

The ath3k module doesn't manage to detect the Bluetooth device, so one need specify it manually. To do so do the following.

Get a super user shell.

sudo -s -H

Enter the following commands. Ignore the errors from rmmod if any.

service bluetooth stop
rmmod btusb
rmmod ath3k
modprobe -a ath3k
echo "13d3 3304" > /sys/bus/usb/drivers/ath3k/new_id
modprobe btusb
service bluetooth start
exit

If it still doesn't work, try running the following command.

sudo hciconfig hci0 up

USB 3.0

Edit the startup options:

gksu gedit /etc/default/grub

Find the line:

  • GRUB_CMDLINE_LINUX_DEFAULT

and add the following within the quotation marks, being sure to separate it with a space from any other entries:

  • pci=nomsi,noaer

at last run

sudo update-grub

and on the next reboot the USB 3.0 port should work.

Battery time

There are two easy things that can double your battery time.

Intel integrated graphics card power management

Open the file /etc/default/grub with super user privileges (See here for instructions).

Find this line:

  • GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

and change it into this:

  • GRUB_CMDLINE_LINUX_DEFAULT="quiet splash i915.i915_enable_rc6=1"

then run the following command in a terminal:

sudo update-grub

High end graphics card (nvidia) power management

By default, the high end graphics card will be activated but not in use. You can decrease the battery usage by disabling it. Either you follow the instructions on how to enable the high end graphics card which will do this for you or you manually configure your system to use acpi_call directly to disable it.

Other issues

Splash

If you want more consistently looking (but possibly slower) boot, try the following.

Create a new file /etc/initramfs-tools/conf.d/splash with the following content. You need super user privileges to create it. See here for help.

FRAMEBUFFER=y

Then run sudo update-initramfs -u in a terminal.

Disable touchpad while typing

The default version of xserver-xorg-input-synaptics does not include the functionality needed for automatic disabling of the touchpad while typing. If this is something you would like to have, you can follow the instructions below (taken from here).

mkdir tmpbuild
cd tmpbuild
wget http://david.hardeman.nu/synaptics-suse-patches.tar.bz2
apt-get source xserver-xorg-input-synaptics
cd xserver-xorg-input-synaptics-<version>
cd debian/patches
tar xfvj ../../../synaptics-suse-patches.tar.bz2
ls -1 2*.patch >> series
cd ../..
sudo apt-get build-dep xserver-xorg-input-synaptics
dpkg-buildpackage -us -uc -rfakeroot
sudo dpkg -i ../xserver-xorg-input-synaptics_<version>_<arch>.deb

Change <version> and <arch> depending on the current version available and what architecture you are running on.

After you restarted X the option "Mouse Preferences - Touchpad - Disable touchpad while typing" should work.

Hard Drive Power Management

When running on battery, the default hard drive power saving setting causes the drive heads to continuously park and then ramp up again. This results in a quiet "clicking" sound approximately every five seconds. You can adjust this setting by using hdparm to disable power management or to set it to the least aggressive setting (in the latter case, it will still park the heads though far less often). To do so, open a terminal and type:

sudo gedit /etc/hdparm.conf

Add the following lines (Note: use 255 to disable or 254 to set to the least aggressive setting):

/dev/sda {
    apm = 254
    apm_battery = 254
}

For this to apply after resuming from suspend:

sudo gedit /etc/pm/sleep.d/51_hdparm-settings

Enter this in the empty text file:

case $1 in
    hibernate)
        echo "A hook to restore hdparm value on resume"
        ;;
    suspend)
        echo "A hook to restore hdparm settings at resume."
        ;;
    thaw)
        hdparm -B 254 /dev/sda
        ;;
    resume)
        hdparm -B 254 /dev/sda
        ;;
    *)  echo "somebody is calling me totally wrong."
        ;;
esac

Save and quit. Make it executable:

sudo chmod +x /etc/pm/sleep.d/51_hdparm-settings

Reboot to apply.

Tips

Creating a file where super user permissions are required

How to edit/create a file /etc/example_file.

Using graphical editor

gksu gedit /etc/example_file

Using a simple console based editor

sudo nano /etc/example_file

Reported minor issues

  • 'Jumpy' two-finger scroll

Links