Ubuntu Eee Tablet

I recently purchased an Eee Tablet from Woot. It came pre-installed with Windows 7 but I wanted to install Ubuntu to see how that would work. Much to my surprise, after a few days of tinkering I had a system that worked really as tablet. Below are my instructions for replicating what I did, you can probably do the whole thing in under 2 hours. These instructions are target at Windows 7 and Ubuntu 10.10, while they will probably work with other versions of each, be aware of any differences that may arise.

  1. Pre-setup
  2. Install Ubuntu
  3. Resolution and Touch-screen
  4. Configure Firefox
  5. UI
  6. Extras

1) Pre-Setup

There is a large matrix of option in regard to how your system will be organized. You can dual-boot or just run Ubuntu. You can partition the internal SSD or add SD card. There are decisions regarding how much space is available and these decisions will be affected by which model you have (if you have 160G, dual-booting from a single drive is easy, if you've got 16G, space is going to be a little tight). I chose to dual boot from the internal SSD. I have a 32G drive. I gave Windows 20G and Ubuntu 10G (roughly). This setup actually leaves Windows feeling a little cramped (mine takes up 16G) and Ubuntu feels quite spacious (mine is less that 4G).

If you are going to dual-boot and space is limited, I recommend starting by uninstalling everything you don't need from Windows. Also, install anything you feel you will need (a good browser, maybe a text-editor) so that you can get an idea of what the final size is going to be for your Windows partition. Once you have that number, set up your partitions. In Windows, open the Control Panel and search for "partition", that will open Disk Management. Shrink your C: drive down to the size you have chosen (make sure you leave at least a few gigs free or Windows gets cranky).

2) Install Ubuntu

You're going to need a USB drive with at least 4G. Download a copy of Ubuntu Netbook edition and follow the instructions for creating a bootable USB drive. Plug the drive into your Eee and boot it up, as the machine is booting hit F2 to get into the BIOS. In the BIOS goto the Boot tab and select "Hard Disk Drives" and change your 1st Drive to the bootable USB key, hit F10 to save and exit.

When the drive boots, select Install Now and follow the instructions to install Ubuntu. If you're dual-booting, make sure you install to the correct partition, also the mount point needs to be "/".

After you've installed, go back into the BIOS and change the hard-drive back and boot into Ubuntu. Install any updates.

3) Resolution, Touch-screen and Keyboard

I read that some people had the correct resolution and touch-screen capability out of the box. I did not have the correct resolution or touch-screen and had to set them up manually.

To fix the screen-resolution I used the instructions here the cliff notes version is open a terminal and enter:
sudo add-apt-repository ppa:gma500/ppa && sudo apt-get update
and then
sudo apt-get install poulsbo-driver-2d poulsbo-driver-3d poulsbo-config
Reboot and you should have the correct resolution.

To get the touch-screen working I found this discussion. You don't need to read or do most of it though, just download the multitouch-kernal-source-maveric at the bottom of the first post, or I put a copy here. Just save it to your desktop, extract it and run it. Reboot and you should have a working touch screen.

At this point, you're going to want an onscreen keyboard. Just open up the Ubuntu Software Center and search for onBoard. You may need to enable some of the Universal Access features to make this work.

4) Configure Firefox

I'm assuming one of the main things you will be doing with a tablet is reading stuff on the Internet. To make this experience pleasant, we're going to customize Firefox a bit. First, open up Add-Ons and get the "Grab and Drag" add on. This will let you use the touch screen to move the page around. After that's install reboot Firefox. We're going to want to use fullscreen mode fairly often because of the small screen. Right click on the navigation bar and select Customize... drag the "Fullscreen" item up into the navigation bar. At this point I also removed the Home, Relad and Stop buttons because I almost never use them and I hid the bookmarks toolbar, but you should customize it however you like. The last thing we need to do is change the default settings because Firefox will hide the navigation bar when we're in fullscreen mode, and you'll have to open up the keyboard to get out of fullscreen mode. To fix this, type "about:config" in the URL bar and set "browser.fullscreen.autohide" to false. Now Firefox should be tablet friendly.

5) UI

The last piece is a few tweaks I made to the Ubuntu UI. Here is a screenshot of my desktop to show you what I'm going for. I wanted to maximize vertical screen real-estate. Add a panel to the right (right click on the top or bottom panels and select New Panel) and then remove the panels from the top and bottom. Right click the right panel and select properties. Set the width to 80 pixels and choose a background (here is a copy of the one I'm using). Right click the right panel again and select Add to Panel. Add the following things: Clock, Main Menu (not Menu Bar), Notification Area, Shut Down, Trash and Window Selector (not Window Picker). Also, drag a link to Firefox and onBoard into the panel. Lastly, change the Appearance (Menu>System>Preferences>Appearance), I recommend something with big min, max and close buttons. I chose "Quiet Environment" online. Note that changing the appearance will also change the look of your panel, in my case much for the better (sever icons were using the default, horizontal background which looked bad on a vertical panel).

Note: if you want to use the default theme, or you are having issues with odd background rendering on some applets, there is a documented fix.

Closing Statements

This is a first draft I may have made some mistakes or left something out. If you tried to follow these instructions and ran into any trouble please let me know and I will update them. I didn't follow this linear a path, I made a lot of mistakes and tried a lot of options, these are the ones that worked best for me. Please, if you have any feedback, leave it in the comments below - I would love to hear from you..

UPDATE: I tried to update Ubuntu and something crashed and I didn't have GUI, just terminal. I looked around for a little while to try to figure out how to fix it, but I decided it would be easier to re-install. I was able to follow these instructions and get everything working in about an hour.

I will also make a note here that I upgraded the RAM on mine as well as got a 16G flash drive and plugged it into the left side where I intend to leave it. That flash drive is being used purely for storage, that way both Windows and Ubuntu can have access to it.

Unsolved Problems:

  • I only have single touch, not the double touch that the hardware supports
  • I would like the front button to switch the screen orientation UPDATE: I still don't have this working, but I was able to see that there are triggers fired when the button is pressed, held and released. Also, the same type of triggers fire when the screen is flipped into "tablet" mode. I would be interested in taking advantage of this to have some features behave differently depending on what mode the computer is in.

Extra 1: Kindle

I used to have a different set of instructions for this, but these are easier and work better. 

  1. Download the Kindle for PC software
  2. Add ppa:ubuntu-wine/ppa to the Ubuntu software sources and install the latest version of Wine (as of this writing it was 1.3)
  3. Set the execute permisions on the Kindle installer
  4. Right click and run the installer with Wine

Extra 2: Cellwriter

I just installed Cellwriter and I have to endorse it. Works great!

Extra 3: BlueProximity

This was easy to set up and is available in the Ubuntu Software center. It will detect the bluetooth signal from your phone and use that to lock and unlock the computer. UPDATE: this was really cool, but it got annoying and I removed it. I found that some desks actually blocked the signal, so I would be working and the machine would randomly lock for a second. Still, a very cool idea.

http://www.woot.com/