Introduction

Asus U36JC community help

Older versions have been archived. You can access them here.

Precise Pangolin (Ubuntu 12.04)

A lot of things works out of the box, like in Oneiric Ocelot, but you still need some configurations. In particular, you will need an extra programm to use the nvidia card. The HMDI port and the fingerprint reader are still not working.

Video driver

Asus U36JC includes a dual mode graphics card (NVIDIA Optimus). This type of cards aren't supported by NVIDIA restricted driver neither by nouveau open source driver directly.

After install, if the nvidia driver has been installed or not, you will be able to log in.

In order to use the nvidia GPU, you can try Bumblebee, a program that will use VirtualGL in order to use the nvidia GPU for rendering, and bbswitch a program that power on or off the nvidia GPU. This program use nouveau or nvidia drivers depending on configuration and available drivers.

In order to install Bumblebee, you can add those repositories to your sources list.

deb http://ppa.launchpad.net/bumblebee/stable/ubuntu precise main 
deb-src http://ppa.launchpad.net/bumblebee/stable/ubuntu precise main 

After that you need to install bumblebee, bbswitch and virtualgl from this repositories.

By default, the nvidia GPU will be shutdown at Bumblebee that is launched at startup. You can then launch a program that will use the nvidia GPU (bbswitch will then power on the GPU), using a terminal like this :

optirun <PROGRAM COMMANDLINE>

By sample :

optirun firefox
optirun glxspheres

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
}

Save and quit. Reboot to apply.

Boot splash

As usual with Intel cards, Plymouth boot splash will show too late in the boot process. If you want it to appear earlier, type this in a console window:

sudo echo FRAMEBUFFER=y > /etc/initramfs-tools/conf.d/splash
sudo update-initramfs -u

You might get a little bit slower boot, but it will look much consistent (IMHO).

USB 3.0

This USB 3.0 port doesn't seem to work at full speed. To make it work properly you need to add an option to /etc/default/grub, find the line GRUB_CMDLINE_LINUX_DEFAULT and add "pci=nomsi" like this :

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pci=nomsi"

Oneiric Ocelot (Ubuntu 11.10)

What works out of the box

  • Audio (including mic)
  • Video (with desktop effects) [IMPORTANT: DO NOT INSTALL NVIDA RESTRICTED DRIVERS]
  • USB
  • Wireless Networking
  • Volume control (Fn+F10/F11/F12)
  • Brightness control (Fn+F5/F6)
  • WiFi switch (Fn+F2)

  • LCD on/off switch (Fn+F8)
  • Multimedia controls (Fn+Up/Down/Left/Right) [Tested with Rythmbox]
  • VGA port
  • Card reader
  • USB 3.0 port with USB 3.0 hardware
  • TurboBoost

What hasn't been tested (yet)

  • Hibernate

What isn't working, and no working method is known yet

  • Fingerprint reader
  • HDMI port

What works but needs tweaking

Hard Drive Power Management

Got the solution here.

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
}

Save and quit. Reboot to apply.

Video driver

Asus U36JC includes a dual mode graphics card (NVIDIA Optimus). This type of cards aren't supported by NVIDIA restricted driver neither by nouveau open source driver.

After installation Ubuntu will offer you installing NVIDIA restricted driver. If you do so, the next time you boot you won't have X. DO NOT INSTALL RESTRICTED DRIVER.

The default Intel card will be sufficient to use full compiz desktop effects.

By default Oneiric won't start with Unity 3D and will use Unity 2D. To enable Unity 2D you must uninstall nvidia-current package so system will default to your Intel card.

sudo apt-get remove nvidia-current

After reboot your desktop will default to Unity 3D.

If you want your battery to last more, you need to disable the nvidia card permanently. Ironhide project tries to use full NVIDIA Optimus' capabilities. In my case I don't need those capabilities but we're going to use Ironhide ppa to assure we always have an acpi_call module compiled for our running kernel.

Add Ironhide ppa and install acpi-call-dkms package:

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

Next we're going to create a script to disable Optimus:

gksu gedit /etc/init.d/optimusoff

Paste the following code, save and close:

 #! /bin/sh
### BEGIN INIT INFO
# Provides:             optimusoff
# Required-Start:       $local_fs $syslog
# Required-Stop:        $local_fs $syslog
# Default-Start:        2 3 4 5
# Default-Stop:         0 1 6
# Short-Description:    Disables/Enables the NVidia graphics card
#                       within the NVidia Optimus system
#                       
#                       Modified for the U36Jc and Ubuntu 11.04
#                       using details from
#                       
#                       http://robbyx.net/blog/?p=190
### END INIT INFO
 
. /lib/lsb/init-functions
 
set -e
 
case "$1" in
start)
#
echo '\_SB.PCI0.PEG1.GFX0._OFF' > /proc/acpi/call
;;
stop)
echo '\_SB.PCI0.PEG1.GFX0._ON' > /proc/acpi/call
;;
*)
echo '\_SB.PCI0.PEG1.GFX0._OFF' > /proc/acpi/call
N=/etc/init.d/optimusoff
echo "Usage: $N {start|stop}\nBy default, 'start' is executed.\n" >&2
exit 1
;;
esac
 
exit 0

Make the script executable and add it to rc:

sudo chmod a+x /etc/init.d/optimusoff
sudo update-rc.d optimusoff defaults 98 02

Add acpi_call to onboot modules. Open /etc/modules:

gksu gedit /etc/modules

Add the following line:

acpi_call

And update initramfs:

sudo update-initramfs -u

After reboot your power consumption will be much lower. In my case these are my numbers:

Before:

grep rate /proc/acpi/battery/BAT0/state
present rate:            17640 mW

After:

grep rate /proc/acpi/battery/BAT0/state
present rate:            11805 mW

Boot splash

As usual with Intel cards, Plymouth boot splash will show too late in the boot process. If you want it to appear earlier, type this in a console window:

sudo echo FRAMEBUFFER=y > /etc/initramfs-tools/conf.d/splash
sudo update-initramfs -u

You might get a little bit slower boot, but it will look much consistent (IMHO).

Suspend/Resume

Suspend doesn’t work out of the box because of a problem with the USB buses. To workaround it, create the following file:

sudo gedit /etc/pm/sleep.d/20_custom-asus-u36jc

And paste this script (original version for the Asus U35JC) [remove leading white space in the first line]. The script includes code for disabling optimus after suspend/resume.

 #!/bin/sh

BUSES="0000:00:1a.0 0000:00:1d.0"
BUSES3="0000:07:00.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
        # Switch USB 3.0 buses off
        for bus in $BUSES3; do
            echo -n $bus | tee /sys/bus/pci/drivers/xhci_hcd/unbind
        done
        # Switch optimus back on before going to sleep, avoids the "constant on"
        # bug that occurs after 2 suspend/resume cycles (thanks kos888)
        /etc/init.d/optimusoff stop
        ;;
    resume|thaw)
        # Switch USB buses back on
        for bus in $BUSES; do
            echo -n $bus | tee /sys/bus/pci/drivers/ehci_hcd/bind
        done
        # Switch USB 3.0 buses back on
        for bus in $BUSES3; do
            echo -n $bus | tee /sys/bus/pci/drivers/xhci_hcd/bind
        done
        # Switch optimus off before resuming, avoids unneccessary power draw
        /etc/init.d/optimusoff start
        ;;
esac

And make it executable:

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

Webcam

Webcam works out of the box, but non Gnome native programs, as Skype, will show the image flipped upside down and left to right. You can workaround it by declaring LD_PRELOAD before launching. The following example is for launching Skype from console:

LD_PRELOAD=/usr/lib/i386-linux-gnu/libv4l/v4l1compat.so skype

I've tested it also with Google Chrome and Google Talk audio and video plugin:

LD_PRELOAD=/usr/lib/i386-linux-gnu/libv4l/v4l1compat.so google-chrome

Oneiric Ocelot 64bit (Ubuntu 11.10 x64)

Lisje: please note that I tested the beta version on 2011/09/19

Graphics

Works out of the box. But to manage switching between the Intel and NVidia graphics (and power management thereof) see ironhide on launchpad : https://launchpad.net/~mj-casalogic/+archive/ironhide/

Suspend/Resume

See suspend/resume on Maverick Meerkat (below).

See Also

External Links

Asus_U36JC (last edited 2012-05-02 12:18:16 by davy-renaud)