This is an old revision of the document!
The T91MT works fine with Ubuntu but does require some tweaks to get it usable. I recommend using Xubuntu rather than a full Ubuntu install as the systems processor isn't so great.
Probably the easiest was to install is to create a USB/SD Live disk using 'usb-creator-gtk' to put an Ubuntu iso onto a USB drive or SD card (unless you have an external USB cdrom). The 'usb-creator-gtk' is included with a default Ubuntu install and is also on the Ubuntu LiveCD so you can use it without having a desktop Ubuntu install. It can be found in “Applications>System>USB Startup Disk Creator”. Simply run it on a normal desktop system, give it the drive you wish to install to and your iso image.
Put the SD Card or USB drive into the EeePC, ensure that you are booting from a cold boot (sometimes the system seems to skip the initial BIOS/EFI). You will know that you are getting a full cold boot by the grey ASUS splash screen that comes up. When the screen appears keep loan modification tapping the ESC key. Select the drive with your Ubuntu Live disc on and hit enter.
You should now boot to a normal Ubuntu LiveCD environment and can install as you would any other Ubuntu distro.
Be careful not to choose the option to use the whole drive, or erase the 16MB /dev/sda2 partition as that contains the EFI code.
The drivers shipping with Ubuntu 9.10 are buggy and can cause slow speeds and dropouts. Fortunately there are newer drivers in backports. This is no longer a problem with 10.04.
Firstly you need to enable backports, either in Synaptic under “Settings>Repositories>Updates>Unsupported updates (karmic-backports)”. Or by uncommenting the 2 karmic-backports lines in /etc/apt/sources.list
deb http://archive.ubuntu.com/ubuntu/ karmic-backports restricted main multiverse universe deb-src http://archive.ubuntu.com/ubuntu/ karmic-backports restricted main multiverse universe
Then go ahead and update your repositories with:
sudo apt-get update
Finally, install the backport modules:
sudo apt-get install linux-backports-modules-karmic linux-backports-modules-wireless-karmic-generic
This should also update your kernel if you haven't already.
Then simply reboot ☺.
You might wan't to do the rest of the updates now you have a stable wifi connection.
sudo apt-get upgrade
Unfortunately the T91 series use an Intel GMA500 aka Poulsbo video chip. This uses fairly terrible proprietary non-redistributable drivers with binary blobs due to components being from PowerVR (with some opensource components to wrap around them). Hopefully in future we might see some better drivers from Intel since they are pushing their Moblin/MeeGo Linux distribution but right now the GMA500 drivers are listed as deprecated in the Moblin source tree, there was rumors of GMA500 drivers in Moblin 2.0 but they didn't seem to appear. The GMA500 is also used in the popular Dell Mini 9 netbook, Dell also recently adding support for Ubuntu. So perhaps in future we will get some proper drivers.
Fortunately there are some scripts that allow for easy installation of the proprietary drivers.
Make sure your linux-headers-generic are up to date, for some reason they didn't automatically update when I did the apt-get upgrade after installing the backports modules. It might be worth while running:
sudo apt-get update; sudo apt-get upgrade; sudo apt-get install linux-headers-generic
Right now there are some slightly broken drivers. Normal XV video playback doesn't work however VAAPI hardware accelerated playback works fine. If you use a vaapi build of mplayer you should be ok.
To install the normal GMA500 drivers:
sudo add-apt-repository ppa:gma500/ppa && sudo apt-get update && sudo apt-get install poulsbo-driver-2d poulsbo-driver-3d poulsbo-config
The PSB repo contains patched mplayer and gnome-mplayer with hardware accelerated VAAPI video output support.
sudo apt-get install mplayer gnome-mplayer
If you experience video corruption (jittery playback, blocks), use the '-vfm xvid' flag. You may also find that some screen updates (such as from terminal output) draw over the window causing them to flicker ontop of the video. Just ensure that the video playback window is the only one link building maximized on the desktop. You can add the following to /etc/mplayer.conf
vfm=xvid
720p playerback can be speed up by locking it to 24fps with: -lavdopts fast:skiploopfilter=all -fps 24
There is also a vlc but it seems to suffer from the stuttering, blocky output that is fixed in mplayer with the vfm command.
To install mplayer and vlc with vaapi support from PPA (uninstall any current mplayer or vlc files befoure hand):
sudo add-apt-repository ppa:nvidia-vdpau/cutting-edge-multimedia sudo apt-get update sudo apt-get upgrade sudo apt-get install vlc mplayer
Then edit /etc/mplayer/mplayer.conf and add vaapi to the start of the vo= options. You might also want to try the ”-va vaapi” this will allow somewhat watchable 720p playback, although on some videos it seems to cause glitching for me.
VLC has been compiled with VA-API support. To enable it, got Preferences ⇒ Video ⇒ check the “Accelerated Video Output” box.
Alternate script to install the mplayer-vaapi from source (this will take a while, make sure you don't already have mplayer, mplayer-gui or mplayer-skins installed):
cd /tmp && wget http://kanotix.com/files/fix/mplayer-vaapi-latest.txt && sudo bash ./mplayer-vaapi-latest.txt && echo "export GMA500_WORKAROUND=yes" | tee -a ~/.bashrc
There are some experimental EMGD drivers that seem to require a newer version of xorg. They support Xv video playback and Compiz. The brightness keys seem to stop working with these drivers.
wget dl-web.dropbox.com/u/1338581/emgd/install.sh && sudo sh ./install.sh
[EDIT]: I think these steps are outdated, the 10.10/10.04 ones should work for 9.10/9.04 though…
The repos from the Ubuntu Wiki install mplayer-vaapi components that could help with people trying to play hidef videos. It also automatically adds the correct entry to the whitelist of compiz compatible drivers. Its also currently more up to date then the wget scripts that where floating around.
Note: Xubuntu users, If you intend to use compiz with the driver, install it first to ensure that the script can add the entry to the whitelist (Normal vanilla Ubuntu has Compiz already):
sudo apt-get install compiz
Otherwise if you didn't have Compiz installed when you installed the drivers, ou can manually add psb to the Compiz WHITELIST:
sudo sed -i 's/i810 fglrx/i810 fglrx psb/g' /usr/bin/compiz
Install the Intel GMA500 Poulsbo driver with:
sudo add-apt-repository ppa:gma500/ppa && sudo apt-get update sudo apt-get install libdrm-poulsbo1 poulsbo-config poulsbo-driver-2d poulsbo-driver-3d psb-firmware psb-kernel-headers psb-modules xpsb-glx
After rebooting you should be in the native 1024×600 resolution.
The closed driver's performance isn't so great. 720p MKV's aren't playable for me even with the vaapi mplayer driver. Actually vaapi doesn't seem to improve playback at all and causes the mplayer OSD's to corrupt when seeking or changing volume. It seems to actually increase the CPU usage over the xv driver by a bit. Possibly it might improve things using h264 (my test was a normal xvid).
If you do want to use the vaapi driver with mplayer:
sudo apt-get install mplayer
Edit /etc/mplayer/mplayer.conf (or ~/.mplayer/config) and add:
vo=vaapi
Compiz works ok for normal usage however runs into problems in rotation mode, massive lag on things like rotate cube and the right side of the screen glitches.
Edit /etc/X11/xorg.conf and add the following line to the device section:
Option "AccelMethod" "EXA"
This will give enough of a boost to the video to enable YouTube to be watchable (just about). It might be worth looking at enabling the HTML5 YouTube player if your browser support it.720p mkv is smoother and with the following args might be watchable (mplayer recommends ”-lavdopts lowres=1:fast:skiploopfilter=all” but it was segfaulting on me):
mplayer -vo file.mkv -vfm ffmpeg -lavdopts fast:skiploopfilter=all
Also note that the graphics are much slower in rotated mode.
This worked the first time I tried it without issues, but on the 2nd install I was getting an error on start about the driver requiring DRM, it appears to have been a problem with the linux-headers not updating.
wget http://poulsbo-karmic.angelfire.com/files/poulsbo1.tar.gz tar -zxvf poulsbo1.tar.gz cd poulsbo1 sudo ./install.pl
Then reboot.
When using the GMA500 drivers, it may be necessary to run the following command when the kernel is updated (when using the psb drivers):
sudo dpkg-reconfigure psb-kernel-source
It's possible to get the native drivers to support the native LCD resolution. This will probably be slower and won't give any hardware/video acceleration but will work without the closed source binary blobs.
Edit /etc/grub.d/40-custom and append the following:
insmod 915resolution 915resolution 5c 1024 600 set gfxmode=1024x600
Then edit /etc/default/grub and add the following:
GRUB_GFXMODE=1024x600
Finally run sudo update-grub and reboot.
To stop Plymouth dropping to the text splash using uvesafb.
sudo apt-get install v86d
Add the following to /etc/defaults/grub's GRUB_CMDLINE_LINUX_DEFAULT flags:
nomodeset video=uvesafb:mode_option=1024x600-24,mtrr=3,scroll=ywrap
And set 'GRUB_GFXMODE=1024×600' in the same file.
Add to end of /etc/initramfs-tools/modules:
uvesafb mode_option=1024x600-24 mtrr=3 scroll=ywrap
Finally:
echo FRAMEBUFFER=y | sudo tee /etc/initramfs-tools/conf.d/splash sudo update-grub sudo update-initramfs -u
If you want, you can edit /etc/usplash.conf and change xres=800 to xres=1024 (leave yres at 600). This only effects the quick white boot logo at the start and isn't really too noticeable. 10.04 replaced usplash with plymouth/xsplash.
Setup related:
General Intel GMA500 on Linux information:
The T91's touchscreen appears to be supported by the stock evtouch drivers. To install them:
sudo apt-get install xserver-xorg-input-evtouch
You will then need to reboot.
Apparently this works out of the box in 10.04.
The touchscreen calibration utility doesn't seem to work correctly, it doesn't work when run in an already running Xorg session (causing it to exit Xorg after the first stage) and it doesn't seem to correctly display the instructions when starting from a normal text terminal. But with some screwing around you can get it to work.
Firstly get our off Xorg with:
sudo stop gdm
Then:
sudo /usr/bin/calibrate_touchscreen
Now run the pen around the edge of the screen. When done, hit enter and tap the cross hairs as they turn red.
Restart Xorg/GDM.
sudo start gdm
The T91MT ships with a different touchscreen to the T91. Right now driver support for it is fairly new and requires custom evtouch drivers. There is also work being done on multitouch drivers.
Firstly backup the current touch driver, just in case:
sudo cp /usr/lib/xorg/modules/input/evtouch_drv.so /usr/lib/xorg/modules/input/evtouch_drv.so.save
Download 'xf86-input-evtouch-0.8.8-T91MT.tar.gz' from the Ubuntu Forums post (registration required).
tar zxvf xf86-input-evtouch-0.8.8-T91MT.tar.gz sudo cp 69-touchscreen.rules /etc/udev/rules.d/ sudo cp 50-asustek.fdi /usr/share/hal/fdi/policy/20thirdparty/ cd xf86-input-evtouch-0.8.8-T91MT sudo apt-get install xserver-xorg-input-evtouch xserver-xorg-dev make clean && make sudo cp ./.libs/evtouch_drv.so /usr/lib/xorg/modules/input/evtouch_drv.so
I couldn't get the calibrator to work, when trying to run it in Xorg, you get the instructions but not calibrate area and pressing enter to move to the next stage causes Xorg to restart. When running it without Xorg already running you get the calibrator but no instructions and pressing enter doesn't seem to do anything. The best solution I found was to write down the values the calibrator gives when running without xorg and then manually edit the .fdi file.
sudo stop gdm sudo /usr/bin/calibrate_touch
Run pen around edge of screen, take write down the values. Edit /usr/share/hal/fdi/policy/20thirdparty/50-asustek.fdi and change the following lines with the values you wrote down:
<merge key="input.x11_options.maxx" type="string">3475</merge> <merge key="input.x11_options.maxy" type="string">3475</merge> <merge key="input.x11_options.minx" type="string">0</merge> <merge key="input.x11_options.miny" type="string">0</merge>
There is now a PPA supporting multitouch on Maverick.
sudo add-apt-repository ppa:utouch-team/utouch sudo apt-get update sudo apt-get install hid-mosart-dkms
Download the tar.gz file from the Ubuntu forums post. Extract the .deb from it and install with:
tar zxvf multitouch-kernel-source-maverick.tar.gz sudo dpkg -i multitouch-kernel-source_1.555-t91mt_all.deb
Add the multitouch PPA:
sudo add-apt-repository ppa:chasedouglas/multitouch sudo apt-get update sudo apt-get install multitouch-kernel-source
Edit /usr/src/multitouch-1.5/drivers/hid/hid-core.c Comment out line 1554 so it looks like:
//{ HID_USB_DEVICE(USB_VENDOR_ID_ASUS, USB_DEVICE_ID_ASUS_T91MT)},
Edit /usr/src/multitouch-1.5/drivers/hid/usbhid/hid-quirks.c Add the following line after ”} hid_blacklist[] = {”
{ USB_VENDOR_ID_ASUS, USB_DEVICE_ID_ASUS_T91MT, HID_QUIRK_MULTI_INPUT },
Recompile the multitouch drivers (this takes a while)
sudo dpkg-reconfigure multitouch-kernel-source
Now when you reboot you should have a working touchscreen. There is also a fix below for ensuring the input is correct when rotated.
Calibration can be done using the T101's eGalax calibrator:
cd /tmp && wget "http://www.philmerk.de/dwl/deb/eeepc-t101mt-calibrator-0.0.2-1-i386.deb" && dpkg -i eeepc-t101mt-calibrator-0.0.2-1-i386.deb
Then run with:
sudo egalax_calibrator_x11
Or the the “System>Administration>Calibrate touch screen” menu entry.
To enable to finger scroll and other feature .on the Synaptic touch pad.
Edit /usr/share/hal/fdi/policy/20thirdparty/11-x11-synaptics.fdi and add the following before the final </match>:
<merge key="input.x11_options.SHMConfig" type="string">On</merge>
<merge key="input.x11_options.EmulateTwoFingerMinZ" type="string">40</merge>
<merge key="input.x11_options.VertTwoFingerScroll" type="string">1</merge>
<merge key="input.x11_options.HorizTwoFingerScroll" type="string">1</merge>
<merge key="input.x11_options.TapButton1" type="string">1</merge>
<merge key="input.x11_options.TapButton2" type="string">3</merge> <!--2 finger tap -> middle click(3) -->
<merge key="input.x11_options.TapButton3" type="string">2</merge> <!--3 finger tap -> right click(2). almost impossible to click -->
<merge key="input.x11_options.CircularScrolling" type="string">true</merge>
It might be worth skipping the last CircularScrolling line since it can cause problems when moving and is kind of redundant with the other scrolling.
To get the little silver rotate screen stud working. Create ”/etc/acpi/events/asus-rotate-t91” and add the following to it:
event=hotkey (ATKD|HOTK) 0000007b action=/etc/acpi/rotatescreen.sh
Make sure you have “acpi_osi=Linux” in /etc/defaults/grub (at least in 10.04).
If you want to flip the direction that it rotates into (which makes it easier to grab the stylus from the top right rather than the bottom left when in tablet mode), edit '/etc/acpi/rotatescreen.sh' and change the 2 bits that read 'right' to 'left'. Make sure you do this before the fix rotated input step.
sudo sed -i 's/right/left/g' /etc/acpi/rotatescreen.sh
Maverick broke the rotation script. To fix it: Edit /usr/share/acpi-support/power-funcs and remove the extra ) after $displaynum on line 9.
Edit /etc/acpi/rotatescreen.sh and replace the entire loop at the end with:
/usr/bin/xrandr -o $NEW_ROTATION echo $NEW_ROTATION > /var/lib/acpi-support/screen-rotation
The rotated input fix should go *after* that.
Finally you also need to add the following command to a startup script for your xorg session (including the colon):
xhost local:
Just create a file with the command, make sure it's +x and add it to the list in System>Preferences>Startup Applications.
Add the following to the end of /etc/acpi/rotatescreen.sh to ensure that input axis are also correctly rotated.
INPUTDEV="9"
ROTATION=`cat /var/lib/acpi-support/screen-rotation`
case $ROTATION in
normal) xinput set-int-prop $INPUTDEV "Evdev Axes Swap" 8 0
xinput set-int-prop $INPUTDEV "Evdev Axis Inversion" 8 0 0;;
left) xinput set-int-prop $INPUTDEV "Evdev Axes Swap" 8 1
xinput set-int-prop $INPUTDEV "Evdev Axis Inversion" 8 1 0;;
right) xinput set-int-prop $INPUTDEV "Evdev Axes Swap" 8 1
xinput set-int-prop $INPUTDEV "Evdev Axis Inversion" 8 0 1;;
inverted) xinput set-int-prop $INPUTDEV "Evdev Axes Swap" 8 0
xinput set-int-prop $INPUTDEV "Evdev Axis Inversion" 8 1 1;;
esac
There are a couple of on screen keyboards to choose from.
The basic on screen keyboard. shift key doesn't modify mouse clicks so using it to select multiple files in your filemanager doesn't work. Hovering over the shift or capslock keys seem to cause them to turn on weirdly.
A simple effective on screen keyboard, capslock acts like the shift key and needs to be double tapped to 'lock' uppercase which isn't a huge issue. The start keyboard minimized option doesn't appear to work. Can be toggled on an off via a toolbar icon. Hidden patches of color on the right side of the keyboard allow access to the options to turn on the icon and such (the bottom square gives the settings button).
Does handwriting recognition with 'cells' as well as including a normal virtual keyboard. Shift doesn't modify clicks. Can be toggled on an off via a toolbar icon.
Another basic virtual keyboard, shift key doesn't modify mouse clicks.
kvkbd, klavier and plasma-widget-plasmaboard appear in the repos.
For ext4 in /etc/fstab use the following options for your partition to minimize writes and improve life expectancy:
noatime,nodiratime,commit=60,errors=remount-ro
Change the storage scheduler from cfq to either deadline or noop, see the elevator option in Grub Tweaks.
Edit /etc/default/grub and change the GRUB_CMDLINE_LINUX_DEFAULT line:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pciehp.pciehp_force=1 pciehp.pciehp_poll_mode=1 elevator=deadline acpi_backlight=vendor acpi_osi=Linux"
I'm not to clear on the pcie options, they seem to contradict each other and my setup worked fine without them. However some people claim it helps stop a random freezing problem they are having. It also might have something to do with the wifi key but that was also working for me out of the box, might be other EeePC models need it.
Apply the settings with:
sudo update-grub
On my setup with the default modules, I sometimes find that the Audio stops working until I power off and on. You also need to turn the volume up in the mixer each time. There are no problems in 10.04.
There is a repository with a newer 'unstable' ALSA 1.0.22 version, which enables the microphone to work in Skype. It also has a bunch of other unrelated components (grub for example) that will be upgraded if you enable the repo. It might cause upgrading issues down the road with newer kernels and so on so be warned.
sudo add-apt-repository ppa:ricotz/unstable sudo apt-get update && sudo apt-get upgrade
If you later run into problems, you can remove the repository and it's updates with:
sudo ppa-purge ppa:ricotz/unstable
Easystroke allows you to use gestures on the laptop screen to perform actions. The only issue is that you need to bind it to use the normal mouse button 1 for the touch screen, this means that in order to perform dragging actions such as moving windows you need to hold the click for a short time (it's a very short time). The advantages make it well worth while.
sudo apt-get install easystroke
Then launch with “Applications >Accessories>Easystroke Gesture Recognition” or the 'easystroke' command.
Open the preferences by clicking on the green and blue loop icon that should have appeared in the top right of your screen.
Firstly you will want to set it to use button 1 so the touchscreen works: “Preferences>Gesture Button” and change “Button 2” to “Button 1”. Under preferences you will probably want to tick “Autostart easystroke”
There is a list of Exceptions, you will want to add applications that you want to use the touchscreen with normally, for example Gimp, Cellwriter or Xournal.
The current T91MT touchscreen drivers don't seem to work with the long press to right click option. A simple hack to get right click to work is to install 'easystroke' and bind a simple gesture for the rightmouse button (I use down then up as it allows for rightclick on the icons at the top of the screen without hassle).
There is also an option in the “System>Prefrences>Mouse”, Accessibility, Simulated Secondary Click however this seems to cause freezes (at least on 9.10) due to mouse_tweak locking up and using all the CPU.
It's handy to bind strokes for to left and right, to the left and right arrow keys. This allows you to do things like turn pages in ebook readers or comix. Space may be another good choice as many seem to use that to advance the page. A L gesture for Ctrl+W to close a tab. Another gesture for Alt+F4 to close the current Window.
If you want, you can disable the normal synaptic touchpad from registering strokes. Strokes do work rather well on the touch pad by this makes it easier to use for dragging windows around and such (no need to hold the click for a short time). Under the advanced tab, simply untick the “SynPS/2 Synaptics TouchPad” from the “Devices” list.
kgingeri at the Ubuntu Forums has put up some Easystroke config files that contain strokes for all the keys allowing you to enter them into applications.
Xournal is a great touch note taking application.
sudo apt-get install xournal