Thread: Setting up Ubuntu Lucid Lynx (10.04) on the Asus U35JC
install newer kernel
reboot use new kernel (2.6.35-19 @ time of writing).code:$ sudo add-apt-repository ppa:kernel-ppa/ppa $ sudo apt-get update $ sudo apt-get install linux-image-generic-pae-lts-backport-maverick \ linux-headers-generic-pae-lts-backport-maverick \ build-essential
update: 2.6.35-19 best kernel tried far regarding battery usage, can low 8w it, while newer kernels don't drop below 12w (tried 2.6.35-22 , 2.6.37-7 kernel ppa).
install acpi_call disable nvidia card
nvidia discrete graphics card doesn’t work @ time of writing, it’s best disable save battery. you’ll need acpi_call module so:
this builds kernel module named acpi_call.ko. try , see if works:code:$ git clone http://github.com/mkottman/acpi_call.git $ cd acpi_call $ make
copy module current kernel's modules library. you'll need after each kernel upgrade :code:$ grep rate /proc/acpi/battery/bat0/state present rate: 19913 mw $ sudo insmod acpi_call.ko $ sudo echo '\_sb.pci0.peg1.gfx0._off' > /proc/acpi/call $ grep rate /proc/acpi/battery/bat0/state present rate: 12558 mw
and have loaded @ boot time: edit /etc/modules , add acpi_call line it. how looks on system after fresh install:code:$ sudo cp acpi_call.ko /lib/modules/`uname -r`/kernel/drivers/acpi/ $ sudo depmod
to disable discrete graphics card @ startup, edit /etc/rc.local , add acpi_call command it, e.g.:code:# /etc/modules: kernel modules load @ boot time. # # file contains names of kernel modules should loaded # @ boot time, 1 per line. lines beginning "#" ignored. lp acpi_call
last not least, blacklist nouveau driver (it caused instability on system when playing acpi_call). create file named /etc/modprobe.d/blacklist-nvidia.conf content:code:#!/bin/sh -e # # rc.local # # script executed @ end of each multiuser runlevel. # make sure script "exit 0" on success or other # value on error. # # in order enable or disable script change execution # bits. # # default script nothing. echo '\_sb.pci0.peg1.gfx0._off' > /proc/acpi/call exit 0
and regenerate initramfs image current kernel:code:blacklist nouveau blacklist nvidia
reboot, , verify power consumption @ minimum.code:$ sudo update-initramfs -u
have acpi_call recompiled after each kernel upgrade, copy acpi_call source /usr/local/src:
then create script named /etc/kernel/postinst.d/acpi-call , put following in it:code:$ cd .. && sudo mkdir -p /usr/local/src && sudo cp -r acpi_call /usr/local/src
and make executable:code:#!/bin/bash # we're passed version of kernel being installed inst_kern=$1 if [ ! -e /usr/local/src/acpi_call ] ; echo "acpi_call: warning - failed find source directory /usr/local/src/acpi_call. cannot proceed" >&2 exit 0 fi cd /usr/local/src/acpi_call/ rm -f acpi_call.ko make if [ ! -e acpi_call.ko ] ; echo "acpi_call: warning - failed build. not installed in new kernel" >&2 exit 0 fi cp acpi_call.ko /lib/modules/${inst_kern}/kernel/drivers/acpi/
make trackpad toggle (fn+f9) button workcode:$ sudo chmod 755 /etc/kernel/postinst.d/acpi-call
edit /etc/acpi/asus-touchpad.sh , replace script this:
configure trackpad xcode:#!/bin/sh [ -f /usr/share/acpi-support/state-funcs ] || exit 0 . /usr/share/acpi-support/power-funcs getxconsole device_id=`xinput -list | grep -i touchpad | grep id= | sed 's/.*id=\([0-9]*\).*/\1/' ` if xinput -list-props $device_id | grep "device enabled" | grep "1$" > /dev/null xinput set-int-prop $device_id "device enabled" 8 0 else xinput set-int-prop $device_id "device enabled" 8 1 fi
trackpad recognized correctly synaptics device maverick’s (2.6.35) kernel. has effect of making “multitouch” functions stop work. add in /etc/x11/xorg.conf bring them back:
note: may not necessary, trackpad stopped function once , haven't been able reproduce issue. can fix if happens config though.code:section "inputclass" identifier "touchpad catchall" matchistouchpad "on" matchdevicepath "/dev/input/event*" driver "synaptics" option "verttwofingerscroll" "on" option "horiztwofingerscroll" "on" option "circularscrolling" "off" option "criculartrigger" "0" option "tapbutton1" "1" option "tapbutton2" "2" option "tapbutton3" "3" endsection
fix suspend
suspend doesn’t work out of box because of problem usb buses, need disable them before going sleep.
need switch nvidia card on before suspending, or becomes impossible switch off acpi_call after 2 suspend cycles.
create file named /etc/pm/sleep.d/20_custom-asus-u35jc , paste script:
don’t forget make executable :code:#!/bin/sh buses="0000:00:1a.0 0000:00:1d.0" case "${1}" in hibernate|suspend) # switch usb buses off bus in $buses; echo -n $bus | tee /sys/bus/pci/drivers/ehci_hcd/unbind done # switch nvidia card on before going sleep, avoids "constant on" # bug occurs after 2 suspend/resume cycles (thanks kos888) echo '\_sb.pci0.peg1.gfx0._on' > /proc/acpi/call ;; resume|thaw) # switch usb buses on , nvidia card off bus in $buses; echo -n $bus | tee /sys/bus/pci/drivers/ehci_hcd/bind done echo '\_sb.pci0.peg1.gfx0._off' > /proc/acpi/call ;; esac
fix flipped webcam under skypecode:chmod +x /etc/pm/sleep.d/20_custom-asus-u35jc
video comes out flipped upside down. here trick make behave correctly under skype. create script, e.g. in /usr/bin/skype-webcam-fixed:
or on 64 bits systems:code:#!/bin/sh export libv4lcontrol_flags=3 ld_preload=/usr/lib/libv4l/v4l1compat.so /usr/bin/skype
make executable :code:#!/bin/sh export libv4lcontrol_flags=3 ld_preload=/usr/lib32/libv4l/v4l1compat.so /usr/bin/skype
now when want run skype use script instead of /usr/bin/skype.code:chmod +x /usr/bin/skype-webcam-fixed
things not working
- hibernate results in black screen, though works in single user mode should not hard fix. reboot use magic sysrq sequence (hold alt+print scr , type r, e, i, s, u, b)
- nvidia card not working
this adapted blog post, compilation of infos around internet , forum.
hibernate works in single user mode, , @ first login screen. once logged in fails, ending black screen. going login screen doesn't help, have reboot work again, must service started after login makes hibernation fail.
Forum The Ubuntu Forum Community Ubuntu Official Flavours Support Hardware [all variants] Setting up Ubuntu Lucid Lynx (10.04) on the Asus U35JC
Ubuntu
Comments
Post a Comment