Update: As always, tech moves on and since writing this, HDMI 2.0b has become available for under US$125 with Radeon RX 460 2/4Gb graphics cards. They’ll do 60hz @ 4K so get one of those and don’t bother reading this. 🙂
So, you could buy :
MSi Radeon RX460 4Gb OC or similar (about $110)
Seasonic S12ii Bronze 430W highly recommended ($45)
LGA1151 socket cpu such as Intel Pentium G4400 (about $55)
Any DDR4- 2133 ram – 8Gb – to fit the mobo you chose (about $50)
+ a small SSD for the OS + case (I got CoolerMaster Elite 110) + HDDs for storage.
Software such as Foobar or J-River for music, and VLC or Media Player Home Cinema – all free.
I use external sound cards but I planned to add an internal audio DAC for this HTPC cos the mobo sound was dire. However, I spotted a very cheap CMI8768 PCI-E sound card for just US$7 and know there are also low latency bit perfect drivers for it. So I changed my plan and fitted the sound card. But wow, what a lot of hassle to install a unsigned driver! The first thing I had to do was enter the UEFI bios at boot by holding down delete and then find the settings to disable secure boot and enable CSM – compatibility support mode. Then, after booting into Windows, I opened the command prompt as an administrator and ran two bcdedit instructions – one disables integrity checks and the other enables test signing.
bcdedit /set testsigning on
bcdedit.exe /set nointegritychecks on
These didn’t work at first – Windows refused to accept the driver – so I also had to try the Advanced Boot as a temporary way to get the driver to install without a code 52 error. But when I rebooted, the driver had been rejected.
I went around in circles for some time because I couldn’t get the installation to work from boot without using advanced boot. I also tried a tip of holding down F8 during boot but this didn’t seem to do anything. After several hours of frustration, I turned testsigning off to remove the hallmark and was ready to give up.
And then, wouldn’t you know it. It just started working. But only after a shut down. Then Boot. If I choose restart, it uninstalls again. I love Windows 10.
So then I tested the card and found while spdif-out works, spdif-in doesn’t, so I pulled the card and checked it. It turns out that the inter-connect ribbon cable was faulty, so I fixed it and then hey presto, fully working bit perfect sound card. To record, I downloaded a free sound recorder and found the dogbert driver needed to have both spdif in enabled and secondary spdif enabled too. It won’t give me live audio monitoring but records perfectly so that’s fine. I will upgrade the pierce oscillator clock to a low jitter xo when I start using the spdif out.
The original post:
I’ve built a few different HTPCs and now, since 4K and Ultra HD video and movies are starting to become popular, it’s time to build another. So I did. To skip the dull bits, this is what the Windows Experience Index says of this PC :
Not that impressive right ? Depends on the cost – if you want to know more, read on… and why I think an i3-4130 with a dual hdmi graphics card with 2GB GDDR5 would have been a better choice.
The most difficult decision is of course the CPU/GPU/motherboard because there’s so many factors to consider.
First, I use hdmi – although it supports 4K, it is currently limited to 30Hz until hdmi 2.0 is available. The workaround is to use a dual hdmi output from a single source – so the mobo must have dual hdmi to run from the CPU/APU, or the graphics card must have it. Dual hdmi on graphics cards is not so easy to find right now. In fact, this is the biggest problem – I can only find low end or high end, nothing in the middle to match a mid-range CPU.
Second, from reading various video decoding tests, it seems most modern quad core CPUs will be fine and what matters is the memory bandwidth and GPU speed. I came to the conclusion that 1600Mhz RAM might be a little slow and better would be 2133Mhz RAM, 4Gb or more, with between 1GB and 2GB dedicated to the graphics, and even better is to get a GDDR5 graphics card, R7-250 speed or better.
So, after much research (this is worth a read), it came to four options at under US$200 for the CPU/GPU or APU. It is possible to do this for US$120 with a Celeron processor and R7-240 dual hdmi 2G DDR3 graphics card, but I wanted something with some reserve, in case 4K 48fps ever becomes a thing.
What are the $200 options ?
– A low end Celeron G1820 (US$45) with a very good dual hdmi graphics card with 2GB GDDR5 (US$150) US$195 – the low cost CPU might need to be upgraded rather than the graphics.
– A mid to low end Intel Haswell CPU like i3-4130 (US$110) plus modest dual hdmi graphics card like the Sapphire R7-240 above (US$75) US185 – compromising GPU for more CPU – will I need a better GPU for 48fps ? It’s DDR3 and R7-240, so that seems likely. Sadly, I can’t find a mid-range dual hdmi GDDR5 graphics card.
– A mid-to high Intel Haswell Core I5-4500 series and rely on the HD4600 integrated graphics US$190 – only adequate so will very likely need a graphics card sooner rather than later.
– An AMD A10 APU with integrated R7-250 graphics US$170 – best integrated graphics available at this time and can use a dual hdmi mobo – so an extra graphics card is optional and this avoids the problem of a lack of mid-range dual hdmi graphics cards. However, for the CPU/GPU performance level of the APU, I think it is a little over-priced, and it uses DDR3.
For me, the Celeron was the best value but I’m a little concerned that the CPU might be a bottleneck.
The i3 plus a graphics card is probably the best choice right now, especially if the graphics uses GDDR5. However, it might mean ditching the graphics card for a better one when hdmi 2.0 is released if I can’t get dual hdmi (60Hz refresh) to work well. Also, I wanted to use an ITX mobo and they typically have one pci-e slot so this means discarding any card I buy now if I need an upgrade.
So I decided against these options.
The i5 solves the future expansion problem since the integrated HD4600 is apparently adequate, but it seems it is designed for only DDR3 1600Mhz RAM, which some tests suggest isn’t quite enough, and certainly isn’t running in a comfort zone, so I may have to get a graphics card sooner than I’d like, and then we have the same issue as the i3 or Celeron.
For less money, the AMD A10 has much better graphics performance than the i5, because it essentially has a R7 250 graphics card built in, actually slightly better, but not quite R7 260 – let’s say 255. It supports up to 2400Mhz RAM but it seems its bandwidth isn’t so good so it really needs 2133Mhz just to match Intel at 1600Mhz. However, I liked the fact that the AMD can boost its performance by at least 30% and up to 100% for not much more power consumption with an extra R7-250 graphics card, should that become necessary, and/or add a card to support hdmi 2.0 when that comes out.
What did I buy ?
I chose 2 x 4GB of Corsair Vengeance 2133Mhz (US$95) as the memory – official latency: 9-11-11-31 – I thought an easy choice for dual channel RAM of a suitable speed without breaking the bank for 2400Mhz. However, I later found it likes to run at 1866Mhz so maybe this RAM is not that great. Still working on the latency settings. EDIT the problem turned out to the BIOS. After an update from Gigabyte, it’s all good, and I’m running Windows 10 now too.
The psu is Seasonic S12ii Bronze 430W for US$45 which tests say is very quiet even near full load, and has good regulations and noise, so that’s an easy choice, and has performed as well as I expected.
After browsing LGA1150 and FM2+ ITX mobos, I narrowed this down to either the LGA1150 Gigabyte GA-H97N-WIFI (US$110) or the FM2+ Gigabyte GA-F2A88XN-WIFI (US$100). The AMD option allows 2GB shared graphics memory, whereas the LGA one is only 1GB, so the LGA needs a separate graphics card. The FM2+ will allow modest future upgrades if needed, and it’s a little cheaper, so I chose the FM2+ mobo and I got the A10-7850K APU (US$170).
The mobo has two hdmi outputs and it seems that some monitors, like the Asus PQ321Q, can use this for an effective 60Hz. It has pci-e 3.0 for an extra GPU card, so I can get hdmi 2.0 in the future if the dual hdmi doesn’t work, and already has hdmi 1.4a 4K output, and 7.1 sound with two spdif outputs too – one optical for an external decoder/DAC and one header on the mobo for a high quality stereo DAC I can add inside the case later. There are 4 sataIII for hdds, and it has built in wifi and bluetooth, and enough USB 3.0 and 2.0 sockets for an external blu-ray and more HDDs.
The case is a CoolerMaster Elite 110 for US$45. It can use a full ATX PSU, a double width graphics card, and 3 HDDs, so that will give me 6TBs of storage. The mobo has 4 sata inputs so I’ll try to squeeze in an extra SSD somewhere to run the OS to keep HDD noise to a minimum. It has a 12cm front case fan to suck air in, and can also use two 8cm fans at the side near the pci-e slot.
The case fan looks good quality but I have an ultra quiet one with a blue LED in the fan so I changed them over. The blue LED will hopefully complement the blue LED in the front button switch. And … yes, it does.
First of all, I soldered on an spdif cable with isolator to the mobo so I can mount a DAC inside the case later. The ALC892 has a THD+N of 75db from the headphone/line output, and that’s not hifi. I’m guessing the eight 100uF 6.3V caps below are coupling caps for the audio outputs, as shown in figure 20 (above) in the ALC892-CG_DataSheet_1.3. Unfortunately, these caps look like solid polymer – they might sound too bright – and added to the poor THD+N creating a harsh rough sound, well, maybe it’s okay for movie surround sound but it’s not okay for stereo music. Harsh, rough and bright – no thank you.
The cable has an isolator, a pulse transformer, with a series 100R resistor, in an effort to reduce direct noise pollution getting into a DAC. If I had done a really good job I would have added a zobel across the transformer and shielding too, but I think this might not make any audible difference because of the EMI that will get into the DAC, not to mention the 4ns of jitter specified by the ALC892. No, that isn’t a typo, 4ns. Harsh, rough, bright gets mushy, flat sound too. So the DAC will need a re-clocking circuit of some kind with a clean MCLK – AMB’s y2 plus a WM8805 receiver should do the job.
Then I mounted the mobo in the case, noting the spaces behind the front cover for hiding cables.
Then I installed my old SSD – this was done by creating a mounting, instead of using one of the existing the HDD mounts. A 4mm drill in the side rail made two mounting holes. This is adequate since the SSD has no moving parts and is very light. It is mounted above the side vent so it doesn’t restrict airflow. Sadly, my camera skills are wanting in this shot – almost in focus 😉 But not quite !
Not much else to it really, just add the other hard drives, then the psu, then do the cabling so it doesn’t interfere with airflow or touch any mobo parts.
At the top of the photo below you can see one HDD mounted at the side – the opposite side to the SSD. To the left you can see two more HDDs that have been flipped out of the way to see inside. They’ll flip to the right when they are bolted to the case, blocking the top of the case immediately above the psu on the right. So the psu fan is facing down into the case to suck case air up and out through the psu. This is the opposite direction from the CPU fan blowing down, and they are 2cm apart, so I might try reversing the CPU fan if the noise is too noticeable or fitting a larger quieter one.
Tidy up the cables – some can go inside the front panel cover through the handy holes (see below) and the others are tied together in bundle below the case fan – next to the memory (see above).
And finally, the power cables get routed round the sides so they don’t interfere with anything.
And it’s done, except for adding a Windows Media Remote control – but they are available as USB devices, so I can do that later.
Next up is installing an OS and configuring the BIOS, which was also very easy.
EDIT – since the BIOS update, there is no need to change the memory settings. Optimised defaults work perfectly. Before the update, I did this:
The BIOS only needed two setting changes.
Setting 1 : M.I.T. > Advanced memory Settings > Extreme Memory Profile (XMP) > Profile 1 This allows the RAM to run at 2133Mhz. It can also be set under M.I.T. > Advanced CPU Core Features – they’re synchronised.
Setting 2 : Peripherals > GFX Configuration > Integrated Graphics > Force This allowed me to change the UMA Frame Buffer Size so it is 2GB – in other words, the graphics gets dedicated 2GB instead of the default 1GB.
However, I later found this wasn’t super stable so I changed the advanced memory settings. The memory profiles are disabled and the RAM speed multiplier is changed from auto to set the speed at 1866Mhz. Still haven’t got round to setting latency…
It is a piece of cake to install Windows 7 Ultimate 64 bit, and the latest drivers – Catalyst 14.6 at the time of writing. I ran the Windows Experience Index = CPU is 7.4, RAM is 7.5, both graphics are 6.9 and the HDD (an old SSD) is 5.9. CPU and RAM look fine.
The SSD is sataII and about 100MB/s, so no surprises there. I tried tweaking the scores by turning off AMDs CoolnQuiet, running Windows at max performance and tweaking RAM voltage and speed, so everything runs at full throttle. The maximum over-clock it would accept is 8% but all of these had no effect on the WEI scores, even though other benchmarks would go up. This was just for fun really – so everything got reset to more efficient and cooler running after trying this out.
I also installed Gigabytes easy tune software and set the fans so they make as little noise as possible until the PC starts to get hot. It made the over-clocking easy too.
The difference between this and the HD6450 graphics I was using before is immediately obvious – much sharper and smoother for 1080p 60hz. It also runs quite cool and reasonably quiet with everything under 60 deg C, with the case fan under 770 rpm and the APU fan typically double that.
So now I can enjoy the HTPC, plan how to integrate an audio DAC and headphone amplifier, and keep an eye out for an R7 250 card with hdmi 2.0. 🙂
Adding a HiFi DAC.
I have quite a few DACs and the smallest one with a re-clock/upsampling is an old AMB y2 I played with many years ago, and has been sitting in a drawer for too long. It’s about the same size as an SSD. The mobo’s high jitter means poor quality sound unless the jitter is reduced by reclocking, so this is essential for hi-fi sound from this PC.
The y2 was built with an ADP151 very low noise regulator for the 3.3V digital circuit (now superseded by ADM7160) and (now) uses a Crystek CCHD-957 ultra low phase noise XO (22.5792Hz since my source material is CD rips at 44.1Khz – not the Tent XO in the pic) for the re-clocking/SRC circuit, plus lots of high quality power supply caps, and only poly signal coupling caps – 3x 2.2uF WIMA plus Vishay MKP 10nF bypasses on each channel – after the OPA2365 output op amp. To make it as small as possible, I trimmed off one side where there are no circuit traces. It makes Vbus unusable but that’s not needed for a working DAC.
I used an ultralow noise ADM7150 800mA regulator for the 5V power supply. This is fed from a TPS7A4700_EVM. The EVM has been modified with a TPS7A3301 regulator so it will provide +/- 10.8V from the ATX’s +/- 12V supply rails to power a headphone amplifier. However, that means a drop of 5.8V @ 210mA for the ADM7150, which is too much without a decent groundplane, so it’ll burnout. So I used a 12R 5W resistor and 470uF capacitor to create a low pass filter to reduce noise and drop 2.4V, and then I also used a 2K potential divider to feed the base of a BUP41 NPN transistor with another cap at its base to filter noise. Like this:
This means the BUP gets an adjustable voltage fed to its base so the voltage output can be finely adjusted under load, and the cap acts as another RC filter. The BUP has a 120Mhz bandwidth so this means very clean power into the DAC. The EVM reduces noise also but the bandwidth is more limited so the BUP ensures a wide bandwidth of ultralow noise, even though it’s from a very noisy ATX PSU. Here’s the EVM :
After that, I needed an spdif receiver to interface from the mobo to the DAC, so spdif to i2S. Again, I got an old WM8805 I had in a drawer, upgraded the regulator to an ADM7160, and fitted that to the DAC. The y2 DAC has its own master clock so only 3 connections are needed – Data, Bclk and LRclk. The weird thing is that it only wants one ground connection so GSGSGS is not possible – I can’t use ground returns for each of the digital signals. When I tried, it just created noise. I spent quite a lot of time trying to get GSGSGS to work but had to give up – GSSS only. I also found a light crackling in the background, indicating a problem with the signals, so I used 100R connecting resistors on the signal lines, and also added a 15R on the power line, and a 8R on the ground. This fixed the issues and indeed, the DAC sounded very good. Tent’s xo + src is a killer combo (Crystek CCHD-957 is even better !). Sadly, it looks like a dog’s dinner, but nevermind, it’s the sound that matters, and it’ll be hidden in a PC anyway :
Anyway, the project has stalled – too many other things to do these days – and the HTPC works so I’ll get back to this when I have more time. In fact, I like the sound of this DAC with the Crystek so much, that I no longer plan to put it into the HTPC and will use the spdif co-axial as another output via a BNC socket.