HTPC Experiments


Had some time on my hands, so I thought I will put together a DIY HTPC running Linux. A couple of things that I wanted to accomplish with this setup.

  • Use some media-center software (Kodi/XBMC) for playing videos
  • Use a more 'audiophile' DAC for playing bit-perfect DSD music files
  • Have a general purpose Linux box for twiddling around
  • At some stage, use this for post processing my photography (darktable et al)
 So first off, I looked around to see if I could make do with stuff I already had at home. Went rooting around and stumbled on the manual for my Emotiva XMC-1. It has an onboard DAC which can be hooked up to a computer but sadly (as of this writing, circa Aug 2016), it can't play DSDs natively. 

From the XMC-1 Manual

 USB Stream Input: Use this input to connect a computer or other compatible media client to the XMC-1. The XMC-1 will appear as a USB audio device (sound card or speaker) to a computer that is connected to this input. This input supports all standard sample rates between 44.1k and 192k

The XMC is capable of DSD Direct playback but only over HDMI and I think it's limited to DSD64.

From the XMC-1 Manual

True DSD Playback: The XMC-1 offers audiophile quality playback of DSD audio (when received via HDMI from an SACD or a DSD audio file), which bypasses all processing for the most accurate audio rendition possible.

So I went looking for a good DAC that was known to work with Linux. Cutting a long story short, settled on the XMOS/AMR iFi micro DSD as a good choice given that it goes upto Octa DSD512, 768KHz PCM and has a nice LED that will tell you the type of signal (PCM,DSD64,128,256,512) that is being received and decoded. The output is either analog RCA L/R or Coaxial output. 

So with the DAC decided and ordered, next up was the HTPC. More research followed and I closed on
  • Intel NUC5 i7RYH - Keeping in mind that I want to some graphics intensive stuff and depending on the software, a music player may need to do a lot of resampling etc.
  • 16G RAM - Again for photo post processing and playing large DSD files
  • 256Gb SSD for the boot disk
Most of my music is on a 6TB Western Digital USB 3.0 drive which works fine with this HTPC. I cleverly ordered all of this but missed out on a mini HDMI to HDMI cable :-( Realized that as soon as I opened up the boxes and started putting everything together. 

In a way this snafu helped me pick the Linux distro for the HTPC. A quick google showed Arch Linux as one distro that runs an SSH server from the installer image. 

  • Got and dd'ed the the Arch Linux installer image onto a USB disk
  • Plugged the disk into the NUC HTPC, connected up a keyboard and ethernet cable
  • Booted up the NUC headless
  • At this stage, I needed to blindly set a password for root since there is no display attached to the NUC and SSH won't let root login without a password set
  • So assuming that the installer had booted up to a 'login:' prompt, I typed in
    • root (for the username)
    • passwd - to invoke the password command
    • Typed in the password I wanted to set for root, hit enter
    • Typed the password again because passwd would have prompted to confirm the password
    • Hit Enter a couple of times, just to be safe
  • Next we need to start the SSH server if it wasn't running
    • systemctl enable sshd
    • systemctl stop sshd
    • systemctl start sshd
  • Next, I looked at my router to figure out the IP that the NUC got over DHCP
  • Connect from my laptop to the NUC's IP with
    • ssh -l root@<xx.xx.xx.xx>
  • It worked!! Now we have a SSH login to the installer
  • Go through the regular Arch Linux Installation process at Arch Linux Install Guide
So now we have a working machine with Linux installed. I updated the machine etc etc while waiting for the HDMI cable to show up. Will continue this article with a part 2 detailing Kodi set up, the LIRC configuration for using my TV remote to control Kodi and getting multichannel audio for movies going.

Comments

Popular posts from this blog

Quick and Dirty WiFi-Ethernet Bridge - Arch Linux - ASUS Router and Apple Airport Extreme

Android File Transfer and Samsung SmartSwitch Conflict

HTPC Experiments - Part 3