Thursday, August 23, 2012

HTPC, MCPC, XBMC, BIOS and other FLAs (four letter acronyms)

Or Home Theatre PC Pt II



Once I had got my new HTPC booting up to the BIOS without it sounding like a jet fighter on take off, it was time to decide which interface to employ, bearing in mind it has to be usable from around 3-4 metres away on my Sony Bravia KDL-46NX723 46" LCD TV. These interfaces are known as a TFUI (Ten Foot User Interface) for obvious reasons. Anybody who has tried to use a standard desktop from 3m+ on a TV will understand how difficult it can be to use.
So which operating system and which UI?

The OS boils down to two choices realistically; Windows or Linux, both having various versions to choose from. Windows has the choice of four XP Media Center Edition, Vista, 7 or possibly Windows 8. For the Microsoft platform I immediately discounted Vista, because it is resource hungry and just plain sucks, XP is pretty much end of life now, MS are killing it of for good at the beginning of 2014. Windows 8 has only just been released to manufacturing so I would have to install the consumer preview and upgrade later, also the Windows Media Center UI is an add-on and it still isn't clear if that will be a pay for extra. So Windows 7 looks like a candidate. I like Windows 7 it is the best version MS have released to date, stable and has some nice features for the desktop. But this isn't going to be a desktop and I would need to either use the Windows Media Center UI with its restricted availability of codecs and not particularly pleasant GUI or install a different TFUI. The cost of a full stand alone Windows 7 in its Home Premium guise at the time of writing is a shade over £100 at Amazon.co.uk.


There is an interface for windows with far better codec support which is Free Software; that is "Free as in Freedom not as in Beer" see http://www.gnu.org/philosophy/free-sw.html. XBMC "is an award-winning free and open source (GPL) software media player and entertainment hub for digital media. XBMC is available for Linux, OSX, and Windows". This has the bonus that is is also free in cost so for the Windows platform the cost for software come in at £102 plus shipping that with the £42 for the case and we are looking at less than £150.

If the TFUI/Media playing software is available for free and is cross platform there is no reason not to use it on a different operating system. This is a PC so to all intents and purposes Apple OSX is out. I know I could go down the Hackintosh route but as this machine runs an AMD processor we are at another cul-de-sac. Anyway as anybody who has tried creating a Hackintosh can lead to a whole load of hurt if you don't choose the components to be compatible right from the start. I you do fancy trying OSX out on PC hardware I suggest you check out Life Hacker's "Always up to date guide" or tonymac86  who seems to be the most clued up on this dark art.
  
So XBMC on Linux; it seems to be in many distribution's repositories but as I want this to be just a Media Centre I don't need a full desktop install of Linux. I found a version of Ubuntu Linux that is a stand alone HTPC OS, TFUI and media player. It is based on Lubuntu 11.10 which is an officially supported Ubuntu Linux variant so is not of questionable provenance should be around for the foreseeable future. It boots into the XBMC interface by default but you can log in to XBMCbuntu an LXDE desktop using the Open Box window manager. This has very few applications just a file manager and a terminal emulator but does also have the Synaptic Package Manager enabling the installation of any of the myriad of applications available in the Ubuntu software repositories. I just installed the Leafpad text graphical text editor in case I need to edit any configuration files and left it at that, although it has Vim and Pico installed so that was not strictly necessary.
XBMC runs great however I had issues getting sound to work, extensive googling came up with the answer. I from the command line in XBMCbuntu had to do an

aplay -l

this give me the numbers of my sound cards and devices which resulted in

card 0: SB [HDA ATI SB], device 0: [Analog]
card 0: SB [HDA ATI SB], device 1: [Digital]
card 1: HDMI [HDA ATI HDMI], device 3: [HDMI 0]

I could then log out and back into the XBMC interface and tell it to use customised hardware settings under settings | system | audio output | audio | output device | custom, and in the format of  [device name]:[card number],[device number] as the defaults do not work so

plughw:0,0
works for analog audio through the sound card speaker output and
plughw:1,3

for my HDMI to the TV, I input the same values for passthrough and set the audio output field to HDMI then had great quality sound coming through the sound bar attached to my TV

All my files are stored on a Windows network so to be able to play them sources are input directly as a Samba  path  i.e. smb://[share]/[folder] with the the username and passwords saved.

The library function is not much use to me for video as I have my files categorised by file/folder names but for music it is invaluable as my music is stored in an iTunes library. So a database scan by right clicking my music source and selecting "Scan item to library" pulls in all the meta tags and the library pretty much works like iTunes, only a million times quicker, and doesn't fall over every two minutes. The image below shows the library categories rather than just files and add-ons, and the side bar pop our allows searching via genre, artist, album, song, year etc.


All in all I'm quite pleased with this even though I'm still getting some fan noise. I especially like the ability to play my iTunes library and the way it manages to play just about any video file format I throw at it. To make for a nicer user experience I have invested in a mini wireless keyboard and trackpad solution from RiiTek which was a very reasonable £19 from an eBay seller. There are many compatible Microsoft Media Center remote controllers available but the general consensus of opinion around Internet forums is they are of dubious quality/functionality unless genuine Microsoft certified. This little device however works perfectly.

Now I have done this build I'm thinking is this possible on a ultra micro computer with minimal power overhead and no fan noise whatsoever? Rasberry Pi can it be done? Watch this space...




Labels: , , , ,