XBMC on NUC’s and Pi’s

I’m still looking for the perfect XBMC hardware; must be small, silent, low power, low heat, 1080p, HD audio, and play anything I throw at it without a hiccup. The number of options are increasing, but no clear winner.

 

 

I previously tested a XIOS DS running XBMC on Android, and XBMC on Linux. At that time the builds were pretty unstable. I retested the latest Linux builds, that also include XBMC 12 Frodo RC2.

I tested using the 121512 release, after rebooting, I just saw a black screen. I could see that the AVR had negotiated HDMI audio, but the screen remained black. Reading the forum thread there were many reports of similar problems, same symptoms, leave the system up, and after 15 minutes XBMC loaded. The bug has been identified, but not yet fixed in official firmware. I used a community build that included the fix, and the system booted normally.

I noticed that there are now two hardware variants of the DS, a M1 version, that I have, and a new M3 version, that apparently includes a faster processor and more memory, and is currently only shipped in the EU and UK. This seems to be consistent with the AMLogic AML8726-M SoC device containing an ARM Cortex-A9 and a Mali-400 graphic processor.

The playback results were rather disappointing, no HD audio pass-through, high bitrate content would stutter, and I would get frequent network re-buffering. This device still shows promise, but not in its current state.

 

 

I tested XBMC on a Raspberry Pi. The Pi devices are pretty cheap at $35, but the units at this price have very long lead times. Instead I opted to buy an in-stock Model B Revision 2 unit from Amazon, and also a case.

The Pi Model B Revision 2 uses the Broadcom BCM2835 SoC device containing an ARM1176JZ-F with VideoCore IV graphic processor.

Deploying XBMC to a Pi is rather more involved compared to the DS, and I opted to use the Raspbmc distribution that includes easy to use tools for Windows. The deployment tool creates a bootable SD card, that then retrieves and installs the latest builds over the internet, similar to many Linux network boot disk installers.

The playback results were rather disappointing, no HD audio support, high bitrate content would stutter, and I would get very frequent network re-buffering.

Similar to openELEC that provides a XBMC plugin for OS configuration, Raspbmc configuration in XBMC is done using the Raspbmc plugin. When I first clicked the plugin I thought it did nothing, and after several more remote clicks it suddenly displayed and did whatever my remote clicks did, causing a restart. The plugin provides lots of configuration options, including switching of XBMC versions, downloading and running nightly builds, and advanced configuration, but really it is super slow to load up.

XBMC on the DS supported HD audio passthrough, but Raspbmc did not include HD audio support. The plugin allowed me to enable the XBMC AudioEngine, with a warning that it may not work. After restarting XBMC with AE enabled, there were options for HD audio, but AE did not detect the HDMI audio output device and only offered audio output over analog or SPDIF.

MPEG2 and VC-1 codecs have to be purchased for the Pi, but as my test results were disappointing, I did not bother purchasing the codecs.

 

 

I tested one of the new Intel Next Unit of Computing devices, specifically the DC3217IYE. The device is barebones, and I used Kingston KVR16S11K2/16 16GB memory and a Kingston SMS100S2/64G 64GB mSATA card. Oh, and you need your own power cable, I happened to have a spare Monoprice 7687 3-prong power cable lying around that fit the PSU.

I don’t know what to make of it, but Intel included a gadget in the box, that plays the Intel jingle every time you open the box. I’m inclined to think that they could have included a power cable instead of the jingle gadget, but my kids do enjoy playing with the box, so it may have some marketing value.

Here are a few unboxing pictures:
IMG_1384_DxOIMG_1385_DxOIMG_1386_DxOIMG_1388_DxOIMG_1389_DxOIMG_1390_DxOIMG_1391_DxOIMG_1392_DxOIMG_1393_DxOIMG_1394_DxOIMG_1395_DxOIMG_1396_DxOIMG_1397_DxOIMG_1398_DxOIMG_1399_DxO

 

I installed openELEC v3 Beta 6, that includes XBMC 12 Frodo RC2.

Most things worked fine, audio output device was automatically detected and set to HDMI, but HD audio passthrough did not work, and several videos showed artifacts during playback, even worse, some videos caused lots of artifacts and caused the device to hang. I assume the video issue is a problem with the Intel HD graphics driver being picked up by openELEC.

I am using a D-Link DSM-22 RF remote (I wish I can find more for sale), and I found that the key presses were erratic, after moving the RF dongle from a rear USB port to the front USB port, everything worked fine. I assume there is some interference near the back of the unit.

Physical size wise the NUC compares well against a Zotac ZBox Nano XS AD11 Plus, but price wise the NUC is more expensive once memory and flash storage is added.

The Nano XS is a Fusion based device, which means it will never get HD audio passthrough (AMD drivers lack HD audio support on Linux), so if openELEC and Intel can resolve the video corruption on the NUC, and XBMC can resolve the HD passthrough problem with my setup, the NUC would be a good contender.

 

I am still running openELEC on my Zotac ZBOX ID84 system with a NVidia GeForce GT520M GPU. This GPU supports HD audio passthrough, but as with my other devices, it does not work on my setup. The problem appears to be related to how XBMC AudioEngine targets audio, and that instead of sending the audio to the AVR, it sends it to the television, but this is speculation on my part. I logged a ticket with openELEC and XBMC, and there is a forum thread at openELEC with other Yamaha and Onkyo AVR users reporting similar problems, but nobody from openELEC or XBMC has yet responded 😦

 

Here is a comparison of device sizes, top is Raspberry Pi, then XIOS DS, then ZBOX AD11, then Intel NUC, and ZBOX ID84 at the bottom:
PV_20121226_5060_DxOPV_20121226_5061_DxO

 

My quest continues.

Advertisements

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.

Summary:

 

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:

Product

Version

Media Player Classic Home Cinema 1.2.1249 (x64)
Haali Media Splitter 1.10.175.0 (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:

MPC.CPUFANIN

MPC.CPUTIN

MPC.GPU.Temp

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

MPC.CPU

MPC.GPU

 

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:

Win7DSFilterTweaker

 

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]):

Haali.Custom.Output

 

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

ffdshow.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:

ffdshow.DirectShow.Control

 

Below are GraphStudio graphs showing the various codecs in action:

Windows.Graph

CoreAVC.Graph

ffdshow.Graph

 

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

MediaPlayer.Windows.CPUFANIN0

MediaPlayer.Windows.CPUTIN

MediaPlayer.Windows.GPU.Temp

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

MediaPlayer.Windows.CPU

MediaPlayer.Windows.GPU

 

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

MediaPlayer.CoreAVC.CPUFANIN0

MediaPlayer.CoreAVC.CPUTIN

MediaPlayer.CoreAVC.GPU.Temp

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

MediaPlayer.CoreAVC.CPU

MediaPlayer.CoreAVC.GPU

 

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

MediaPlayer.ffdshow.CPUFANIN0

MediaPlayer.ffdshow.CPUTIN

MediaPlayer.ffdshow.GPU.Temp

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

MediaPlayer.ffdshow.CPU

MediaPlayer.ffdshow.GPU

 

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:

MediaCenter.Windows.CPU

MediaCenter.Windows.GPU

 

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

MediaCenter.ffdshow.CPU

MediaCenter.ffdshow.GPU

 

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:

MediaPortal.Codec

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:

MediaPortal.Windows.CPU

MediaPortal.Windows.GPU

 

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

MediaPortal.ffdshow.CPU

MediaPortal.ffdshow.GPU

 

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:

XBMC.DVDPlayer.CPU

XBMC.DVDPlayer.GPU

 

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

XBMC.DSPlayer.MPC.CPU

XBMC.DSPlayer.MPC.GPU

 

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

XBMC.DSPlayer.ffdshow.CPU

XBMC.DSPlayer.ffdshow.GPU

 

Playback load summary:

Configuration

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

 

Conclusion:

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.

Summary:

  • 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:

CPUTIN.Case.Open

CPUFANIN0.Case.Open

 

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

CPUTIN.Case.Vertical

CPUFANIN0.Case.Vertical

 

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

CPUTIN.Case.Horizontal

CPUFANIN0.Case.Horizontal

 

Summary:

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.

Summary:

  • 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:
Beta.BIOS.PCHealth

Health.Monitor

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:
CPUFANIN0.Beta.Stability

CPUFANIN0.Stability

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:
CPUTIN.Beta.Stability

CPUTIN.Stability

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?

Zotac ZBOX Mini-PC ZBOXHD-ID11

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 😉

Zotac ZBOXHD-ID11 4GB RAM

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.

Summary:
– 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.

Summary:
– 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.

Zotac ZBOXHD-ID11 First Impressions

Untitled Page

I am sharing my experiences and first impressions of the Zotac ZBOXHD-ID11-U mini PC.
In the coming days I will connect the device to my home theater, and review the behavior running Windows Media Center, XBMC, and Media-Portal.

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

Summary:
– To enter the BIOS, cold boot and press DEL.
– To select a boot device, cold boot and press F11.
– To enable Aero, run the Windows Experience Index assessment.
– To improve performance, install updated drivers from the hardware vendor site.
– To correct HDMI audio output, install updated drivers from the hardware vendor site.
– To reduce fan noise, change the BIOS temperature thresholds.
– The fan is loud and the box runs hot.

After reading about the new ID11 on several news sites, I was eagerly awaiting its availability.
As soon as the ID11 became available, I ordered three units from NewEgg.

I am currently using a two self built HTPC’s, one is in a Lian-Li media center case, and the other is an AOpen miniPC MP945-VDR.

I am particularly interested in the ID11 because of the small form factor, the HDMI output, and the ability to reliably play 1080p content.

There is a review of the ID11 on AnandTech.

You can watch a video, created by Zotac, of the ID11 on YouTube.

The first thing I noticed when unpacking was the strange power cable.
There is a three-pin power plug on the power brick side, and a two-pin power plug on the wall side, with a loose ground wire.
This did not seem safe to me, I contacted Zotac support, and they said they will mail me proper three-pin power cables.
Below is a picture of the plug:

[Update: 18 May 2010] 
Zotac support sent me the correct replacement cables free of charge:

The ID11 comes with everything included, except for a hard drive and memory.
I installed a 80GB Intel SSD (SSDSA2MH080G2R5) hard drive, and a Kingston 2GB (KVR800D2S5/2G) SODIM RAM module, I ordered the SSD and the RAM from Amazon.

Below is a picture of the case before the SSD and memory installation:
Below is a picture of the case after the SSD and memory installation:

I wanted to install from a USB key, but it took me a while to figure out how to boot from the USB key, and how to enter the BIOS.

On booting there is just a Zotac logo, no BIOS instructions or POST messages.
The instruction manual included in the box makes no mention of how to enter the BIOS.
I tried a variety of keys that normally lets you enter the BIOS; ESC, DEL, F2, F10, F12, and eventually I was able to enter the BIOS.
I changed the BIOS configuration to not show the logo, and on the next boot I could see that F11 lets me choose a boot device, and DEL enters the BIOS setup.
I later read in the Zotac support forum that DEL only works on a cold boot, that explains why it would not work for me when I just did a Ctrl-Alt-Del.
I installed Windows 7 Ultimate x64, and the install completed reasonably fast.

The default Windows installation included drivers for all devices, and there were no unrecognized or non-functional devices listed in device manager.

Below is a picture of device manager:

After installing Windows I ran Windows Update, the first update pulled down 4 updates totaling about 140MB, after a reboot a second update contained 26 updates totaling about 34MB.

The Atheros wireless driver, and the NVidia graphics drivers were updated as part of the update, the NVidia driver accounts for about 130MB of the first update.
After all updates were applied I ran the Windows Experience Index assessment, and got a score of 3.4, limited by the processor score.
I noticed that after running the assessment, the UI became Aero enabled.

Below is a picture of the experience index:

I noticed that the device manager listed five high definition audio devices.

The playback devices list shows four HDMI devices, speakers, and a S/PDIF device.
I don’t know why there are four HDMI devices when there is only one HDMI port.

Below is a picture of the playback devices:

The Zotac support site lists downloads for the ID11.

Several of the downloads failed with 503 server too busy errors, after several retries they did download, but the ZBOXHD-ID11 INF update is permanently 404.
Some of the drivers on the Zotac site were older than those installed by Windows.
The packaging did include a driver CD, a cursory inspection showed the drivers to be the same or older than those on the Zotac download site.

Below is a summary of the drivers installed by Windows, available from the Zotac support site, and available from the driver manufacturer site:
Device Name Windows Zotac Manufacturer
NVidia ION Graphics 8.17.11.9745 8.17.11.9666 8.17.11.9745
NVidia HD Audio 6.1.7600.16385 (Microsoft) 1.0.0.63 1.0.9.1
Realtek HD Audio 6.1.7600.16385 (Microsoft) 2.40 / 6.0.1.6013 2.47 / 6.0.1.6101
Realtek RTL8111D Ethernet 7.2.1127.2008 7.5.730.2009 7.018 / 7.18.322.2010
Atheros AR9285 Wireless 8.0.0.238 7.7.0.231 9.0.0.173 *
Intel AHCI Storage 6.1.7600.16385 (Microsoft) 8.9.0.1023 9.6.0.1014

*Atheros do not make their drivers available for direct download, I used Google to find an updated driver.

Below is a picture of the device manager after the driver updates:

Below is a picture of playback devices after the driver updates:

Below is a picture of the experience index after the driver updates:

Note the difference in performance after installing updated drivers:

Graphics: 4.5 to 4.6
Hard Disk: 5.9 to 7.7

The ID11 is supposed to be used as a HTPC, and as such it needs to be very quiet.

At boot the fan is quiet but during normal operation the fan gets louder, and under load the fan gets very loud. The small physical size of the fan probably contributes to the high pitch of the fan noise and makes it more noticeable.

I contacted Zotac support about the noise, and they recommended that I change the BIOS settings as follows:
[Advanced][PC Health Monitor][CPUFAN TargetTemp Value] = 50
[Advanced][PC Health Monitor][CPUFAN Tolerance Value] = 3

The default value for [CPUFAN TargetTemp Value] is 45C.
In the BIOS, with the CPU doing nothing, the temperature is 47C, and the fan speed is 6490RPM.

I changed the value of [CPUFAN TargetTemp Value] from 45C to 50C.
In the BIOS, with the CPU doing nothing, the temperature is 51C, and the fan speed is 5273RPM.

The fan is quieter, but not quite, and the case is getting hotter.
It seems that the fan is not very effective at cooling, and still does not run as quiet as I would like even at the higher thresholds.

Below is a picture of the PC health monitor page in the BIOS:
In order to monitor the fan speed and the CPU/GPU temperature I installed Lavalys EVEREST Ultimate Edition 5.50.2136 and SpeedFan 4.41.b9, both applications detected the CPU/GPU temperatures, but neither application detected the fan speed.
I also noticed that EVEREST reported the CPU temperatures much higher compared to SpeedFan, the SpeedFan measurements seemed closer to what the BIOS reported, so it may be a problem with EVEREST.
I will contact Zotac and Lavalys support to find out if the hardware is supposed to support fan speed monitoring, and what the correct temperature measurement is supposed to be, will report back later on my findings.

Below is a picture of the GPU and CPU temperatures in EVEREST Ultimate Edition:

Below is a picture of the GPU and CPU temperatures in SpeedFan:

[Update: 26 May 2010]
CPUID Hardware Monitor supports the ID11 hardware.
The latest Beta version of EVEREST supports the ID11.

As I mentioned in the introduction, I bought three ID11’s.

Two worked fine, but the third one had a video corruption problem on the BIOS and boot screens.
I tried various outputs; DVI-D, DVI-I, VGA, and various monitors, same problem.
I filed a RMA with NewEgg, and returned the on ID11 for an exchange.

Below is picture of the screen corruption:
So far I have mixed feelings; the weird power plug, the fan noise, the heat, the screen corruption, are all negatives, but the device still shows promise.
In the coming days I will connect the device to my home theater, and compare the behavior while running Windows Media Center, XBMC, and Media-Portal.