HTPC, Take Two

It’s been almost two years since I assembled gozer, my first HTPC. Over the Christmas holiday I replaced gozer with zuul, a Zotac ZBOX HD-ID11.

I’ve been reasonably happy with gozer. It’s served us well, playing video and music, downloading torrents, and calling the grandparents with Skype. But I’ve had three complaints:

  1. The Shuttle X27D‘s Intel Atom CPU/GPU just can’t handle video better than SD quality. It also doesn’t offload video decoding to the GPU, and this means multitasking (such as rsyncing files on the machine while playing video) causes some frames to drop and the desktop environment to feel sluggish.
  2. The Keysonic Compact Wireless Keyboard altogether. It has no multimedia keys and sleeps often. The mouse buttons are a little hard to click. Like most wireless keyboards, it is insecure (can be sniffed via radio), so you shouldn’t use it to enter passwords.
  3. It is somewhat unpleasant to use a mouse-based GUI on a media center interface. I like being able to use the HTPC as a full PC (web browser, skype, games), but 90% of the time I just want it to play video or music. That can be done well with a D-pad style interface.

Here is my new solution:


  • Zotac ZBOX HD-ID11, with Intel Atom D510 dual-core 1.66 GHz CPU, 2 GB of system RAM, and nVidia ION video with 512 MB of dedicated RAM, and one internal 500 GB drive. Runs up to 1080p video perfectly in XBMC, and offloads video decoding (VDPAU). System load is 0.3 while playing video, so you can copy files, install system updates, even recompile the kernel if you must, and video doesn’t skip.
  • Logitech diNovo Mini keyboard. Jamie calls it the “Delightful New Keyboard”, or DNK, for short. It’s perfect for home theatre use, switching between keypad and trackpad easily. I wish it had some way to send F1-F12 keys, but so far that’s only been an issue for mucking with BIOS.
  • My existing Panasonic TX-37LZD70 37″ LCD HDTV, with HDMI input. The nVidia management tool allowed me to set 1080p video, even though the TV still doesn’t present 1080p in its EDID.
  • No optical drive. I still have a region-free hardware DVD player, which works just fine for my needs.


  • Ubuntu 10.10 “Maverick Meerkat”, 64-bit. Supports nVidia drivers and works flawlessly. I use it in native 1920×1080 resolution, with fonts and icons enlarged. Even when using the regular desktop, it’s usable from the couch.
  • XBMC 10.0 for playing video and music. Simply awesome. I miss Miro’s integration of collection manager, web browser, and torrent downloader. However, XBMC is far better at actually playing video, which is kind of the point. XBMC uses its own renderer and decoders, and shows none of the artifacts and tearing lines I’ve seen with other play engines. I use the iPlayer and Youtube add-ons, and I’m just starting to explore the available plugins out there.
  • FlexGet, Deluge, and ShowRSS for Bittorrent content. ShowRSS supplies RSS feeds to torrents, FlexGet (with cron) fetches them, and Deluge downloads them. You could easily replace Deluge with Transmission, which also has an XBMC plugin to show download progress.

Lessons learned

  1. gstreamer can’t play HD quality video. Well, it can, but only in software. So if you have a Core2Duo 2.2 GHz, you’re fine. But not if you have a low-power media PC. Unfortunately, just about every Gnome app out there uses gstreamer now, including Miro and Totem. This is what finally pushed me to use XBMC, and I’m glad for it. Alternatives exist (VLC and mplayer), but they have terrible GUIs.
  2. Don’t buy the Fluendo codecs. In complete contravention of my usual behaviour, I actually purchased software, in the hopes that the commercial VDPAU library would solve the gstreamer HD problem. It didn’t. HD video now played differently, but not better, showing a different set of decoding errors and artifacts. I noticed no difference in audio playback at all.
  3. Disable compositing in your window manager. On Ubuntu, this is done in System -> Preferences -> Appearance. On the Visual Effects tab, select None. Until I did this, XBMC showed some tearing lines while displaying 720p video.

So what became of gozer? It’s my new BackupPC server, quietly backing up all the PCs in the house every night. I really didn’t expect the Atom chipset to handle disk compression very well. But running only one simultaneous backup, it’s as fast as the big servers I’ve built for work.

Tags: , , ,

  1. JamieG’s avatar

    Bah, the old one should have been perfectly capable of software HD playback, and the new one certainly should. Unless it’s Flash, in which case you need a player that will play the content natively (not use the Flash SDK) or else have the aforementioned Core2Duo 2.2 GHz and like 4 GB RAM for the !@#$ Flash engine to be able to handle it.


    1. Tyler Wagner’s avatar

      Should have, but wasn’t. The Atom 330 + Intel 945 graphics can’t hack even 720p at 24 frames reliably. Not in Linux on any renderer I tried (xine, gstreamer, mplayer). Reviews said it didn’t work in Windows either, but I didn’t test that. I also never tested XBMC on it.

      Flash is better on the new system, but it still sucks because its flash. :)


    2. Omar Damar’s avatar

      Easier solution….. Jailbroken Apple TV running XBMC. iPad or iphone is your keyboard :)


      1. Tyler Wagner’s avatar

        You can do the same using the XBMC android app, with any XMBC install and any android phone.

        I won’t purchase Apple products for ethical reasons, even to jailbreak them.


      2. Omar Damar’s avatar

        Also, what are the best XBMC sources/add-ons you come across so far?

        Below are my favorite.

        Navi X
        Free Cable
        XBMC backup (I use it to backup/restore XBMC settings, lists, and sources running on iphone, iPad, and apple TV)


        1. Tyler Wagner’s avatar

          I’ll check those out, thanks. I use BackupPC to backup the media server, so I don’t need a plugin for the same.

          I use the BlueCop repo and a few others. Favourite plugins:

          Penny Arcade TV



Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.