XBMC for Linux on Pivos XIOS DS

Pivos released a XBMC build for Linux, and I tried it out.

The Pivos XIOS DS is very small (less than 5” x 5” x 1”) HTPC supporting hardware accelerated 1080p video and HD audio playback. The XIOS DS supports XBMC for Android, and XBMC for Linux, with native hardware acceleration. I reviewed the Android port of XBMC in a previous post.

The XIOS DS is available for $115 at Amazon, placing it, price wise, between the $98 Roku 2 XS and the $178 Boxee Box.


I downloaded the 09/07/12 firmware release, and installed it using the system update procedure; extract update.img to MicroSD, hold reset button on back of unit, plug in power, release reset button when update screen displays.




XBMC launched immediately on reboot, very similar to the XBMC for Linux OpenELEC experience.





A quick zoom adjustment and the UI fits on the screen without the need to adjust resolution.



Unlike the Android version where I had to use a mouse and keyboard, I could use the included IR remote to perform all operations. And unlike the Android version, where I had to create special guest access SMB shares because NFS was not supported, the Linux version supported NFS shares with no problems.

I did encounter the same problem as current OpenELEC builds, where some addons are reported as broken in the repository, but as with OpenELEC, this did not prevent movie and series media from being correctly identified, or played.


I tested a variety of media formats, all in MKV containers, and all played without issue. I did not test DTS, DTS-HD, AC3, and TrueHD passthrough, as this build of XBMC is based on v11 Eden that does not support HD audio (included in the unreleased v12 Frodo), and I had the box directly connected to a television over HDMI, so all audio was downmixed to two channels.


All in all the Linux port of XBMC on the XIOS DS worked much better than the Android port, but as the Android port is classified as Alpha and the Linux port classified as Beta, that is expected.

The XIOS DS running Linux XBMC is not up to Boxee Box standards yet, but it may be a contender.

XBMC for Android on Pivos XIOS DS

In my ongoing quest to find the perfect Home Theater PC platform, I was excited to read that XBMC had been ported to Android. This opens possibilities for XBMC on low cost, low power, low noise, small form factor hardware, with hardware accelerated media playback.

The XBMC Android development was done on a Pivox XIOS DS device, and I ordered one from Amazon. At $115 it is not exactly low cost, especially compared to mature platforms like the Roku 2 XS for $98 or Boxee Box for $180.


The XIOS DS is really small, here is a picture showing the size of a Roku 2 XS compared to a XIOS DS compared to a Zotac ZBOX Nano XS AD11, compared to a Pulse Eight Pulse Box:



“Piovs” vs. “Pivos”; while unpacking the box I found this little gem printed on the box, one would think that spelling your company name correctly on the packaging is important:



If you’re interested in an a full unboxing, look here.


I installed the box, powered it up, and it takes about 90s to power up, much longer compared to the Roku, Boxee or OpenElec.

Navigation using the included IR remote is a bit clunky, the UI has no indication of where the current focus is, and the Ok button sometimes needs to be pressed twice. I can’t really fault Android for this as the UI is intended for tablet use, not for remote use, but it is something that needs work. Here is a screenshot of the opening page:


By default LAN and WiFi are both disable, if you click the down button, the settings icon will be active, and you can press the Ok button, once or a few times, and then enable the LAN card.

The box comes installed with Android Gingerbread 2.3.4. The auto update functionality reports everything is up-to-date, but you can get the firmware and app updates from the Pivos forum. I updated the firmware and apps, instructions are on the forum, here is a summary; download the firmware and apps RAR files, extract the contents to a microSD card, insert the microSD card in the box, navigate to [Privacy][Update System] and select update:


After several minutes the new launch screen will be up:


This screen is even less remote friendly. It took me several tries to figure out that I need to press the left and right buttons to see the different desktops, this would be equivalent to swiping left and right on the screen. After pressing the right button you will see a desktop with the settings icon:


The updated version is Android Ice Cream Sandwich 4.0.3.

I again needed to enable the LAN port, and set the correct time zone. Again the remote vs. touch had me struggling to enable the LAN port, you need to select network, then Ok, then right, and then up, and then Ok to enable the LAN port, highlighted below:



I had the box up, and updated, I wanted to install XBMC, and I discovered that the announcement for XBMC on Android support did not include the availability of official binary packages, just source code, and build instructions.

I was not really up for setting up a build environment myself, and knowing the community, I started looking for unofficial builds, and I found one at the Miniand Tech forums for the MK802, but I did not want to install it until I could find confirmation if it would work on the DS. This morning I noticed a new thread on the Pivos forum containing a pre-release APK file for the DS.

I downloaded the APK file to the microSD card, and I needed to get to the file browser to install it. I gave up on fiddling with the remote, and I attached a USB mouse, from here on I clicked the apps icon, top right on main page, launched the file browser, opened the APK file, and installed XBMC:



Once up and running, I wanted to add some network media, and this turned out to be a challenge, as NFS is not supported, yet SMB is. I normally allow anonymous/root NFS read-only access to my media files, all media players are happy with this. I do allow SMB access using a domain username and password, and most players are happy with this, just more typing. But, I was unable to enter any symbol characters, the standard XBMC remote control data entry box would not enable the symbol buttons. I tried a USB keyboard, but the “_” character resulted in a “-“ character, and the UI would not close, unless you hit the Ok button on the remote several times. Next I tried setting up a XP VM image with the guest account enabled to allow anonymous SMB network access, and just browsing to the share, that also didn’t work, as I was prompted for a username and password. I created a test account on the XP image, using a simple username and password, and that allowed me to access to the folder. The remember credentials option did not work, every time I access the folder I have to re-enter the credentials. I’m sure NFS support will be added, and these issues resolved over time.

I used the series of bird test videos to test network playback, I have MKV files ranging from 20mbps to 110mbps. I haven’t yet found a player that can play the 110mbps video without dropping frames. Unfortunately the OSD for XBMC on Android does not show frame statistics, but by visual observation stuttering started around the 38Mbps mark. Note that these MKV files only contains a video stream, no audio or other streams.

I was disappointed as I couldn’t get any of my AVC/H264/DTS/AC3/AAC based movie files to play. Since the video only files played ok, I assume it is due to the audio stream types, or a configuration option, but I’m not sure.


The platform is promising, but in its current Alpha state it still needs lots of work, both in terms of remote control based Android navigation, and XBMC on Android stability. I will definitely try again once a more stable version is released for direct deployment via the appstore.

Iomega TV With Boxee vs. D-Link Boxee Box

Untitled Page I have yet to find the perfect media player for playing my archived music and movie collection.

I’ve tried building my own using small form factor computers like the Zotac ZBOX HD-ID11 (Amazon), Nano AD10 (Amazon) and Nano VD01 (Amazon). I’ve tried software like Windows Media Center, XBMC, MediaPortal, and Boxee. I’ve tried commercial products like the WD TV Live Plus (Amazon), Popcorn Hour C-200 (Amazon), A-210, PopBox 3D (Amazon), Apple TV, D-Link Boxee Box (Amazon), and Iomega TV With Boxee. But, they all have problems and shortcomings.

I currently have three D-Link Boxee Boxes in my house, the D-Link Boxee Box does have problems, but so far it is the best I’ve found. The following are some of the most annoying problems:

  • The form factor is unique, but also impractical, it looks odd, uses too much vertical space, and does not fit in with the rest of the media components.
  • The fan gets loud and is audible in a quiet room. Covering the SD slot suppresses the sound somewhat.
  • There is no low power standby, it is always using full power even when not in use. Apparently this is a shortcoming of the Intel CE4110 SOC platform.
  • Every time Boxee releases a firmware update they break something that used to work. The most frustrating was the recent 1.2 firmware update that broke SMB network authentication and resulted in poor performance causing constant network re-buffering. In the end I had to install NFS on my Windows Server 2008 R2 box to get things working again. To make it worse, there is no option to opt-out of firmware updates, even a manual install of an older version just gets auto-updated again. I don’t mind auto updating functionality in products, but I do mind if the update breaks something that used to work, and there is no way back.
  • When using a HDMI switch, and the HDMI switch is already powered on when the Boxee powers on, there is no sound. The HDMI switch must be powered off when the Boxee powers on, then the HDMI switch can be powered on. This bug has been around since I bought the first Boxee, and the same switch works flawlessly with a variety of other hardware, including a Motorola HD-DVR, Motorola HD-STB, XBox 360, PS3, Roku 2 XS, Panasonic BD player, and a Sony DVD player, so it is not the switch, it is the Boxee.
  • Even after switching to NFS for networking, I still get network re-buffering and HD audio dropouts when watching certain high bitrate BD MKV movies.
  • Unlike XBMC, there is no separation between TV series and movies in Boxee, this makes it very difficult to find or watch TV shows, and Boxee rarely gets the metadata associations for TV shows right. XBMC does a much better job of treating TV shows as shows, with discrete seasons and episodes.
  • The metadata scrapers are incapable of correctly identifying titles from file and directory names that contain a “;” instead of a “:”. In NTFS a “:” is not a legal character for use in file or directory names, so when a show title contains a “:”, I substitute it for a “;” in the filename and directory name. This issue is not unique to Boxee, and I don’t understand why scrapers can’t do common substitutions or removal of punctuation when performing a search.

Even with all these issues, the Boxee Box still works most of the time for most content.

When the Iomega TV With Boxee was announced, one thing that stood out was the 1Gbps network port vs. the 100Mbps port on the D-Link. Theoretically 100Mbps is fast enough for BD content playback, but given the network re-buffering and HD audio dropouts on high bitrate content I was experiencing, I hoped it may help. I could not find official sources of hardware specs for the D-Link or the Iomega, but an ifixit teardown and a Wikipedia article on Boxee shows the devices may have similar processor specs, with the Iomega having gigabit networking and analog video output.

The Iomega Boxee is not available in the US, but I around the end of November I pre-ordered an import from Expansys USA. The box arrived a few days ago, end of December, and I started setting it up by replacing one of my D-Link Boxee’s.

The box comes with very little documentation, as an example, there are no instructions on how to open the remote to insert the batteries. It took me a few minutes to figure out where the battery compartments, yes there are two, were on the remote, and how to open them, i.e. press on the little arrows, apply lots of force, and slide the lids off.

The power supply is 12V 2A, 110V to 220V, with EU/UK power plugs supplied, I used a universal adapter to plug it into a US 110V outlet.
The box itself does not include WiFi capabilities, but Iomega supplies a WiFi USB dongle with the kit.

The form factor of the Iomega box is much more practical compared to the D-Link, it fits in nicely with the rest of my AV equipment. Iomega does supply a stand to mount the device vertically if you want it that way.
Boxee.Front Boxee.Back

The Iomega remote is a bit larger than the D-Link, but it also includes some handy buttons missing on the D-Link remote.
Boxee.Remote.Front Boxee.Remote.Back

The Iomega powered on and displays IO on the screen while booting, unlike D-Link that plays a startup animation, the Iomega box has no startup animation. As with the D-Link, the first thing I had to do was calibrate the screen overscan.

The next step was to login to my Boxee account, and this is where things started going wrong. I could not get the remote to work correctly, it would not respond, or it would enter the wrong characters. The keyboard on the remote has a little button that needs to be pushed to activate the keyboard, once activated, you can enter keys using the keypad. Pressing the button again deactivates the keypad, and you can use the navigation buttons on the front. I tried using the navigation buttons and the on-screen keyboard, the cursor would either not move, or jump way over to the wrong location, or start entering characters when I press navigation buttons. I tried the keyboard, and it would enter a few characters fine, and then just stop working, I could never get the backspace key to work.

I did some general troubleshooting by replacing the batteries, and power cycling the device, but still the same issues. I found a few user reports of similar troubles with the remote. Since my Iomega is an import, there is no chance for local support, but given the general complaints about the remote, I am not going to bother trying to replace it.

The Iomega remote is an IR remote, while the D-Link remote is an RF remote. When I first started using the D-Link RF remote I found it a bit of an inconvenience to switch between my Harmony One universal IR remote, and the dedicated D-Link RF remote, but I must say for fast accurate navigation, the RF remote works great. In fact, I wish there was a standard for RF remotes, so that something like a RF Harmony One can be built, this would alleviate the annoyance and frustration of having to aim at IR devices.

I had a spare D-Link RF remote with a USB dongle, and I eventually plugged that into the Iomega, it worked fine, and I could login to my account, and configure the Iomega.

As I was configuring the device, I noticed that the Iomega was running firmware version, while the D-Link was running Manually running an update said that 1.2.1 was the latest firmware for the Iomega. Strangely, the Iomega support site lists a firmware version 1.3061, but the version number format does not follow the typical Boxee a.b.c.d formatting. I tried to install the 1.3061 firmware using the manual USB update procedure, but the firmware install never completes, and a hard power cycle is required to boot back up. So I really don’t know what this 1.3061 firmware is supposed to be or do.

While applying the firmware, I noticed that there is a mouse cursor on the screen, and I noticed that the Iomega IR remote acts like a trackpad, as I slide my finger over the directional buttons, the mouse cursor moves around the screen. I did not try it out, but this may be useful for web browser navigation, if the remote actually works.

US content providers like Hulu, Vudu, and Netflix were not available on the Iomega, or at least I could not find them in any obvious way. I don’t know if this is because of regional targeting differences, or because the Iomega has analog video output and content provider DRM requirements may prohibit such content on this device. The lack of content providers is not a big deal for me, as I only use the Boxee for local content playback. For Netflix and Amazon Instant Video I use a Roku 2 XS. Boxee does not offer Amazon Instant Video, and the Roku’s Netflix experience is far superior to the Boxee’s.

The next difference seemed rather weird, the D-Link has HDMI audio passthrough support for DTS-HD and Dolby TrueHD, but the Iomega does not list any HD audio formats. When I tried to play a MKV file with TrueHD and AC3 tracks, the Iomega automatically selected the AC3 track. When I manually selected the TrueHD track, there was no audio.

I configured the Iomega the same way I configured the D-Link, using NFS, I added my music, movies, and TV series, hosted on a Windows server 2008 R2 server, accessed via gigabit Ethernet. Just like the D-Link, it took a while to catalog all the content, and just like the D-Link, the device is less than responsive while cataloging content.

Once the activity light stopped flashing, and the device appeared idle, I started playing some movies that suffer from network re-buffering and audio dropouts on the D-Link. The Iomega played all content perfectly, no re-buffering, and no audio dropouts. Unfortunately this is not really a meaningful test, as the more problematic content contains HD audio tracks, and the Iomega can’t play HD audio.

I will leave the Iomega connected to get some more airtime with it, but unfortunately the lack of HD audio is a deal breaker, not because I need HD audio, but because many of my BD MKV rips only have an HD audio stream. So either the Iomega needs to decode and play HD audio, or it needs to do bitstream passthrough. I doubt this is a hardware limitation, so hopefully a future firmware update adds HD audio passthrough support.

Archiving my CD, DVD and BD collection

I am about two thirds done archiving my entire CD, DVD, and BD collection to network storage. I have been ripping on a part time basis for about 5 months, and so far I’ve ripped over 700 discs.

I have considered archiving my media collection for some time, but just never got around to it. Recently our toddler discovered how to open discs and use them as toys, so storing the discs safely quickly became a priority. I’d like to give you some insight into what I’ve learned and what process I follow.


After ripping, I store the discs in aluminum storage cases that hold 600 discs in hanging sleeves. There are similar cases with a larger capacity, but the dimensions of the 600-disc case allows for easy manipulation and storage in my garage. I download or scan the cover images as part of the ripping process, so I had no need to keep them, and I, reluctantly, threw them away. If I could I would have kept the covers, but I found no convenient way to store them.

Below is a picture of the storage case:



All the ripped content is saved on my home server, and the files are accessible over wired Gigabit Ethernet and 802.11n Wireless. My server setup is probably excessive, but it serves a purpose. I run a Windows 2008 R2 Hyper-V Server. In the Hyper-V host I run two W2K8R2 guests, one being a Domain Controller, DHCP server, and DNS Server, and the other being a File Server. The file server storage is provided by 2 x QNAP TS-859 Pro iSCSI targets, each with 8 x 2TB drives in RAID6. This gives the file server about 24TB of usable disk space.

24TB may sound like a lot of storage, but considering that I store my documents, my pictures of which most are RAW, my home movies of which most are HD, and all my ripped media in uncompressed format, I really need that much storage.


I am currently using Boxee Boxes for media playback. The Boxee Box does not have all the features of XBMC, and I sometimes have to hard boot it to become operational again, but it plays most file types, it runs the Netflix app, and is reasonably maintenance free.

Although Boxee is derived from XBMC, I really miss some of the XBMC features, specifically the ability to set the type of content in a directory, and to sort by media meta-data. Like XBMC, Boxee expects directories and video files to be named a specific way, and the naming is used to lookup the content details. Unlike XBMC, Boxee treats all media sources the same way, so when I add a folder with TV episodes and another folder with movies Boxee often incorrectly classifies the content, and I have to spend time correcting the meta-data. What makes it worse is that I have to apply the same corrections on each individual Boxee Box, it would have been much more convenient if my Boxee account allowed my different Boxee Boxes to share configurations.


Ripping and storing the discs is part of the intake process, but I also need a searchable catalog of the disc information, where the ripped files are stored, and where the physical disc is stored. I use Music Collector and Movie Collector to catalog and record the disc information. Unlike other tools I’ve tested, the Music Collector Connect and Movie Collector Connect online services allow access my catalog content anywhere using a web browser. The Connect service does allow you to add content online, theoretically negating the need for the desktop products, but I found the desktop products to be much more effective to use for intake, and then export the content online.

To catalog a CD I take the following steps: I start the automatic add feature, that computes the disc fingerprint and uses the fingerprint to lookup the disc details online. In most cases the disc is correctly identified, including album, artist, track names, etc. In many cases the front disc cover image is available, but it is rare that both the front and back covers are available. If either cover is not available, I scan my own covers, and add them to the record. I found that many of the barcode numbers (UPC) do not match the barcode of my version of the discs, if they do not match, I scan my barcode and update the record. If I made any corrections, or added missing covers, I submit the updated data, so that other users can benefit from my corrections and additions.

To catalog a DVD or BD I take the following steps: I start the automatic add feature, I use a barcode scanner and I scan in the barcode, the barcode is used to lookup the disc details online. In most cases the disc is correctly identified, including name, release year, etc. In some cases my discs do not have barcodes, this is especially true for box sets where the box may have a barcode but the individual movies in the box does not, or where I threw away the part of the box that had the barcode.

Since I buy most of my movies from Amazon, I can use my order history to find the Amazon ASIN number of the item I purchased. I then use IMDB to lookup the UPC code associated with the ASIN number. To do this search for the movie by name in IMDB, then click on the “dvd details” dropdown in the “quick links” section, then search the page for the ASIN number, and copy and paste the associated UPC code. Alternatively you can just use Google and search for the “[ASIN number] UPC”, this is sometimes successful. I don’t know why Amazon, who owns IMDB, does not display UPC codes on the product details page?

If I still do not have a UPC code, I search for the movie by name, look at the results, and pick the movie with the cover matching my disc. In most cases the disc front and back cover is available. If either cover is not available, I scan my own covers, and add them to the record. If I made any corrections, or added missing covers, I submit the updated data, so that other users can benefit from my corrections and additions.

Below are screenshots of Music Collector and Music Collector Online:

MusicCollector    MusicCollector.Online

Below are screenshots of Movie Collector and Movie Collector Online:

MovieCollector    MovieCollector.Online


In terms of the ripping process, ripping CD’s is really the most problematic and time consuming. Unlike BD’s that are very resilient, CD’s scratch easily resulting in read errors. Sometimes I had to re-rip the same disc multiple times, between multiple drives, before all tracks ripped accurately. I want accurate and complete meta-data for the ripped files. Sometimes automatic meta detection did not work and I had to manually find and enter the artist, album, song title, etc. This is especially problematic when there are multiple variants, such as pressings and regional track content or track order, of the same logical disc, and I have to match the online meta-data against my particular version of the disc. BD’s and DVD’s typically have only one movie per disc, where each CD has multiple tracks, and the correct metadata has to be set for the album and each track. So although a CD may physically rip much faster compared to a BD, it takes a lot more time and manual effort to accurately rip, tag, and catalog a CD.

I use dBpoweramp for ripping CD’s, it has two advantages over other tools I’ve tested; AccurateRip and PerfectMeta.

Unlike data CD’s, audio CD track data cannot be read 100% accurately using a data CD drive. If the CD drive reads a data track and encounters a read failure, it reports the failure to the reading software. If the CD drive reads an audio track and encounters a read failure, it may ignore the error, it may interpolate the data, or it may replace the data with silence, all without telling the reading software that there was an error. As a result the saved file may contain pops, inaccurate data, or silence. In order to rip a CD track accurately, the ripping software needs to read the the same track several times, and compare the results, and keep on re-reading the track until the same result has been obtained a number of times. This makes ripping CD’s accurately a very time consuming process. Even if you do get the same results with every read, you are still not guaranteed the what you read is accurate, you may just have read the same bad data multiple times. You can read more about the technicalities of ripping audio CD’s accurately here.

AccurateRip solves this problem by creating an online database of disc and track fingerprints. A track is read at full speed, the track’s fingerprint is computed, and compared against the online database of similar tracks, if the fingerprint matches, the track is known to be good, and there is no need to re-read the track. This allows CD’s to be ripped very fast and very accurately.

I use the Free Lossless Audio Codec (FLAC) format for archiving my CD’s. FLAC reduces the file size, but retains the original audio quality. FLAC also supports meta-data allowing the track artist, album, title, and image of the CD cover, etc. to be stored in the file. Unlike the very common MP3 format, FLAC playback is by default not supported by Windows Media Player (WMP). To make WMP, and Windows, play FLAC, you need to install the Xiph FLAC DirectShow filters. Or use Media Player Classic Home Cinema (MPC-HC). A typical audio CD rips to about 400MB in FLAC files.

Just like a CD track can be identified using a fingerprint, an entire CD can also be identified using a fingerprint. When the same CD is manufactured in different batches, or different factories, it results in different track fingerprints for the same logical CD. The same logical CD may also contain different tracks or track orders when released in different regions, also resulting in a different CD fingerprints. CDDB ID is the classic fingerprint, but with uniqueness problems, the more modern Disc ID algorithm does not suffer from such problems, and allows very unique fingerprints to be created by just looking at the track layout, i.e. no need to read the track data.

CD meta-data providers match CD fingerprints against logical album details. Some of this information is freely available, such as freeDB, Discogs, and MusicBrainz, and some information is commercially available, such as Gracenote, GD3, and AMG. Free providers are typically community driven, while commercial providers may have more accurate data.

PerfectMeta makes the tagging process easy, fast, detailed, and accurate. By integrating with a variety of different meta-data providers, including commercial GD3 and AMG, the track meta-data will automatically be selected based on the most reliable provider, or the most consistent data.

Below are screenshots of dBpoweramp ripping a CD, and reviewing the meta-data:

dBpoweramp.Rip     dBpoweramp.MetaData


I use MakeMKV for ripping DVD’s and BD’s, it is fast and easy to use, and supports extracting multiple audio, subtitle, and video tracks to a single output file.

MakeMKV creates Matroska Media Container (MKV) format output files. MKV supports multiple media streams and meta-data in the same file. MKV is not a compression format, it is just a container file, inside the container can be any type of media stream such as an AVC video stream, a DTS-HD audio stream, a PGS subtitle stream, chapter markers, etc. MKV playback is by default not supported by WMP or Windows Media Center (WMC). One solution is to install codec packs such as the K-Lite Codec Pack, but I prefer to use standalone players such as Boxee, XBMC, or MPC-HC.

MakeMKV does not perform any recompression of the streams found on the DVD or BD, it simply reads them from the source and writes them to the MKV file. This means that the playback quality is unaltered and equivalent to that of the source material. This also means that the MKV file is normally the same size as the original DVD or BD disc, typically 7GB for a DVD and 35GB for a BD.

I hate starting a BD or DVD, and I have to sit there watching one trailer after the next, especially when the disc prohibits skipping the clip and the kids are getting impatient. I paid good money for the disc, why am I forced to watch advertising on a disc I own? MakeMKV solves this problem by allowing me to rip only the main movie, and when I start playing the MKV file, I immediately see the main movie start. The downside to ripping only the main movie is that disc extras are not available, and the downside to ripping in general is that BD+ interaction is also not available. Some people prefer to rip a disc to an ISO, and then play the ISO with a software player that still allows menu navigation, I have no such need, and ripping only the main movie satisfies my requirements.

When I make my stream selection I pick the main movie, the main English audio track, the English subtitles, and the English forced subtitles. If a movie contains an HD audio track, such as DTS-HD, TrueHD, or LPCM, I also select the non-HD audio track. I do this in case the playback hardware device does not support HD audio, or the player software cannot down-convert the HD audio to a format supported by the playback hardware. On some discs an HD audio and a non-HD audio track is included, but if not, MakeMKV can automatically extract DTS from DTS-HD and can extract AC3 from TrueHD.

On some discs where there are many subtitle streams of the same language, selection gets very complicated, this is especially true when the disc contains forced subtitles. Forced subtitles are the subtitles that are displayed when there is dialog in a language other than the main audio langue, such as when aliens are talking to each other, but when people talk there are no subtitles. On DVD’s the forced subtitles are normally in a separate subtitle stream, on BD’s the subtitle stream includes a forced-bit for specific sentences. MakeMKV can automatically extract forced subtitles as a separate stream from a subtitle stream that contains normal and forced subtitles. When I encounter a disc where I cannot make out which video, audio, or subtitle streams to extract, I use EAC3TO to extract the individual tracks, view, listen, or read them, and then decide which tracks to select in MakeMKV.

Ripping television series on DVD or BD has its own challenges. In order for players like Boxee and XBMC to correctly identify the shows, the files and folders must be properly organized and named. A disc typically contains a few episodes of the series, and some discs contain extras. When you make the track selections you need to include the episodes but exclude the extras. MakeMKV creates a folder for every disc, and names each file according to its track number on that disc. This results in multiple folders, one per disc, with duplicate file names in each folder. In order to re-assemble the series in one folder, you need to rename the episodes from each folder according to the correct season and episode number, such as S01E01.mkv, then move all the files to one folder. What makes this very complicated is when the episode order on disc is different to the aired episode order. The TV scrapers use community television series websites, such as TheTVDB and TVRage, to retrieve show information. The season number and show number must match the aired episode number, not the disc order number. It is a real pain to manually match the disc to aired episode numbers, and I don’t know why discs would use a different show order compared to the aired order? Once you have your episodes named, such as S01E01.mkv, it is very easy to correctly name the file and folder by using an application called TVRename. Point TVRename to your ripped television show folder, it will try to automatically match show names to the TheTVDB show names, you can manually search and correct mappings, it will then automatically rename the show, season, and filenames, according to your preference, and in a format that Boxee and XBMC recognizes.

Below are screenshots of MakeMKV with the stream selection screen for a DVD and a BD:

MakeMKV.WrathOfKhan    MakeMKV.IronMan2


When I started ripping my collection I had no idea it would take this long. If I were to dedicate my time to ripping and ripping only, I would have been done a long time ago, but I typically rip only a few discs per week, in between regular work activities; get to the office, insert disc, start working, swap disc, continue working, swap disc, go to meeting, rip a few discs while having lunch at my desk, rip a few discs during the weekend, repeat. The time it takes to rip a disc is important when you stare at the screen, but less so when you have other things to do.

Over the months I’ve used a variety of BD readers, some worked well for BD’s, but were really bad for CD’s, some were fast and some were slow. To illustrate the performance, I selected a BD, a DVD, and a CD, and I ripped them all using the same settings, on the same machine, but using a variety of drive models.

Some drive models incorporate a feature called riplocking, that limits the read speed when reading video discs in order to reduce drive noise. A riplocked drive will read a video BD or DVD much slower than a data BD or DVD, and this results in slow rip times. I used an application called Media Code Speed Edit (MCSE) to remove the riplock restriction on some of the drives.

All drives include Regional Playback Control (RPC) that restricts the media than can be played in that drive by region. There are different regions for DVD and BD discs. RPC-1 drives allow software to enforce the region protection, RPC-2 drives perform the region protection in drive hardware. Most new drives are RPC-2 drives. Drive region protection is not an issue for MakeMKV, and it can rip any region disc on any region drive. RPC-1 versions of firmware is available for many drives at the RPC-1 Database.

I tested the following drives:




LG BH12LS35 1.00  
LG BH12LS35 1.00 Riplock removed
LG UH10LS20 1.00  
LG UH10LS20 1.00 Riplock removed
LG UH10LS20 1.00 RPC-1
Plextor PX-B940SA 1.08 Rebranded Pioneer BDR-205
Sony BD-5300S 1.04 Rebranded Lite-On iHBS112
Lite-On iHBS212 5L09  
Pioneer BDR-206 1.05  

I measured the rip speed in Mbps, as computed by dividing the output file size by the rip time in seconds. The file size is the size of the MKV file for DVD’s and BD’s, and the size of all files in the album folder for CD’s. The rip time is computed by subtracting the file create time from the file modified time. The test methodology is not a standard test, and the results should not be used in absolute comparisons, but are very valid in relative comparisons. For more standard testing and reviews visit CDFreaks.

Test results:

From the results we can see that the Sony BD-5300S (a rebranded Lite-On iHBS112) and the Lite-On iHBS212 drives are the fastest overall ripping drives, the fastest BD ripping drives, the fastest DVD dripping drives, but second slowest CD ripping drives. It is further interesting to note that the stock Lite-On drives were still faster than the riplock removed LG drives. The Lite-On drives also have the smallest AccurateRip drive correction offsets of all the drives.


I still have quite a way to go before all my discs are ripped, but at least I have the process down; rip, swap, repeat.

Zotac XBOXHD-ID11 MKV H.264 Video Playback Performance

When I started writing about the ID11, my intent was to document video playback and use as a HTPC, several posts later, and I am finally getting to MKV H.264 playback configuration and performance.

This is the sixth post in a series of posts related to the Zotac ZBOX ZBOXHD-ID11.



I am not an expert in how these things work, but I have a basic understanding of video playback on Windows platforms, so let’s start with the file format; an MKV file is a Matroska Media Container file. A MKV file can contain multiple audio-, video-, subtitle-, and other, streams. A MKV file is not a video or audio compression format, it is just a container.

To play the contents of a MKV file, you need a de-multiplexer or splitter, the splitter understands the container format, and produces separate output streams.

The stream output is processed by the stream decoders, typically known as DirectShow filters. The stream filters need to understand the stream contents, e.g. H.264 video, DTS audio, subtitles, etc.

Lastly there are the renderers, the renderer produces the final output such as video display or audio output.

In case of DXVA, the video decoder and the video renderer have a close relationship, the DXVA decoded content can be directly rendered from GPU memory. In comparison, the CoreCodec CoreAVC codec supports GPU hardware acceleration, but it uses the NVIDIA CUDA platform for mathematical processing. The CUDA decoded content needs to be copied to GPU memory, resulting in higher CPU utilization.

An easy way to visualize the stream flow is to use MONOGRAM GraphStudio.

I spent quite a bit of time getting the right versions of the right software installed, and on two occasions new versions were released during my testing, and I had to test again. I started by using the K-Lite Codec Pack. But, I know not everybody installs codec packs, and not everybody uses K-Lite, so I wanted to find the minimum set of components required for playback without the use of a codec pack.

In my testing Windows and CoreCodec CoreAVC were the only commercial products, the remainder are free, and of the free products, only Haali Media Splitter is not open source.

I used the following product versions:



Media Player Classic Home Cinema 1.2.1249 (x64)
Haali Media Splitter (x86, x64)
ffdshow tryouts rev 3452 (x86, x64)
MediaPortal 1.1.0 RC3 (x86)
XBMC DSPlayer rev 30385 (x86)
CoreCodec CoreAVC 2.0 (x86, x64)
Microsoft DTV-DVD Video Decoder Windows 7 Ultimate x64
Windows Media Player Windows 7 Ultimate x64
Windows Media Center Windows 7 Ultimate x64


I tested by letting the system idle, then playing a one minute, 1080p, MKV, H.264, DTS, subtitles, video clip, full screen, on a 1920×1200 display, then back to idle. Where possible the player was set to auto repeat and play for ten minutes, where the player did not support auto-repeat, I manually played the clip three times. While playing, I recorded the CPU utilization using Windows Task Manager, the GPU utilization using GPU-Z, and the fan speed, CPU and GPU temperature using CPUID Hardware Monitor Pro.


Media Player Classic Home Cinema is simple to use; install it, open the MKV file, and it plays, with subtitles, with MCE remote control support, no additional configuration required. MPC-HC includes all the components required for playback, and does not require any system installed components to function.

From what I read, MPC-HC was the first player to include DXVA accelerated playback. Both DSPlayer and MediaPortal include codecs based on MPC-HC code.

An alternative standalone player, that I did not test, is the VLC Media Player.

Below are the MPC-HC graphs for fan speed, CPU temperature, and GPU temperature:




Below are the MPC-HC graphs for CPU and GPU utilization:




Windows Media Player is included with the standard Windows installation. WMP uses the system installed DirectShow filers for playback. Even on a x64 system, WMP is still a x86 process, as such, it requires the installation of x86 filters.

In order for WMP to open MKV files, a splitter is required, I used Haali Media Splitter.

I tested playback with three different video decoders; the Microsoft DTV-DVD Video Decoder, CoreCodec CoreAVC, and ffdshow tryouts.

I have read that it is possible to get subtitles working with WMP, but even with enabling subtitles in ffdshow, I could not get subtitles to show in WMP. I am sure it is possible, I just didn’t spend the effort to make it work.


When multiple codecs are installed, WMP player uses the preferred codec for playback. The preferred codec can be set using the Preferred Filter Tweaker for Windows 7, or it may be easier to just install one codec at a time:



Haali Media Splitter provides an alternative way of forcing video decoding using ffdshow, HMS can change the video output type to a format that is only registered for decoding by ffdshow. This is accomplished by using the [Use custom media type for H.264]. This allows you to easily switch between the Windows default ([No]), and ffdshow ([Yes]):



In order to use hardware acceleration in ffdshow, the ffdshow DXVA codec needs to be configured for H.264 hardware acceleration:


You may also need to change the DirectShow control options in ffdshow to allow the filter to be used in your player’s process space:



Below are GraphStudio graphs showing the various codecs in action:





Below are the WMP with Microsoft DTV-DVD Video Decoder graphs for fan speed, CPU and GPU temperature:




Below are the WMP with Microsoft DTV-DVD Video Decoder graphs for CPU and GPU utilization:




Below are the WMP with CoreAVC graphs for fan speed, CPU and GPU temperature:




Below are the WMP with CoreAVC graphs for CPU and GPU utilization:




Below are the WMP with ffdshow DXVA graphs for fan speed, CPU and GPU temperature:




Below are the WMP with ffdshow DXVA graphs for CPU and GPU utilization:




Windows Media Center is included with the Premier and Ultimate editions of Windows. MCE does not use DirectShow for playback, instead it uses Windows Media Foundation. In order to use DirectShow filters in MCE, either the media type is not natively supported by WMF but is supported by DS, or the WMF media type is disabled using e.g. Preferred Filter Tweaker for Windows 7. MCE runs as a x64 process on a x64 system, as such, it requires the installation of x64 filters.

As with WMP, MCE also requires the Haali Media Splitter to open MKV files. And to use ffdshow instead of the default WMF decoders, set the HMS [Use custom media type for H.264] option to [Yes].

I tested playback with two different video decoders; the Microsoft DTV-DVD Video Decoder, and ffdshow tryouts.

I have read that it is possible to get subtitles working with MCE, but even with enabling subtitles in ffdshow, I could not get subtitles to show in WMP. I also tried the Media Control plugin that is supposed to enable remote control support for ffdshow subtitles, but I could not get it to work. As with WMP, I am sure it is possible, I just didn’t spend the effort to make it work.

I could not find a way to loop playback in MCE, or in MediaPortal, or in XBMC, so instead I manually played the video three times in a row. The resulting fan speed, CPU and GPU temperature graphs are not very interesting, so I am only including the CPU and GPU utilization graphs.


Below are the MCE with Microsoft DTV-DVD Video Decoder graphs for CPU and GPU utilization:




Below are the MCE with ffdshow DXVA graphs for CPU and GPU utilization:




MediaPortal is a Home Theater PC frontend, similar to Windows Media Center, but open source. Like WMP, MP uses DirectShow for playback, but unlike WMP, or MCE, MP allows for explicit filter configuration, including which filters to use for which media types:


I tested playback with two different video decoders; the Microsoft DTV-DVD Video Decoder, and ffdshow tryouts.


Below are the MP with Microsoft DTV-DVD Video Decoder graphs for CPU and GPU utilization:




Below are the MP with ffdshow DXVA graphs for CPU and GPU utilization:




XBMC is a Home Theater PC frontend, similar to Windows Media Center, but like MediaPortal, it is open source. Unlike MediaPortal, that just supports Windows, XBMC also supports Mac, Linux, and XBox. XBMC has its roots in the XBox, but XBox support has just been suspended. In order to support DXVA on Windows, a Windows only DirectShow port of XBMC was created called DSPlayer.

In order to switch between codecs used in XBMC DSPlayer, you have to edit a configuration file. Details of the process can be found here.

I read that DXVA2 support will be natively supported in future XBMC builds. The DSPlayer build of XBMC is much newer than the latest released XBMC. This build of XBMC included native support for DXVA2 without the need to use DSPlayer. The DXVA2 option is in the system menu. I did notice that the first few seconds of playback produced screen artifacts, hopefully this will be corrected when this functionality is released.

I tested playback with three different video decoders; built in DXVA2, DSPlayer MPC codec, and DSPlayer ffdshow tryouts.


Below are the XBMC with DXVA2 graphs for CPU and GPU utilization:




Below are the XBMC DSPlayer MPC graphs for CPU and GPU utilization:




Below are the XBMC DSPlayer ffdshow DXVA graphs for CPU and GPU utilization:




Playback load summary:


Fan Speed

CPU Temp

GPU Temp

CPU Load

GPU Load

MPC-HC 2700RPM 62C 84C Low High
WMP, DTV-DVD 2400RPM 59C 78C Very Low Low
WMP, CoreAVC 1800RPM 54C 86C Medium Medium
WMP, ffdshow 2400RPM 59C 78C Low Medium
MCE, DTV-DVD       Very Low Medium
MCE, ffdshow       Low Medium
MP, DTV-DVD       Low Low
MP, ffdshow       Low Medium
XBMC, DXVA2       Very Low Medium
XBMC, MPC       Low Medium
XBMC, ffdshow       Low Medium



If all you need is video playback, you can’t go wrong with Media Player Classic Home Cinema.

All other configurations require Haali Media Splitter and ffdshow.

If you want to use Windows Media Center or Windows Media Player with subtitles, you will need to do some more research.

If you run Windows and want a MCE alternative that is easily configurable, use MediaPortal.

If you need Mac or Linux support use XBMC, or if don’t mind configuration files and bleeding-edge code on Windows, use DSPlayer.

As long as your player of choice supports DXVA, the ID11 has no problem playing 1080p MKV H.264 content.

Zotac ZBHOXHD-ID11 Case Positioning Impact on Fan Noise

As I was testing the ID11, I noticed differences in the thermal behavior based on how the case was positioned.
I tested three positions; case open, case vertical, and case horizontal.

This is the fifth post in a series of posts related to the Zotac ZBOX ZBOXHD-ID11.


  • Place the case in a vertical position for best cooling.


I used the Beta BIOS for testing. I let the system sit idle, placed it under load, then back to idle, while I recorded the fan speed and temperatures. The ambient temperature was 21C / 70F.


Below are the CPU temperature and fan speed graphs for an open case:




Below are the CPU temperature and fan speed graphs for a vertical case:




Below are the CPU temperature and fan speed graphs for a horizontal case:





Case Placement

Max CPU Temp

Max Fan Speed

Open Lid 55C 1700RPM
Vertical 59C 2350RPM
Horizontal 66C 3300RPM


From the data we can see that the fan does not appear to have sufficient ventilation, and that in the horizontal position the air flow appears to be severely restricted.

I am tempted to mod the case to allow for better airflow, maybe cut a larger opening for the intake, or replace the centrifugal blower fan with a conventional fan, something like the Scythe KAZE JYU SLIM.

Zotac ZBOXHD-ID11 Beta BIOS Reduces Fan Speed and Noise

In a previous post I measured the fan speed and noise under load, and I found it to be unacceptably high.
Zotac support notified me that a new Beta BIOS is available that address the issue.
In this post I measure the difference between the release BIOS and the Beta BIOS.

This is the fourth post in a series of posts related to the Zotac ZBOX ZBOXHD-ID11.


  • The Beta BIOS reduces the fan speed and noise significantly.
  • The default BIOS values need some adjustment to get acceptable results.
  • Similar results may be possible with the current BIOS by setting the target temperature to 65C.


The Beta BIOS was first announced on the global Zotac site, it only later appeared on the US site. I would recommend that ID11 owners look for updates on the global site instead of the US site.
The Beta BIOS is available for download from here.

As with the 4GB BIOS update, the update tools included in the Zip file do not work on Windows 7 x64. I downloaded the latest BIOS update tools from the AMI site, and used the AFUWinx64.exe application to update the BIOS.

Below are two screenshots of the BIOS, first the Beta BIOS, then the current BIOS:


The new [CPUFAN Mode] Setting is called [SMART Mode].
Several of the parameters changed, and the fan ratio settings are no longer 0-255, but a percentage value.

I changed the BIOS values to:
[Smart FAN start Temperature] = 50C
[CPUFAN Tolerance Value] = 2C
[CPUFAN Lowest Value] = 30%
[CPUFAN Maximum Value] = 100%
[CPUFAN Step Value] = 4%

I ran a series of tests to determine what the minimum fan speed is in relation to the [CPUFAN Lowest Value] setting:
20% = No value reported by BIOS.
30% = 1000RPM
40% = 1800RPM
50% = 2500RPM

At 20% the BIOS did not report a fan speed. Visual inspection showed the fan was spinning, but very slow. I think too slow for such a small fan, so I set the value to 30%.

At idle the CPU runs at or just below 50C, so I set the [Smart FAN start Temperature] to 50C.

I left the [CPUFAN Tolerance Value] and the [CPUFAN Step Value] values at the BIOS defaults of 2C and 4%.

I placed the system under load with the [CPUFAN Maximum Value] value at 90% and 100%, but in both cases the maximum fan speed never exceeded 3300RPM, so it appears as if the 90% throttling value was not reached in my tests. To be on the safe side I set the [CPUFAN Maximum Value] at 100%.


Although the latest Beta version of Lavalys EVEREST now correctly detects the Winbond controller, it still does not report accurate readings. So in order to measure values under load, I used CPUID Hardware Monitor Pro to measure, and Great Internet Mersenne Prime Search (GIMPS) to place the system under load.

As in my previous test, I let the system sit idle, placed it under load, then back to idle, while I recorded the fan speed and temperatures.

Below are two graphs showing fan speed under load, first the Beta BIOS, then the current BIOS:


Comparing the graphs, the Beta BIOS maximum fans speed is around 2400RPM, while the current BIOS maximum fan speed is around 5300RPM. The Beta BIOS made a significant improvement in reducing fan speed and noise.

Below are two graphs showing CPU temperature under load, first the Beta BIOS, then the current BIOS:


Comparing the graphs, the Beta BIOS lets the CPU temperature reach around 65C, while the current BIOS limits the CPU temperature to around 50C. In the Beta BIOS the [Smart FAN start Temperature] is set to 50C, and in the current BIOS the [CPUFAN TargetTemp Value] was set to 50C. The 50C [CPUFAN TargetTemp Value] was the value recommended by Zotac support. I wonder if the value was set to 65C if the fan would have been comparable to the Beta BIOS?


I created this page as an index to all my posts about the Zotac ZBOX Mini-PC ZBOXHD-ID11.


This is my first post created using Windows Live Writer.
I used to create my posts using Google Docs, but a recent upgrade to Google Docs removed the ability to publish docs to Blogger. Ironic that I am now using a Microsoft product to post to Google 😉


In this post I describe my experience while upgrading the BIOS, in order to support 4GB of memory.

This is the third post in a series of posts related to the Zotac ZBOX ZBOXHD-ID11.

– 4GB is supported after upgrading the BIOS.
– BIOS has to be updated using less than 4GB, else ID11 fails to post.

[Update: 20 May 2010]
After writing this post, the machine started bluescreen / BSOD crashing.
Mostly MEMORY_MANAGEMENT / 0x0000001A errors, with occasional 0x000000BE and 0x0000003B crashes.
When I initially installed the 4GB RAM, I ran memtest for one cycle, and the RAM tested fine. I just reran memtest, and it is reporting that the memory as bad.
I replaced the memory with a new stick, I ran memtest overnight, and everything seems back to normal.
I hope it was just a bad stick, and not the ID11 that killed the memory.

When I ordered my ID11, I also ordered a 4GB Kingston SODIM RAM stick.
When I received the ID11, the specs said 2GB only, and after contacting Zotac support, and posting in their support forum, they confirmed that 4GB is not supported.
I reverted to using a 2GB Kingston SODIM RAM stick.

I was pleasantly surprised when Zotac announced a BIOS update that added 4GB support.

The BIOS changes are described as follows:
Version 05/11/10
.Added support on 4GB memory modules
.Added CMOS selection on Logo LED

I downloaded the BIOS update, extracted the contents, and tried running the AFUWIN AMI BIOS update utility. After a warning message appeared telling me to not run other apps and not to power down, on clicking ok, nothing happened. I tried again this time running AFUWIN.exe as administrator, still nothing.

I went to the AMI site, and downloaded their latest Windows BIOS update utility. Since I was running Windows 7 Ultimate x64, I ran AFUWINx64.exe, this binary automatically UAC prompted for elevated access, and presented this warning:

I opened the A140PA19.rom file, and the information tab showed the following:

I started the flash, and got this warning:

I accepted, and the flash completed:

I rebooted, and the POST screen showed a CMOS Checksum Bad error:

I pressed F1 to enter setup, and I made the following changes:
[Exit] [Load Optimal Defaults]
[Advanced] [PC Health Monitor] [CPUFAN TargetTemp Value] = 50
[Advanced] [IDE Configuration] [Configure SATA as] = AHCI
[Advanced] [PCIPnP] [Plug & Play OS] = Yes

The two BIOS changes are visible under these sections:
[Chipset] [North Bridge Configuration] “PCI MMIO Allocation: 4GB to 3072MB”
[Chipset] [South Bridge Configuration] [LOGO LED indicator:]

I rebooted, and everything worked fine.

Next I powered down, and replaced the 2GB RAM with 4GB RAM.

On reboot the following changes were visible on the POST screen and in the BIOS:

Booting into Windows, the following 4GB related changes were visible:

So far everything appears to work fine.
One of these days I will really get to testing media playback performance.

By the way.
In my first impressions post I reported that the ID11 came with the wrong power cable. Zotac support sent me the correct replacement cables free of charge:

Zotac ZBOXHD-ID11 Fan Speed and Noise

In my previous post I discussed my initial impressions of the Zotac ZBOXHD-ID11.
In this post I continue my review, focusing on fan speed and noise.

This is second post in a series of posts related to the Zotac ZBOX ZBOXHD-ID11.

– High fan speed and noise while under load.
– Fan never returns to silent operation after load is removed.
– Need DXVA capable player for video playback.

[Update: 26 May 2010]
I tested the Beta BIOS, and produced significantly better results. Effectively the new BIOS runs the CPU at 65C vs. 50C, as such you may be able to achieve the same results with the current BIOS by simply changing the CPU temperature threshold to 65C.

Last time I tried Lavalys EVEREST and SpeedFan to measure the CPU/GPU temperature and fan speed, but neither application was able to detect the fan, and both applications produced questionable results for the CPU temperature.
A Media-Portal forum reader responded, and said I should try CPUID Hardware Monitor, which I did, and it works. Actually, I used CPUID Hardware Monitor Pro, this way I can capture values over time, and easily produce graphs.

Below is a picture of the hardware detected as a Winbond W83627DHG:

My test methodology is to measure from power on, idle, under load, and back to idle.

I let the ID11 reach room temperature (73F / 23C), I cold booted, and after logging in, immediately started Hardware Monitor Pro (HWMP). I let the ID11 sit idle for a few minutes. The fan remained very slow and very quiet, almost impossible to hear.
The idle fan speed is around 180RPM.

Next I launched EVEREST system stability test, this placed the CPU under load, I ran this for a few minutes. Almost immediately the fan speed increased, and became very loud.
The high fan speed is around 5300RPM.
The case reached a temperature of 112F / 44C.

After stopping the system stability test, I let the system idle for a few minutes. The fan speed reduced, but never returned to the initial very low speed. At this speed the fan is audible, about the same noise level as a spinning hard drive.
The return to idle fan speed is around 1400RPM.

Below are graphs showing CPU, GPU, and fan speed over time during the stability test:

I expected the fan to go back to the initial very low speed, but it didn’t. I was not sure if I should let the system idle for longer, so I repeated the test.

But, instead of using EVEREST, I used XBMC 9.11 using all default options.
I chose to play a 39GB DTS H264 MKV file, this file is a very high bit rate Blu-Ray rip, and I know that my netbook stutters when playing this file, while my workstation has no problems playing it.

Immediately after starting playback the fan speed increased, and became very loud, same as during the stability test.
The high fan speed is around 5300RPM.
The case reached a temperature of 108F / 42C.

As before, the fan never went back to super quiet, even after sitting idle for a very long time.
The return to idle fan speed is around 2000RPM.

This behavior may be a BIOS problem, or it may be the thermal characteristics of the ID11.

Below are graphs showing CPU, GPU, and fan speed over time during movie playback:

Although I was not focusing on video performance, it was clear that the video stuttered, and this was confirmed by looking at the on screen playback statistics. There was a very high frame drop count, and the frame rate was around 13fps, far from the 24fps target.

Below are two OSD captures, one from the ID11, and one from my DELL Core i7 XPS 9000 workstation:

The default XBMC does not work on the ID11. A little bit of searching revealed that the internal decoders used by XBMC do not support GPU acceleration, and instead relies on the CPU to the rendering.
There is a Windows specific port of XBMC using DirectShow codecs that do support DirectX Video Hardware Acceleration (DXVA), called DSPlayer.

When I do a more elaborate video performance test I will use only DXVA capable players.