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 |
Webcam issue |
WIP |
WIP |
Fingerprint reader# |
NO |
NO |
- YES - Works out of the box
- WIP - Works or works partly with some tweaking
- NO - No known fix (so far)
- N\A - Not tested
- # just some U36SD models
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 in Ubuntu 11.04 doesn't manage to detect the Bluetooth device because it doesn't contain the identification numbers, 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
(just for 11.04) 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.
Webcam issue
to get the camera to not be upside-down:
sudo add-apt-repository ppa:libv4l sudo apt-get update && sudo apt-get install gtk-v4l
I got
E: Unable to locate package gtk-v4l
error. Anyone has successfully tried this solution? If you find out working solution, clear this paragraph and update, thanks. #crysman
then run your application with "LD_PRELOAD=/usr/lib/i386-linux-gnu/libv4l/v4l1compat.so" in front of it. eg to run skype:
LD_PRELOAD=/usr/lib/i386-linux-gnu/libv4l/v4l1compat.so skype
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
Asus_U36JC - Previous generation
http://ubuntuforums.org/showthread.php?t=1830430 - Ubuntu Forums thread
https://wiki.archlinux.org/index.php/Pm-utils#Having_the_hd_power_management_level_automatically_set_again_on_resume - Hard drive power management