HTPC on Zotac Overview

Ok, so recently I received my Zotac ZBOX ID41, to be used as an HTPC (my old PopcornHour A-110 got fried, unfortunately). Here's what I did to install it, in brief:

Installed Ubuntu 11.04

I used UnetBootin to create the bootable USB (recommended), and it took me a while to figure out that my old USB DOK (which had U3 on it) messed up the boot, so use a proper USB if you want to stay sane.

I stuck with the standard installation, but enabled the '3rd party drivers' option in the initial setup options. This caused the NVIDIA driver to work out of the box without needing to mess with it.

Configured HDMI audio

This was tricky as the real channel through which you should output the sound is "hidden" from the aplay -l output. To figure out which channel corresponds to the HDMI audio, run:

cat /proc/asound/pcm

In my case it was 1,7, so I created ~/.asoundrc like so:

pcm.!default {
type asym
playback.pcm {
type plug
slave.pcm "hw:1,7"
}
}

Now would be the time to say that whoever thinks this is still a reasonable way to configure audio in 2011 should be shot on sight.

Installing XBMC

You might be tempted to do what's described in this post, but I soon found out that since it uses an unstable version of XBMC (version 11), many things don't work. Instead what I did is build XBMC myself from source. This takes a while (do it overnight) - here goes:

Install dependencies:

sudo apt-get install build-essential python-support cmake autotools-dev autoconf automake unzip libboost-dev zip libtool libgl1-mesa-dev libglu-dev libglew-dev libmad0-dev libjpeg-dev libsamplerate-dev libogg-dev libvorbis-dev libfreetype6-dev libfontconfig-dev libbz2-dev libfribidi-dev libsqlite3-dev libmysqlclient-dev libasound-dev libpng12-dev libpcre3-dev liblzo2-dev libcdio-dev libsdl-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libenca-dev libjasper-dev libxt-dev libxmu-dev libxinerama-dev libcurl4-openssl-dev libdbus-1-dev libhal-storage-dev libhal-dev libpulse-dev libavahi-common-dev libavahi-client-dev libxrandr-dev libavcodec-dev libavformat-dev libavutil-dev libpostproc-dev libswscale-dev libmpeg2-4-dev libass-dev libmpcdec-dev libflac-dev libwavpack-dev python-dev gawk gperf nasm libcwiid1-dev libbluetooth-dev zlib1g-dev libsmbclient-dev libiso9660-dev libssl-dev lsb-release libvdpau-dev libmicrohttpd-dev libmodplug-dev librtmp-dev libcrystalhd-dev curl python-dev libyajl-dev libxtst-dev libfaad-dev

(Thanks a lot to this post for that one), and I also had to add:

sudo apt-get install autopoint libva-dev libmms-dev

Get XBMC source

(you need git for this, use apt-get install git)

git clone git://github.com/xbmc/xbmc.git ./xbmc
cd xbmc
git checkout -b build e9e909922

Configure, make and install:

cd xbmc
/bootstrap
./configure --prefix=/opt/xbmc --enable-vaapi
make
make install

Configure HDMI Audio

Under Settings->System->Audio output:

* Under **Audio output**, set to **HDMI**
* Under **Audio output device**, set to **Custom**
* Under **Custom audio device**, write **alsa:default**
* Under **Passthrough output device**, set to **iec958**

That's it for now, I'll add more updates if I find stuff not to be working properly or needing adjustments.

Comments

blog comments powered by Disqus