Installing squeeze on my ASUS T101MT netbook/tablet was a long process of lot of reading and google-ing to get everything working. After around a month and a half of tinkering, I finally have everything working and worked out most of the bugs. I am so impressed by the performance this thing has now, I felt I should create a how-to for anyone interested in doing this. Following these steps should give you working multi-touch screen and touchpad, as well as all the other hardware of this machine. I will try to help if anyone has any problems. Commands as USER are in green and commands as ROOT are in red. This is mostly written for the gnome desktop but could easily be adapted for any desktop. (use kate instead of gedit, etc.) All needed files are either as an attachment to this post or linked.
1. Install squeeze, I used the net install with no extras (system tools, or graphicall interface options at the end of install) and then installed gnome and gdm3. My package list is here
2. Install New Kernel, since the default squeeze one didn’t work with the touchscreen. You can compile your own kernel or to make it easy, I have compiled the kernel already and created a .deb for you. Download the two deb files and the kernel tar file. Extract the kernel source to /usr/src, and install the kernel debs (the config file is there already for you as well). This kernel has been stripped down to whats needed to run the computer, mass storage devices, and joysticks, and a few other things; it’s only 10mb image file and 6mb headers!.
FOR ADVANCED USERS: If you want to add kernel features/modules, I’ve included a script in the in source directory to allow you to recompile your kernel and create deb files. cd to /usr/src/linux-2.6.36 and run: make menuconfig, choose your settings you would like and then run: ./makepackage.sh to create your kernel packages, then cd.. and dpkg -i linux-imageXXX dpgk -i linux-headersXXX. Reboot.
FOR THE NORMAL USER:
tar xvpfz linux-source-mcs.tar.gz /usr/src/
dpkg -i linux-image-2.6.36-mcs.23-686_2.6.36-mcs.23-686-10.00.Custom_i386.deb
dpkg -i linux-headers-2.6.36-mcs.23-686_2.6.36-mcs.23-686-10.00.Custom_i386.deb
reboot
IF YOU WANT TO ROLL YOUR OWN VANILLA KERNEL: make sure you pick the module eeepc_laptop and not the Eee PC Hotkey Driver (you will have your hotkeys doing double actions if you enable bother). This is under Device Drivers -> X86 Platform Specific Device Drivers. And if you need help rolling your own, there is a great tutorial listed in my sources at the bottom of this page.
3. Make multitouch work. Download and install the egalax-multitouch-driver-2.6.36-mcs.23-686-i386.deb egalax-multitouch-driver-common.deb, then install twofing_0.0.7-1_i386.deb.
dpkg -i egalax-multitouch-driver-2.6.36-mcs.23-686-i386.deb
dpkg -i egalax-multitouch-driver-common.deb
dpkg -i twofing_0.0.7-1_i386.deb
There will be a few udev errors but ignore them, it will work fine. Then add the command “twofing --wait” to your startup apps (in gnome this is System ->Preferences -> Startup Applications). Reboot and touchscreen should be working, as well as two-finger right click on the screen. Pinch to zoom will work on most apps as well, and 2 finger rotate thanks to Plippo's work (see sources)
4. Rotate Screen You now have a script called touchrotate in your /usr/bin directory. You can assign it keyboard shortcuts to enable rotating the screen, this script will rotate the screen as well as the X and Y axis of the touch screen. You can use “touchrotate left” to rotote screen left or “touchrotate right”, “touchrotate inverted” (for up), “touchrotate normal” (for down). Or “touchrotate toright” (to move it one direction right), “touchrotate toleft” (to move it one turn left direction). There was one problem with this enabling a extremely bright screen after a rotate, to fix this, do the following as root:
insert in /etc/sudoers:
gedit /etc/sudoers
Code: Select all
YOUR-USER-NAME ALL=NOPASSWD:/home/your-user-name/bin/brightness.sh
Then create script in ~/bin, DO THIS AS ROOT SO YOU DO NOT HAVE A SECURITY EXPLOIT:
echo ‘echo "15" > /sys/class/backlight/eeepc/brightness’ ~/brightness.sh
add end of file in /usr/bin/touchrotate right above “fi”:
Code: Select all
sudo /home/YOUR-USER-NAME/bin/brightness.sh
5. Fix your screen brightness and hotkeys:
To enable full brightness, open the file /etc/rc.local with root rights:
gksudo gedit /etc/rc.local
ABOVE the line that reads exit 0, add the following line:
setpci -s 00:02.0 f4.b=ff
edit your /etc/default/grub file so the “GRUB_CMDLINE_LINUX_DEFAULT” line has “acpi_osi=Linux acpi_backlight=vendor” after it.
example: GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_osi=Linux acpi_backlight=vendor"
6. Touchpad enable/disable hotkey doesn’t work, here is a fix:
I wrote a script in ~/bin called touchpad.sh to fix this, do this as user:
gedit ~/bin/touchpad.sh
Copy and paste code:
Code: Select all
#!/bin/sh
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
then
# if xinput -list | grep -i mouse | grep -i usb > /dev/null
# then
xinput set-int-prop $DEVICE_ID "Device Enabled" 8 0
# fi
else
xinput set-int-prop $DEVICE_ID "Device Enabled" 8 1
fi
7. Create a script to scale screen when needing 1024x768 resolution. Create a script called toggle-zoom in your ~/bin directory with this code as user:
gedit ~/bin/toggle-zoom
Copy and paste code:
Code: Select all
#!/bin/bash
if xrandr | head -n1 | grep -q '1024 x 600'; then
xrandr --output LVDS1 --scale 1.0x1.28
else
xrandr --output LVDS1 --scale 1.0x1.0
sudo ~/bin/brightness.sh
fi
8. Want Compiz? It works great! (wobbly windows and edge-flipping desktops.)
Call these command as root:
apt-get purge xserver-xorg-video-nouveau xserver-xorg-video-nv
apt-get install libgl1-mesa-dri libgl1-mesa-glx
dpkg-reconfigure xserver-xorg
Reboot or restart X
apt-get install compizconfig-settings-manager compiz-fusion-plugins-main compiz-fusion-plugins-extra (and compiz-gnome if runnig gnome).
Create a scrip in ~/bin called compizstart as user:
gedit ~/bin/compizstart
Copy and paste code:
Code: Select all
#!/bin/sh
echo “Get Some”
if [[ `pidof compiz` ]]; then
# compiz running, nuke it.
metacity --replace &
killall -9 compiz
else
# no compiz.
compiz --replace &
fi
Fix the Flip Delay so it doesn’t flip every time you touch a edge (if using cube or desktop wall and mouse edgeflip)
change /usr/share/compiz/wall.xml <nodelay> from true to false, 4 instances (about).
example <nodelay>false</nodelay> --> <nodelay>true</nodelay>
9. Hearing annoying hard drive clicks?? As root:
# hdparm -B 254 /dev/sda
To make the change permanent... edit /etc/hdparm.conf by adding to the end of the file as root:
command_line {
hdparm -q -B 254 /dev/sda
}
To fix on resume from suspend/hibernate: create file /etc/pm/sleep.d/10hdparm as root:
Code: Select all
#!/bin/bash
case $1 in
hibernate)
# do nothing
;;
suspend)
# do nothing
;;
thaw)
# ensure hard disk power management is disabled again on thaw.
hdparm -B 254 /dev/sda
echo "Hard disk power management disabled on thaw."
;;
resume)
# ensure hard disk power management is disabled again on resume.
hdparm -B 254 /dev/sda
echo "Hard disk power management disabled on resume."
;;
*) echo "somebody is calling me totally wrong."
;;
esac
chmod +x /etc/pm/sleep.d/10hdparm
10. Here is a fix for the screen rotate button, Normally the Roate Button is assigned to XScreenSaver (at least in gnome). There is a fix but it is a bit more advanced and I found this in the ubuntu forums posted by a user, Sergey1369 (see notes at bottom for references). Do this as root to be able to map commands to the rotate button:
“cd /lib/modules/2.6.36-mcs.23-686/kernel/drivers/platform/x86
cp eeepc-laptop.ko eeepc-laptop.ko.orig
sed -e 's!\x1a\x0\x0\x0\x98!\x1a\x0\x0\x0\x99!' eeepc-laptop.ko.orig > eeepc-laptop.ko
rmmod eeepc-laptop
modprobe eeepc-laptop
GOOD: Now button can be binded via standard keyboard shortcuts to any program.
BAD: every kernel update requires repeating procedure.”
Now create a mapping as user:
echo “keycode 161 = XF86Mail” >> ~/.Xmodmap
Reboot or restart X-server and you can now map the button in your keyboard shortcuts (like the touchrotate command or compiz expo in my case)
11. Two Finger touchpad scrolling:
Quoted from the Ubuntu wiki:
“To make two-finger scrolling work on the touchpad, press Alt+F2 and enter
gedit /usr/share/X11/xorg.conf.d/96-synaptics-twofing.conf
An editor with an empty file will load. Paste there the following text:
Code: Select all
Section "InputClass"
Identifier "touchpad two finger scrolling"
MatchIsTouchpad "on"
MatchDevicePath "/dev/input/event*"
Option "EmulateTwoFingerMinZ" "10"
Option "EmulateTwoFingerMinW" "7"
Option "VertTwoFingerScroll" "True"
Option "HorizTwoFingerScroll" "True"
Option "VertEdgeScroll" "False"
Option "HorizEdgeScroll" "False"
Driver "synaptics"
EndSection
gconftool-2 --set /desktop/gnome/peripherals/touchpad/scroll_method --type=int 2
Nothing will happen then, that's okay. Log off and back in, now two-finger scrolling on the touchpad should work. “
12. If some apps are displaying your camera upside down, call them like so:
LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so APPNAME
(APPNAME being the name of the app, example: iceweasel)
13. Downloading notify-osd from sid will solve your problem of having a large osd message for the network-manager and such.
----
That should give you everything you need to have your netbook working properly. I’ve also included a theme that I generated by mixing ubuntu’s theme dockbar b&w icons with the shiki-wise theme. Just untar the theme file to /usr/share/themes and the icon pack to /usr/share/icons. I created a few icons for empathy, pidgin, and exaile for the dockbar. I want one for xchat but can’t figure out a way for to get it working yet, let me know if you have any ideas.
I hope this works well for everyone and I’ll try to help if anyone has any problems. Good luck! By the way, install Google Earth, it is too cool on the touch screen!
All files below are stored on rapidshare and are only there for one month. Where else can I store them? The forum doesn't all debs.
Kernel Image deb: link
Kernel Headers deb: link
Kenel source: link
Multitouch Driver-Kernel: link
Multitouch Driver-Common: link
Twofing: link
MCS-wise theme: link
MCS-wise Icons: link
Screenshot of themes in attachment of this post.
To make my gnome theme work:
tar xvfz mcs-theme.tar.gz /usr/share/themes/
tar xvfz mcs-icons.tar.gz /usr/share/icons
apt-get install shiki-wise-theme murrine-themes gtk2-engines-murrine gnome-colors-common.
(wallpaper is already installed by default in gnome)
Good Luck,
-Mike
Sources:
Ubuntu Wiki: https://help.ubuntu.com/community/T101MT
Ubunutu Furom: http://ubuntuforums.org/showthread.php?p=9210836
Rotate Button Fix: http://ubuntuforums.org/showthread.php? ... 76&page=66
Toggle-Zoom Script: https://help.ubuntu.com/community/EeePC/Using
Compie-Kernel: http://www.howtoforge.com/kernel_compilation_ubuntu
Many thanks to Plippo for making these drivers work!