How to install Ubuntu and Boxee on the Acer Aspire Revo
** UPDATE 7th January 2009 ***
See my new post for details on how to install the Boxee Beta and Ubuntu Karmic on the Revo:
How to install Ubuntu 9.10 and the Boxee Beta on an Acer Aspire Revo (including 64 bit option)
The details below are now out of date, but are still useful if you wish to install Ubuntu 9.04 (Jaunty) on a Revo.
The Revo is a very new piece of hardware and features some cutting edge technology so installing Ubuntu on it is not completely straightforward as not many people own these units and have had a chance to make them work out of the box with this very popular Linux distribution. However, it can be done and the unit makes a fantastic Ubuntu machine and if you add Boxee a great entertainment centre for your living room. The first thing to do is to put a copy of the Ubuntu 9.04 desktop live CD image on a USB memory stick. Do this by visiting:http://www.ubuntu.com/getubuntu/download and selecting the 32 bit desktop edition. Once downloaded you copy it to a USB stick by using the USB Startup disk creator located under System → Administration. The task of installing centres around three areas: getting Ubuntu on the machine, getting the graphics to work (properly) and getting the sound to work (at all).
Despite the fact the machine promisingly boots up and offers boot options if you press F12 we need to do something else first to get it to boot from the USB memory stick that we have just made. When the machine first starts, press the DEL key to go into the BIOS options and then navigate to Advanced BIOS features and change Boot to RevoBoot to DISABLED. If you don't do this the machine will stubbornly refuse to boot from the USB stick. Now reboot the machine and press F12, you should be able to select the USB stick and see the Ubuntu installer options screen. Select Install Ubuntu and work through the wizard until you get to the partitioner. Here I opted to manually partition the hard disc, dropping the partitions that were already there and making three new partitions, the first one an 8GB ext4 partition, with the mount point of /, for the operating system (leaving plenty of room for future distribution upgrades), a 2GB swap partition (so the machine can be hibernated) and the rest an ext3 partition to be mounted as /home. If you have the 8GB hard disc version you will obviously have to make adjustments. Later in the installation process I also made log in automatic as I want it to boot to Boxee. You should now be able to install Ubuntu as normal.
When Ubuntu boots up it uses quite a basic driver for the Nvdia graphics. This means no 3D acceleration, and no Boxee as it needs these capabilities. I tried installing the proprietary drivers from the repositories but found these didn't work for the ION chipset, so I went off to nvidia.com to look for Linux drivers for the ION, but on their site it said (and still says at the time of writing) that no Linux drivers were available for this hardware. Things looked pretty bad, but then I got a surprise tweet from @nvidiaion saying that Linux drivers ARE available. Interestingly the documentation for the latest Nvidia Linux drivers doesn't mention ION, but this link said that "Nvidia debuted ION earlier this year and enables the pairing of an GeForce 9400M GPU with an Intel Atom processor" - the 9400M was mentioned in the documentation – bingo – we have a driver. I installed the latest driver (185.18.14 at the time of writing) using the instructions at: http://stringofthoughts.wordpress.com/2009/04/03/installing-nvidia-drivers-in-ubuntu/ and everything worked. The only problem with this approach is that it will be necessary to reinstall the driver every time there is a kernel upgrade, so if anyone knows a good repository with this version of the NVidia drivers in it then please add that to the comments. Once it is up and running this is a good point to install Boxee as we will need to change some of the configuration in it to get sound working, do this by following the instructions on their website.
The Revo is a quiet box, however on installing Ubuntu it was a bit too quiet, not producing any audio at all! We need to do three things to rectify this: 1) tell Ubuntu what type of sound card is in the machine, 2) Unmute something that should not be muted, 3) make sure all audio is going out through the HDMI socket. I managed to get all of this working, but the headphone socket no longer works so I might look at some point to see if that can be rectified. In the file /etc/modprobe.d/alsa-base add this line:
options snd-hda-intel model=3stack-6ch-dig
You may have to reboot here to get Ubuntu to pick up the right sound card. Now go to Sound Preferences (System → Preferences → Sound) and under Devices make sure that “HDA Nvidia NVIDIA HDMI (ALSA)” is selected for all non-capture options and click Close. Open a terminal and enter alsamixer you should find that “Generic 10de NVIDIA MCP7A HDMI” is showing as the chip. Press the right arrow until an entry named “IEC958 1” is highlighted and make sure it is not muted. If it is press “m” to unmute it. Press Escape to leave alsamixer. If you try the sound tests under Sound → Preferences → Sound you should find that they now work.
We need to make sure that the system will send all audio output through the HDMI socket to the TV and not to anywhere else, like the headphone socket. This proved a but of a frustrating part to get right, but a post on the Boxee forums at http://forum.boxee.tv/showthread.php?t=8985 pointed the way. Basically we need to provide the sound subsystem (ALSA) with a set of rules to tell it what we want it to do. As the post suggested, I create a file named .asoundrc in my home directory (note the dot at the start of the file name) and populated it with the contents of the example file from http://www.mythtv.org/wiki/Configuring_Digital_Sound#Setting_up_ALSA.27s_.asoundrc.2C_Properly. Like the forum post I commented (put a hash '#' symbol in front of):
To make sure the sound went though the HDMI socket I found the section with the comment:
# - Comment out "device 1" above and uncomment one of the below or create a
# new "device N" line as appropriate for your sound card or
Then commented out:
This choice of device number was deduced by running the command aplay -l and looking up the device number for the HDMI output. At this point it is probably best to reboot and make sure the new settings have been picked up. Hopefully when the machine starts up you should hear the familiar Ubuntu start up sound. Now all that is left to do is to make sure Boxee uses the sound settings. To do this, start up Boxee, go to Settings on the left hand then to System → Audio Hardware. Change the settings to read:
Audio Output: Digital
Dolby Digital (AC3) Capable Receiver: [Ticked]
DTS Capable Receiver: [Ticked]
Audio Output Device: default
Passthrough Output Device: default
Hopefully now you should have a fully working Ubuntu box featuring Boxee. To make it more set top box like you can make Boxee start up automatically by adding an entry for it under System → Preferences → Startup Applications and of course you can add a remote control using wither LIRC or the Boxee iTouch application. You will also want to disable the screensaver. This way of installing Ubuntu is a bit messy but at least gets the Revo usable with this great operating system and has the potential to make it into a smart little media centre thanks to Boxee.
EDIT: You should also install the package ubuntu-restricted-extras to make sure Flash and the software necessary to play many media files is installed.