On the latest episode of the podcast I briefly mentioned that I’d recently bought an Acer Aspire Revo to use as an Ubuntu based media player. Well, I’ve installed Ubuntu and Boxee on it, and it plays back all kinds of video including 720p and 1080p HD video via the HDMI port. The box is silent enough for it to be in the bedroom and not disturb sleep at all. I had to put my ear right up to it to hear anything, it’s as good as silent. It can be found for about £150 here in the UK, which is (in my opinion) an awesome price for this bit of kit.
Here’s its vitals:-
- Intel Atom 230 1.6GHz CPU – Single core, but HT
- 1GiB of shared memory
- 160GB (149GiB) 2.5″ Hitachi Disk
- nVidia ION Video Card
- Ethernet and WiFi
- VGA & HDMI ports
- 6 USB ports
- Multi-Memory-Card reader
Notably missing is bluetooth which I needed for my remote control, but not too much of an issue as bluetooth dongles are super cheap and the box has enough USB ports to go round.
I wanted to use this device as a kind of “set top box” to play back video. The options for software included Boxee, Mythbuntu and XBMC and certainly not Windows Media Centre as some crackpot on the Hampshire LUG mailing list suggested.
Below are some notes about how I installed Ubuntu 9.10 (Karmic) on the device and got the Sony Playstation 3 remote control working. I chose Ubuntu 9.10 because I knew the video driver for the nVidia ION card was available in the repository, and I feel confident with it.
Note: At the time of writing, Ubuntu 9.10 is in Alpha stage, that means it breaks. Anyone who tells you it doesn’t is a liar 🙂 It broke the day I was trying to install, but luckily the people in #ubuntu+1 irc channel helped me get it working again.
So far I have installed Boxee on top of Ubuntu and have found it great for my needs. Not sure if I’ll install XBMC because Boxee seems to cover my needs. Also unsure whether or not I’ll install MythTV on it either as I currently have no major requirement for recording TV and playing back in another room. Maybe later I will, who knows.
Download Ubuntu Karmic Alpha 3 Desktop ISO image from http://cdimage.ubuntu.com/releases/karmic/alpha-3/
On my Ubuntu desktop, used USB startup disk creator to make a bootable USB stick containing alpha 3.
I had a problem that the Karmic Alpha 3 image boots to a text logon prompt, not a GUI. It seems that the open source nv driver that shipped on Alpha 3 image doesn’t support the NVidia ION chipset inside the Revo. Here’s what I did to get to the graphical logon screen and then proceed with the install:-
Login with username ‘ubuntu’ and no password
Attach the Revo to the wired network
Check I have an ip address with the ‘ifconfig’ command
Update the list of packages
sudo apt-get update
Install the nVidia proprietary driver version 185 (in the 180 package confusingly)
sudo apt-get install nvidia-glx-180
Grab a known working xorg.conf:-
Put the xorg.conf into place:-
sudo cp ./xorg.conf /etc/X11
Restart the graphical environment:-
sudo /etc/init.d/gdm start
Ubuntu desktop starts up at this point, so now we can run the graphical install routine as normal. I created a user which logs in automatically to the desktop because it’s a set to box, I don’t want any logon prompts. At the end, reboot and remove the USB stick. Unfortunately I got the text based logon screen again, so did the following to fix it:-
Logon using the account details I created during the install.
sudo apt-get update sudo apt-get dist-upgrade sudo apt-get install dkms sudo apt-get install nvidia-glx-180 --reinstall
That should permanently fix it. Not sure why DKMS was missing from the Alpha 3 CD.
That’s it for the Ubuntu install, not too painful at all. The only extra packages I then installed were ones I tend to put on most desktops:-
$ sudo apt-get install ubuntu-restricted-extras openssh-server pavucontrol mplayer vlc ffmpeg libavcodec-unstripped-52 libavfilter-unstripped-0 libavdevice-unstripped-52 libavformat-unstripped-52
I used pavucontrol to switch audio output from the headphone jack ‘Output Analog Stereo’ to the HDMI port ‘Output Digital Stereo (HDMI), which worked with no messing. I note that some people have had issues with audio over HDMI on Ubuntu 9.04, but the good news is it just works out of the box in 9.10.
I then tested video playback using mplayer and VLC. It worked fine, but as those packages in the repo don’t have VDPAU support, I wasn’t able to play back 720p or 1080p at a reasonable pace. However this isn’t an issue because I then moved on to install Boxee which I know does support it.
Another issue I noted was a large amount of overscan so the panels top and bottom were off the edge of the screen. This made choosing panel icons tricky at times! Using ALT+F1 I opened the Applications menu, and could navigate pretty much everywhere I needed to from there.
I’ve had a Boxee account for a while, and tried it out on a few computers. It’s never really struck me as useful because I can usually playback video via standard desktop tools. However for a set-top box it makes more sense to me to have an easy to use user interface to locally stored and web delivered video. That and it supporting VDPAU out of the box made it an attractive choice for the Revo.
Boxee have a repository for their application, so it was simply a case of going to System -> Administration -> Software Sources -> Third-Party Software -> Add, and pasting this in:-
deb http://apt.boxee.tv jaunty main
Note: I am running Ubuntu 9.10 (Karmic) and that repo is for Ubuntu 9.04 (Jaunty), so I was expecting failure.
Indeed, trying to install the boxee package failed because it was looking for a package called liblzo1 which isn’t available in Karmic. liblzo2-2 is available in 9.10 but that didn’t work, so I cheated a bit and grabbed liblzo1 from 9.04 and installed that. Boxee then proceeded to install just fine.
Once Boxee is installed there is an item on the Sound & Video menu to start it.
I enabled hardware acceleration in the Boxee GUI which effectively enables VDPAU. The only other setting to tweak was to configure overscan compensation so that the full picture appears within the TV screen viewing area. Both are very easy to set in Boxee.
Playstation 3 Bluetooth Remote
On advice from Daviey, my fellow podcaster and Mythbuntu developer, I bought a playstation 3 remote. These are not infra-red but bluetooth devices, so I dug out my bluetooth dongle and plugged that into the back of the Revo.
To get the remote working you first need to associate it with Ubuntu, which is best done with the blueman applet which isn’t installed by default.
sudo apt-get install blueman
I also noted that the ‘uinput’ kernel module isn’t loaded by default. So I edited /etc/modules and added the line in.
sudo nano /etc/modules
This is all we need to add:-
Further we need a udev rule:-
sudo nano /etc/udev/rules.d/40-permissions.rules
Add this line.
Next I loaded the module manually to save me having to reboot.
sudo modprobe uinput
Now I open the bluetooth applet by running:-
Right click the new bluetooth applet, choose “Setup New Device”. On the Sony remote press and hold ‘Ente’r & ‘Start’ for 5 seconds, click ‘Next’ in the wizard.
The remote should show up on the list of discovered devices (along with any phones and computers nearby). Click on the remote then click next. On the next screen choose ‘not pairing’ then click ‘Next’. On the next screen choose ‘input service’ then click ‘Next’.This pairs the remote and the Ubuntu install. Next we need to set the device as trusted.
Right click the blueman applet icon and choose ‘Devices..’. The ‘BD Remote Control’ should be listed. Highlight it then press the yellow ‘Trust’ icon, and a yellow star will now appear in the corner of the logo for that device indicating it’s now trusted. Next we need to configure lirc which isn’t installed by default:-
sudo apt-get install lirc
We need to discover which device the BD Remote Control appears as, which we can obtain from /proc/bus/input/devices.
$ cat /proc/bus/input/devices [snip] I: Bus=0005 Vendor=054c Product=0306 Version=0000 N: Name="PS3 Remote Controller" P: Phys= S: Sysfs=/devices/virtual/input/input8 U: Uniq= H: Handlers=kbd event8 B: EV=3 B: KEY=80000000 0 700000 1083c100 8c00ea 0 6bc00000 1 0 8000 1102 c0000801 801680 0 0 10000ffe
Note the ‘Handlers’ for the PS3 Remote Controller. We need to configure the with that device name by editing the config:-
sudo nano /etc/lirc/hardware.conf
Add these lines (changing ‘event8’ if appropriate):-
REMOTE="ps3" REMOTE_DRIVER="devinput" REMOTE_DEVICE="/dev/input/event8"
Finally we restart lirc.
sudo /etc/init.d/lirc restart
That’s it. I can now ‘type’ into Ubuntu using the buttons on the remote. The arrows map to the cursor keys, the Enter button maps to the Enter key on the keyboard. It’s all good. Time to start up Boxee and watch some videos!