Nov 30, 2009

Tutorial: Nvidia ION N330 + XBMC + VDPAU + 1080P w/sound over HDMI

Alright guys and gals, I got around to updating my HTPC box over Thanksgiving weekend, and I can now say that the beta XBMC build looks mighty sexy when displayed in 1080P resolution. Also, DD, DTS passthrough, and Nav sounds are working 100% as well, including system sounds and Youtube in Firefox.

From reading the comments, in my previous post, it looks like the boxee instructions may not have worked 100% for some of you, my apologies, so I went ahead and did a fresh install to create new XBMC specific instructions for the following system:

Zotac Nvidia ION, Atom N330 Dual Core
Western Digital 150 GB Velociraptor

This will get you the 185 NVIDIA graphics drivers:
From what I read online, it looks like the newer 190 drivers may break HDMI sound? I'm using 185, and sound/graphics work beautifully.

Update Dec. 2nd, 2009: I'm now using 190.42 drivers without problems. Tested sound and video. Haven't tested passthrough on the 190.42 yet.

Update Dec. 3rd, 2009: Passthrough is working great. Suspend problems though with the 190.42 drivers. Ubuntu goes into suspend okay but no graphics or response upon resume.

Add these repositories to your sources:

deb karmic main
deb-src karmic main

Open up a terminal:

sudo apt-key adv --recv-keys --keyserver 71609D4D2F1518FA9C5DC0FB1DABDBB4CEC06767
sudo apt-get update
sudo apt-get install linux-headers-generic nvidia-glx-185
sudo reboot

Upon Rebooting go into the BIOS.
(the following instruction is from my memory, so if you dont' find it there, it's somewhere in your BIOS) In your BIOS, go to Southbridge configuration and change the video RAM from 256MB to 512MB. Inside the Southbridge config, change Audio codec to Internal only.

This will get you sound/passthrough over HDMI:
(haven't tested coax or optical)

Boot into Ubuntu, and open up a terminal and type:
sudo gedit /etc/asoundrc.conf
Paste the following into that file:
pcm.dmixer {
type dmix
ipc_key 1024
ipc_key_add_uid false
ipc_perm 0660
slave {
pcm "hw:0,3"
rate 48000
channels 2
period_time 0
period_size 1024
buffer_time 0
buffer_size 4096
pcm.!default {
type plug
slave.pcm "dmixer"

Open up another terminal (this will enable Youtube, and XBMC system sounds):
Type in: alsamixer
Make sure that IEC958 is unmuted by pressing the letter "m" without quotes.
If it it muted, then it will look like this - Item: IEC958 [off]
Once you unmute it, then it will look like this - Item: IEC958

Thanks to for the alsamixer tip.

Save. Close it. Reboot.

Inside XBMC:
Go to Settings, Audio and change the following:

Instead of:
sound: Internal Codec HDMI
passthrough: ie958

Change to custom (type hdmi):
sound: hdmi
passthrough: hdmi

Now you will have HD video and sound in Ubuntu and XBMC from your HD videos all the way to SD youtube, hulu, or whatever you want to play. Now go have fun!