Pages

Installing Ubuntu

A lot of the early parts of this page are quite basic - they describe every step you need to do to get the Revo on the network and ready to download Ubuntu. If you're using another computer to download Ubuntu, you can probably skip about half of it!

Hardware inventory

The Revo with wireless keyboard, wireless mouse, wireless USB dongle (located in the battery compartment of the mouse!), VESA mounting kit, stand and power supply.

A monitor or TV with at least one spare HDMI input port.

An optional HDMI-compatible 5.1 audio receiver - you don't need this at all if stereo audio is all you're interested in.

An HDMI cable (not supplied with the Revo).

A broadband router with a decent broadband connection.

An RJ45 ethernet cable (not supplied with the Revo).

A USB memory stick formatted to FAT32 with a minimum of 1GB free.

A USB Freeview HD TV tuner stick with a short USB extension cable and a coaxial connector (both supplied when you buy the stick).

An infra-red remote control and the matching infra-red USB dongle. Note that the USB tuner stick comes with a remote and dongle, but the remote is far too small to be usable. I purchased a separate remote/dongle instead.

Put the two supplied AAA batteries into each of the wireless keyboard and mouse. Remember to push the power switch on the underside of the mouse to the "ON" position (a throbbing red laser should activate to confirm everything is OK) and also remove the wireless USB dongle from the mouse battery compartment.

Optionally screw the Revo to the back of your monitor/TV with the VESA mount supplied. I don't really recommend doing this because it makes the ports on the Revo harder to access.

If not VESA mounting, you can also optionally sit the Revo vertically in the supplied stand. Again, I don't recommend this because it increases the chances of you knocking it over! I simply just sit my Revo flat on the table where the TV/monitor is, which allows me to move it around safely and has the best access to the Revo's ports.

Plug the wireless keyboard/mouse USB dongle into a USB port on the Revo.

Plug the (2-part!) Revo power supply into both into the mains and the Revo itself, but don't power it up yet.

Connect the RJ45 ethernet cable between the Revo wired network socket and a spare wired socket on the back on your broadband router. If you don't have an RJ45 cable, you will have to configure wireless on the Revo instead, which is a messier initial setup (especially since you'll be doing it twice!).

Connect the HDMI cable between the Revo HDMI port and a spare HDMI port on the back of your monitor or TV. If you have an HDMI-compatible 5.1 receiver already HDMI-wired to a TV like I do, the HDMI cable would go into the one of the 5.1 receiver's spare HDMI inputs instead and you'd power on the receiver and switch its input to where you plugged the HDMI cable into.

Theoretically, you could use a VGA cable with the Revo's VGA port and a VGA monitor, but that's an analogue setup (and would require you to wire up sound separately) that's nowhere near as good as HDMI and definitely not recommended.

Don't insert the USB stick into the Revo yet - that's for later.

Yes, the Revo has wireless built-in, but for speed, reliability and security, I strongly recommend that you use wired Ethernet between the Revo and router. Only use wireless if you really don't have a long enough RJ45 cable between the Revo and router (I've got a 10m RJ45 cable made up at work that works fine) or if you don't have an RJ45 cable at all (they're very cheap to buy).

For ease of setup, I recommend that you initially use DHCP on your broadband router so that the Revo immediately gets a live net connection from its first and second boots. In the longer term, though, you are usually better with a static IP address on your local network because then it means a fixed IP (or name) for services on your Revo rather than getting a semi-random IP each time and trying to guess what it is on each boot!

First ever power-on of the Revo

OK, we're ready to power on everything for the first time and go into the dreadfully-named "Linpus 95 Desktop" (I kid you not):

Turn on your monitor/TV and switch it to AV input if necessary (e.g. "HDMI1" if that's the TV port you plugged the HDMI cable into).

Turn on the mains power that is supplying the Revo.

Press the power button on the corner of the Revo - a power logo should shine steady white on the button when you do so. If it is flashing white, then hold down the Revo power button for 6 seconds (it should go off - it's an emergency power off sequence) and try powering it back on again.

You'll hear a loud fan noise for several seconds, which quickly slows down a manageable level thankfully. The Revo is not completely silent in normal operation - it has a quiet fan that is running all the time.

The Revo should emit a single beep and then start its boot sequence of Linpus Linux. If nothing happens (no beep, no video output), try a power cycle.

Once the Revo has finished booting, it should be on the first-time setup page. Press the "Connect" button on the underside of the wireless keyboard to ensure that a wireless pairing of the keyboard is attempted.

First-time setup of Linpus Linux

Even thoughwe're going to wipe Linpus Linux, we'll want to use it to download the Ubuntu Linux desktop distro and put it on a USB stick. Cleverer readers will realise that another computer could be used to do this, but I'll assume you haven't got another computer. I will also assume you have a UK Revo and want an English/UK setup throughout, so please adjust appropriately if neither applies. OK, so we have to do a first-time (and only-time!) setup of Linpus Linux:

Choose English as the language (it should be the default anyway).

Choose English (UK) as the keyboard layout and click on Next. Bizarrely for a UK Revo shipped with an English UK wireless keyboard, the default is "English US (International)" - duh!

Enter an appropriate password twice (yes, it's perplexing it doesn't actually ask you for a username, go figure) and click on Next.

Choose "Europe/London" as the Time Zone (this is the default anyway), leave the Date and Time fields as they are (even if they're wrong) and click on Finish.

The Revo will then reboot and you'll be automatically logged into the Linpus Linux desktop (nope, it doesn't ask you for the login password!).

You should get a balloon alert that appears briefly in the top-right corner to tell you that a network connection has been established. If you don't, you either don't have an RJ45 cable or it's not talking to the router properly.

I strongly advise using the "Hard" mode for the desktop that has a more traditional desktop layout. There's an icon on the task bar on the top of the screen that let's you toggle between the two (the default Easy mode is awful).

Getting the Linpus Linux desktop onto the network

Firstly, you must get the Revo on the network and talking to the outside world, so I would recommend starting Firefox by clicking on its icon and the default home page of http://www.linpus.com/ will attempt to be loaded. If you can get to that Linpus home page, you're cooking on gas. If you can't, then you'll have to find out what the issue is.

Firstly, I'll cover all the people who don't have an RJ45 ethernet cable plugged in and need to use the Revo's built-in wireless. There is a network icon on the task bar at the top of the screen. Left-click on it and it will present the wireless networks that the Revo can see in a drop-down menu. Choose one of them and then type in the password (you are using a password for wireless, right?!). If no-one is looking over your shoulder, you can tick on "Show password" first so that you can confirm what you typed is correct.

When you click on the "Connect" button, it will then ask you for a default keyring password (twice) - you can use the same password you used in the first-time setup, but it can be different if you want. Click on "OK" and it should immediately connect to your wireless router - with a balloon alert telling you so - and give you a live wireless connection. Try reloading http://www.linpus.com/ in Firefox and see if it works this time. If it still fails, you may have locked down wireless access by MAC address or aren't offering DHCP (see the wired paragraphs below).

If you are using a wired connection, there could be several reasons why it won't connect to the network:

The RJ45 ethernet cable may not be plugged in properly. It can be connected at any end (i.e. which end of the cable goes into which device doesn't matter) and usually clicks in with a snap noise when it's attached (it's very similar to typical landline phone cable). Unattaching a cable end requires you to squeeze a clip against the connector housing just prior to pulling it out of the socket. Note that the RJ45 connectors on the ends of the cable can only go into sockets one way because of the clip orientation.

The RJ45 cable could be faulty, especially if it was a "homebrew" cable that wasn't properly tested. Another classic issue is that it could be a crossover cable (i.e. one designed to be connected directly between two computers and not to a router), whereas we want a "normal" cable that is designed to go to a hub, switch, router or firewall and not to another computer.

Either the Revo or router network ports are faulty, not compatible or disabled. This is quite unlikely, but if the router port is an issue, try another port on that device instead. Some routers allocate a particular wired network port for special-case uses (e.g. VOIP) and it's best not to plug your Revo cable into one of those.

The router is locked down
(e.g. not using DHCP or requires the Revo MAC address to authorise a
connection).

How to find the Revo's MAC address for network authorisation

Some users like to lock down their wired or wireless network via MAC addresses - these are unique network device IDs of the form AA:BB:CC:DD:EE:FF (six pairs of hex digits separated by colons). If you need the Revo's MAC address(es), do the following:

Left-click on the network icon in the task bar and select Connection Manager.

For the wired MAC address, click on the Auto Ethernet item and then on the New button. Leave the option as LAN and click on Next. Note down the wired MAC address displayed ("Hardware address:") and adjust your router authorisation appropriately. Close the window (don't click on Finish).

For the wireless MAC address, click on the wireless network name you chose earlier and then click on the Edit button. Select the Summary tab and note down the wireless MAC address display ("Hardware address:") and adjust your router authorisation appropriately. Click on the Cancel button to close the window.

Downloading Ubuntu

It should be noted that Linpus Linux actually runs its entire desktop as the privileged root user which is shockingly bad security practice if you ask me. It does at least run a secure shell server by default (something Ubuntu doesn't do!), so you can poke around the Revo remotely from another computer using "ssh root@IP_address" where IP_address is the IP allocated to the wired or wireless connection and when prompted for a password, you use the one you type in the first-time set up.

Further poking around on a default Revo setup also discovered the bizarre fact that only one 25GB partition (the system one) was setup for Linpus Linux, leaving over 450GB unallocated on the 500GB hard drive! You do wonder that if Windows users coming over to Linux via the Revo for the first time would have any clue about partitioning and the fact that such a massive chunk is initially "missing". It's an obvious task for the first-time setup, but that sadly never happened.

Anyway, now that we're on the network, it's time to download an Ubuntu ISO. Firstly, you must decide if you want to install 32-bit Ubuntu or 64-bit Ubuntu. The Revo is 64-bit capable, so my recommendations are: 32-bit Ubuntu for Revos with 2GB RAM (and will never be upgraded to 4GB RAM) and 64-bit Ubuntu for Revos with 4GB RAM. Since all my Revos have 4GB RAM, I am going to assume a 64-bit download from now on.

In Firefox, surf to http://www.ubuntu.com/download/desktop, choose your "flavour" from the pop-up menu (I chose 64-bit) and click on the "Start download" button. At the time of writing this, this would download "Ubuntu Desktop 12.04 LTS 64 bit". The "LTS" stands for long-term support (5 years of updates, from April 2012 in this case) and is always the preferred option if you don't like re-installing or upgrading Linux every 6 months (because non-LTS versions stop updates much more quickly than LTS versions).

In my case, Firefox prompted to save the file ubuntu-12.04-desktop-amd64.iso from http://mirror.bytemark.co.uk (a UK mirror site for Ubuntu). Personally, I prefer to use BitTorrent because it can be quicker, it cleanly resumes if disrupted and it checksums each chunk downloaded, but in this case we're assuming we don't have a BitTorrent client on the Revo (there is one actually - Transmission - but it's not the best one around: qbittorrent is).

Once downloaded, you'll find the .iso file in /root/Desktop/ in case you're wondering (it took about 15 minutes to download on my average broadband connection) and it will also appear as an icon on the non-Easy desktop. Unfortunately, it's not quite so easy as copying the .iso file into a USB stick and booting the stick - we have to actually unpack the .iso file, modify the MBR (master boot record) and provide a boot menu system. To do this, we'll need unetbootin and a couple of its dependency packages.

Installing the unetbootin, p7zip and p7zip-plugin packages

In Firefox, surf to http://unetbootin.sourceforge.net/ and click on the "Download (for Linux)" button at the top of the screen. Save the file - it'll be something like unetbootin-linux-575 - and it'll be in /root/Desktop/ again like the .iso file is. Unfortunately, this is where Linux downloading of executable binaries falls down - it doesn't set execute permission on the download, so you can't run it immediately from a file browser/download window - groan! Please remember to always be in the non-Easy desktop (blue patterned background with an Acer logo in the bottom right) - toggle it via an icon in the task bar at the top of the screen if you're not.

To fix this, you don't have to run a terminal ("chmod u+x unetbootin-linux-575" would be a typical command), you can actually do it - abeit much more long-windedly - "graphically":

Right-click on "unetbootin-linux-575" icon on the Desktop and choose the "Properties" menu item.

Left-click on the Permissions tab and tick on the "Allow executing file as program" option.

Click on the Close button to close the Properties window.

At this point, I discovered that Acer have shut down the update repository configured for the Revo's Linpus Linux, which is based on a weird mix of software taken from Fedora Core Linux versions 5 through to 9. Quite why Acer don't do a "spin" of a recent Fedora release - i.e. just skin/brand it as Acer/Linpus but leave the majority of it as an up-to-date Fedora - is anyone's guess. It's why I've always poured scorn on Linpus Linux - it's out-of-date, not very well set up and you can't even update it for major bugs or security issues now!

Unfortunately, Linpus Linux doesn't come with 7-Zip (aka p7zip in Linpus Linux) pre-installed which is needed by unetbootin, so we'll need that too:

Double-click on the p7zip-4.51 rpm file and install the package when prompted.

Do the same for the p7zip-plugins-4.51 rpm file (double click and install). You should install p7zip-plugins after p7zip because of the dependency link between the two.

Preparing the USB stick
It's time to insert the USB stick that was mentioned right at the beginning into a USB port on the Revo. A file browser window will appear if it has a filing system recognised by Linpus Linux. If it's not formatted FAT32, it may not show a File Browser window for the contents of the stick. If you're unsure about whether it is formatted to FAT32 do the following:

Double-click the Computer icon on the desktop. A list of disk devices will be shown - right-click on the USB stick device and select Properties. It should say "vfat" or at least something with the string "fat" in it to mean FAT32 format.

If the stick isn't FAT32, you will need to unmount it first because inserting the stick will automount it somewhere under /media/ and you can't format a mounted device. To unmount it, right-click on the stick device in the File Browser -> Computer view and select "Unmount volume". If it fails to unmount, try again after closing all other windows. You can also do this unmounting via an icon on the task bar if you so wish.

Sadly, at this point, Linpus Linux has no built-in way to format a USB stick (better/more recent Linuxes certainly do!), so I'm afraid you'll have to remove the stick and format it to FAT32 on another machine (e.g. Windows or Linux). Yet another reason why Linpus Linux deserves to be wiped!

After formatting to FAT32 on another machine, re-insert the stick in the Revo and it should appear with an empty File Browser window (maybe with a lost+found directory if it was formatted on another Linux).

It should be noted that if your USB stick was already FAT32, you can keep the existing files on it provided unetbootin doesn't want to use the same filenames. unetbootin will overwrite existing files that it wants to put on the stick (and in fact prompt you about that - I just click the "overwrite all" option), but will not otherwise delete pre-existing files or directories on the USB stick that don't match the filenames that it wants to use.

Running unetbootin

At long last, we're ready to run unetbootin, so double-click on the unetbootin-linux-575 icon on the desktop and it should bring up the unetbootin dialogue box.

Select the "Diskimage" radio button, leave the format as ISO and then click on the "..." button to bring up a file browser. Navigate to /root/Desktop/ and then double-click on the Ubuntu .iso file. Leave the "Space used to preserve files..." option as 0 MB. The type should be left as USB Drive and the device is usually the correct one (/dev/sdb1) since there's probably only one USB device to choose from. It shouldn't say "/dev/sda<something>" because that's the internal hard drive! Click on OK to start the setup of the USB stick.

If a file already exists on the USB stick that unetbootin wants to use, it will display a dialogue giving you a choice of actions. Always choose Yes or Yes To All - choosing No will cause an incomplete unetbootin setup on the stick which may badly fail. I personally choose Yes To All and let it overwrite any files that clash with what unetbootin wants to put on the stick.

Once unetbootin has set up the USB stick - which takes about 5-10 minutes - it will ask you to "Reboot Now", which you should click on to perform the reboot. If it fails to reboot, there's a pull-down System menu on the task bar with a Shut Down... option from which you can select "Restart" to do a reboot.

Leaving the USB stick in the drive, carefully watch the boot sequence of the Revo and press the Delete key (not the Backspace key!) at the top right of the wireless keyboard repeatedly once per second as soon as you hear the beep early in the boot sequence. This will display the American Megatrends BIOS screen with a bright blue background.

Changing BIOS settings on the Revo
The BIOS is a low-level system run from firmware on the motherboard of the Revo that lets you set up the way the hardware is utilised by any operating system that is loaded afterwards. You navigate with arrow keys, Enter (select), Escape (exit) and a few function keys listed at the bottom of the screen. Most BIOS settings for the Revo are fine, but here's a few you will want to change:

Advanced BIOS Features -> Quiet Boot. You want a "noisy" boot because it shows you very useful information during the boot sequence, so change this to Disabled.

Advanced BIOS Features -> Hard Disk Drive Priority. The 1st Drive should be set to the USB stick device - if you don't do this, you can't boot from the USB stick.

Integrated Peripherals -> Onboard SATA Mode. The default "Native IDE" is ancient, so change to the more modern "AHCI" mode.

Power Management Setup -> Power On by RTC Alarm. If you want the Revo to power up the same time every day (e.g. 07:00:00 in time for the Olympics), switch this to "Enabled" and also set the startup time in HH:MM:SS in the new Time option that is shown.

Power Management Setup -> Power On by PCIE Devices. Switch this to Enabled to support Wake On LAN (i.e. a remote computer on your local network can power up the Revo).

Press function key f10 to save the changes and reboot the Revo. It should now present a unetbootin menu and you should select "Try Ubuntu without installing" using the arrow keys and Enter to select. If the screen goes blank about 10 seconds later and never returns after several minutes, reboot the Revo and when it shows the unetbootin menu, press Tab and add " nomodeset" (without the double quotes but with the space to separate it from other kernel options) onto the end of the command line shown and press Enter to boot. This turns off kernel modesetting, which I've had no end of grief with in recent Linux distros.

Using the live Ubuntu desktop

We're coming to the point of no return where you have to make a final decision if you want to erase Linpus Linux or not. This is why I've suggested you boot into the live Ubuntu desktop first and play around as if it were already installed on your hard drive. This will give you a feel for the Unity interface and whether it works on your TV/monitor or not.

If you boot with no network connection (e.g. you're wireless), then you can enable via System Settings (the cog icon near the bottom left) -> Network -> Wireless. Select your wireless router, put in the appropriate password and you should be done. Your wireless router may also appear as an option from the sub-menu of the network icon at the top right of the task bar and can be similarly selected to be configured. If you're not using wireless at all, I'd recommend unchecking the "Enable Wireless" option from the network icon in the task bar.

Once the network connection is sorted, the very first issue you'll inevitably see is the ludicrous default state of affairs of the Linux graphics drivers when there's an HDMI-to-HDMI connection (which is arguably an extremely common connection nowadays) to a monitor/TV. Inevitably, some sort of underscan or overscan will be present (heck, I got it on Linpus Linux - I lost all the edges of the desktop) and it's maddening. Don't worry, Windows suffers from it too - I've had it for years on a Windows desktop and it could only be fixed by installing the Catalyst Control Centre and fiddling with an obscure underscan setting (without CCC, it was a horrible registry hack that would be lost on every driver upgrade!).

It can be fixed on Ubuntu by installing the closed source accelerated Nvidia graphics driver, so don't panic at this point! In theory, we could fix it in this live environment, but it's messy (I've yet to find a clean way to restart X with the new driver active and you can't reboot of course because you lose the driver changes). So I'm afraid you'll have to suffer any overscan/underscan during the installation and the first boot after installation too. One tip: some decent recent TVs have an underscan setting that you may be able to adjust temporarily at least - my 50" plasma does for instance.

Installing Ubuntu

Double-click on the "Install Ubuntu 12.04 LTS" icon on the live desktop or, alternatively, reboot to the unetbootin menu and select "Install Ubuntu". There are release notes you can read if you want, but I suspect most people just select their language (English) and click on Continue.

I leave the "preparing to install Ubuntu" screen options alone, though you could tick on "Download updates while installing" if you have a very fast machine (the Revo isn't) and a very fast Net connection too. I don't tick the option on because it can add a significant amount to the installation time on most systems. Don't bother with the third-party software tick box - just click on Continue.

The Installation Type screen will offer three options - don't wipe Linpus Linux (the amusingly "unknown Linux distribution"), replace Linpus Linux or "Something else". Select the third "Something else" option and click on Continue. We want to customise our hard disk layout and the first two options won't let you do that.

Now we come to the hardest part of the Ubuntu install - setting up our partitions on the internal 500GB hard disk the way we want them and not the way Ubuntu thinks we should have them (every Linux distro gets the automated partitioning "wrong", but I guess that's just IMHO).

First of all, we need to delete any existing partitions containing Linpus Linux,
so in this case there are two ext3 partitions: /dev/sda1 (2146 MB) and /dev/sda2 (26847 MB). Click on /dev/sda1, click on the Delete button and then do the same for /dev/sda2 - this should leave you with just "free space" (500107 MB).

Here's the final layout we're looking for (adjust the size figures proportionately if you don't have a 500GB internal hard drive):

You should add partitions in the order listed above by clicking on "free space" and then on the "Add.." button. Here's what I put in each dialogue box in turn:

/dev/sda1: Primary, 200 MB, Beginning, ext4, /boot

/dev/sda2: Primary, 20000 MB, Beginning, ext4, /

/dev/sda3: Primary, 4000 MB, Beginning, swap area, N/A

[Note that /dev/sda4 will be created automatically as an Extended partition when /dev/sda5 is created]

/dev/sda5: Logical, 20000 MB, Beginning, ext4, /otheros

/dev/sda6: Logical, 455908 MB, Beginning, ext4, /data

Make sure that /dev/sda is the device for the boot loader installation (it should be something like "ATA ST9500325AS (500.1GB)") and not the USB stick (/dev/sdb)!
Click on "Install Now" to wipe Linpus Linux and install Ubuntu. Warning: There will be no recovery of Linpus Linux beyond this point, but since you'll have seen how bad it is already, I doubt you'll care.

In case you're wondering why there's two near-identical system partitions (/ and /otheros), it means that you can install a second operating system (e.g. the next Ubuntu release - 12.10) in /otheros without touching the original Ubuntu 12.04 release in the / partition. Alternatively, you could simply use it as a backup rsync of / to /otheros to keep periodic backups of the system disk. I think it's always a good idea, even on desktops, to have two potential system partitions and to have a data partition separate from both of them.

Getting back to the install, this is the bit where the Ubuntu installer gets quite clever. At the bottom of the screen, it shows its install progress (which is done in parallel without waiting for user input), whilst the main part of the screen starts asking interactive questions:

Choose your timezone on a world map. It seemed to default to London, so I left it at that and clicked on Continue.

Next up is the keyboard layout and that was correct too (English (UK)), so I clicked on Continue.

The "Who Are You?" page was straightforward - it asks for your full name, the computer's name (I've used revo1 and revo2 for my 2 Revos), your username (I use my initials for brevity - avoid spaces here) and your chosen password (twice). I ticked on Log in automatically because of the HTPC nature of the setup - you want it booting into your media centre software with no user input. On "normal" setups though, I never choose login automatically.

Click on Continue and the install will complete with a slideshow to keep you entertained. I did notice, however, that the screensaver kicked in after 10 minutes and blanked the screen during the install - duh!

Once the install is complete, you should reboot and remove the USB stick very early in the boot sequence so that it doesn't attempt to boot from it. Assuming you're booting from the hard drive now, it should be about 45 seconds before you see a fresh Ubuntu 12.04 desktop, ready for your customisation.

Post-install Ubuntu customisation

Congratulations, you've now installed a free operating system on your Revo that's arguably better than Windows 7! Sadly, just like Windows, you'll need to do some customisation and further software software installlation to get it do something useful w.r.t. being an HTPC. Luckily, most additional software is in the Ubuntu Software Center with only a few exceptions.

You will need to make sure you are on the network of course, but we covered that when discussing the live Ubuntu desktop environment. Just repeat the wireless steps I mentioned earlier if you're not wired. Remember that you may want to untick the "Enable Wireless" option on the network icon's submenu if you're running exclusively wired.

First up is the closed source Nvidia accelerated graphics driver we mentioned earlier. The Revo 3700 has an Nvidia ION 2 GPU and it needs the driver to allow it to display 1080p video without causing heavy CPU load. The driver also comes with a settings utility that lets us fix any underscan/overscan issues you may be experiencing (either you lose a chunk of pixels from all 4 edges of the screen or you have a big black border around all 4 edges instead).

Luckily, the driver installation is easy - click on the Ubuntu Software Centre (USC) icon down the left-hand side. Each icon has a tooltip and the USC icon is roughly half-way down the screen. If you don't think you'll ever need an icon, you can remove it by right-clicking it and selecting the "Unlock from Launcher" option. I've done this with both my Revos - I got rid of all the LibreOffice icons and the dubiously cloudy Ubuntu One icon since I'll never use them in an HTPC enviroment.

In the USC window, type "nvidia current" (without the double quotes) in the search box. This should display just the stable release of the Nvidia driver - left-click on it once and then click on the Install button that appears on the right-hand side. An authentication dialogue will appear - type in the password you set in the Ubuntu installation and click on Authenticate. You will see an orange progress bar - when the installation is complete, the button will change to "Remove" (don't click on it when it does change because you'll uninstall the driver!).

There's no clean and easy way to activate the graphics driver without a reboot, so sadly we need one here, even though the USC never prompted us for a reboot.
The cog icon in the top-right of the screen has a pull-down menu that includes a Shutdown... option. Select that and click on the Restart button, which will cause the Revo to reboot.

After the reboot, you can run the Nvidia X Settings program to fix underscan/overscan issues. The quickest way to do this is to click on the "Dash Home" icon in the top left and type "nv" (without the double quotes). This should display the Nvidia X Server Settings icon, which you can click on to run. Remember that your TV/monitor may have underscan/overscan settings that you can adjust too (e.g. on my 50" plasma, I set underscan to 0% and did the same on the Nvidia settings program and everything lined up perfectly).

In the Nvidia settings program, select GPU 0 (Ion) -> DFP-0 (<something>) and then slide the "Overscan compensation" until all 4 edges of the desktop line up properly with the screen edges. On my 42" plasma at 1280x720, I needed a crazy slide of "67" to fix things! It's quite fun to slide the Image Sharpening too - make your screen blurry like you need glasses :-)

Now you can finally see all the menus and icons properly, let's check the audio out. Making sure the volume on your monitor/TV/5.1 receiver is set to a reasonable level, click on the System Settings icon and then on the Sound icon in the settings window that appears. Double-click on "HDMI / DisplayPort 2 - High Definition Audio Controller" in the Output tab and select the Mode as either stereo or 5.1 depending on whether you're going to a 5.1 receiver or not.

Slide the output volume to 100% and click on the Test Sound button. This should give you a set of stereo or 5.1 test buttons which you can click on one at a time to get a posh-sounding English female voice reading out the location of the appropriate speaker. If nothing else, it confirms you've wired your speakers up correctly on your 5.1 system :-)

Warning: At the time of writing, on Ubuntu 12.04, the 5.1 set of audio test buttons don't work correctly due to what seems to be a bug in the Sound Settings program. It appears the program sends 2.0 audio through (so "Front Left" and "Front Right" work, but the rest of the speakers don't) and my 5.1 receiver confirms this because it displays the format whenever it changes and it shows a 2.0 feed. If I go to the Sound Effects tab and click on the various alert sounds, they do come through as a 5.1 feed to my receiver.

The rest of the desktop customisation is really up to your own personal preferences. I like a solid dark blue background colour, a non-flashing cursor in terminals, install/run openssh-server (so I can access the Revo remotely from other machines) and "focus follows mouse", but the latter is ludicrously tricky to achieve in Ubuntu (Google it if you don't believe me).

XBMC+PVR Installation

XBox Media Center - or XBMC for short - is without doubt the most graphically gorgeous media centre front-end on the planet. It really has a "wow" factor that puts Windows Media Center and similar drossy front-ends to complete and utter shame. It's also very easy to use and configure, unlike MythTV (yes, I tried the MythTV front-end and even as a highly technical person, I completely hated the extremely techy interface).

However, before you rush to the Ubuntu Software Center (USC) to install it - yep, it made its USC debut with Ubuntu 12.04 - you should note that the USC version annoyingly does not support any TV functionality (e.g. live TV, EPG, recording schedules, interfacing with a TV tuner/PVR back-end) at all and there is currently no easy way to add the TV goodies to the USC version either! I made the mistake of installing the USC version of XBMC on one Revo, but luckily it can be overwritten with a TV-capable different XBMC release later on.

So what you really want is an unofficial XBMC repository added to your Ubuntu software sources so that you can use the XBMC+PVR release instead. To do this, I'm afraid the quickest way is from a terminal, so click on the Dash Home in the top left, type "ter" and then click on the Terminal icon. Now type these three sudo commands (and press Enter at the end of each line of course) in the Terminal program:

sudo add-apt-repository ppa:alexandr-surkov/xbmc-pvr

[Type in your login password when prompted]

sudo apt-get update

sudo apt-get installxbmc tvheadend

The third sudo command will run a configuration program that will ask for a username and password to create for a user that will run the tvheadend program. Surprisingly, it doesn't offer a default username or password, so I was lazy and picked a short username and password that were identical! I'd probably advise you to avoid using your own username (or a username of root) for this tvheadend user though.

When that's all done, the installation doesn't actually create an XBMC icon for you, but it's not too tricky to add one. Click on the "Dash Home" icon and type "XBMC". Drag the XBMC icon that appears to an empty area of the launcher on the left-hand side of the screen - dropping it there should leave it permanently placed (unless you right-click on it and remove it later).

You should you now have an XBMC icon on the left-hand side of the screen - click on it and you'll be running XBMC in all its glory. The "front-end" (playback of media, watching streamed live TV or streamed TV recordings) is XBMC and the "back-end" (handling EPG updates, TV tuner cards, recording scheduling and streaming live TV or TV recordings) is tvheadend, which you can view the Web interface via http://localhost:9981/ and by supplying the tvheadend username/password to login.

I recommend that you configure tvheadend first and then XBMC afterwards, though I tend to like to split up the tvheadend tasks enough, so that I have to regularly move to XBMC to configure/check the task and then go back to tvheadend again to go onto the next task. I have linearly documented both the tvheadend config and the XBMC config, so it's really up to you how often you switch between the two.