My latest grand project has come about from a desire to have an integrated home entertainment solution and an inability to find any off-the-shelf product that handles media the way I want it to.
My first impulse was to build an HTPC in a traditional desktop-style case, but I could not locate one that would fit in my IKEA Besta TV stand. As it happens, I had a cache of old VCRs taking up space in storage after my VHS digitising project, so I grabbed one that would suit well and got to tinkering.
The form factor of the VHS turned out to fit an mATX motherboard and power supply side-by-side almost exactly. Thankfully, there was still plenty of clearance for fans and other internal bits as well. Best of all, the case pays homage to a time in my childhood when the VCR (actually, this exact VCR) was the focal point of entertainment–perhaps even more than the NES that sat next to it. After all, you can’t play Super Mario Bros. and build Lego models at the same time!
With the internals completed, I set about assembling the software suite. XBMC provides the main interface while Firefox and RetroArch supplement functionality for most streaming services and video games. The biggest decision I’ve had to make was whether to build the system on Linux or Windows. I’ve completed comparable versions under both, but I eventually paid for a Windows 7 license to take advantage of the superior graphics processing compatibility provided by Microsoft DirectX as well as eliminate the headache of futzing around with Wine compatibility settings.
The end result is an all-in-one streaming media, local media, classic and modern gaming machine that evokes an aesthetic of an era that is quickly fading into the annals of history.
The motherboard that I picked up for the VCR project provides out-of-the-box full-resolution HDMI video under Linux, but requires an additional proprietary Intel graphics driver to process audio through the HDMI port. Thankfully, this is not a terribly difficult process thanks to the fine folks at Intel providing an easy graphical installer package.
Assuming you have installed your graphics card drivers correctly, you will still want to quickly verify your HDMI audio out is working before any further mucking about in the operating system environment. In Ubuntu 14.04, this is done quite simply from the menu bar.
Click the sound icon in the upper-right corner, then in the context menu that appears, click on “Sound Settings”
In the Sound Settings dialog box, verify that your sound card is activated and click the “Test Sound” button.
Click the test button for each channel and verify the output.
Other derivatives of Ubuntu (particularly the lightweight Lubuntu) do not have the robust GUI that Ubuntu features. In these cases, a little terminal jiggery-pokery will be necessary.
Verify the HDMI audio output with this terminal command:
What HTPC setup would be complete without a remote control to command your rig from across the room? For the VCR, I chose the SIIG Vista MCE Remote for its compatibility and range of functions. It also happened to be reasonably-priced at Micro Center when I bought it.
To get started, plug in your IR receiver USB dongle and install LIRC from the terminal:
sudo apt-get install lirc
During installation, you will be presented with a dialog asking you to select the specific remote control you have.
For the SIIG Vista MCE remote, choose “Windows Media Center Transceivers/Remotes (all)”
Then, choose your brand of IR blaster (if applicable). In this example, I do not have one installed, so I chose “None”.
Allow the installation to finish, then install LIRC X Utilities from the terminal with the following command:
sudo apt-get install lirc-x
Test your remote’s communication with the irw terminal command.
Point the remote at the receiver and press a few buttons, you should get some coded output on the screen. If so, congratulations! Press C to quit IRW.
If there is no output, verify that the dongle is working (there’s usually a red light that accompanies keypresses) and that the correct remote was selected in setup. You may need to reboot for the computer to recognise the new hardware.
To maintain a level of authenticity, the VCR required an external display like the one originally installed to show status, function, channel number, etc. I opted to replace the original 7-segment display module with a USB-powered LCD to put a modern spin on the old look. There aren’t many display modules available, so I did a little research to make sure that the nMedia PRO-LCD would be compatible with Linux drivers. Fortunately, it is, but it took much cursing and gnashing of teeth to get it working.
First, make sure that the USB cord and power supply are plugged in.
Power-on the computer, and the display should show a test pattern with the words “MCE Indicator TM for Media Center” dancing around. Now, it’s time to install drivers!
From the terminal, execute the following:
sudo apt-get install LCDproc
Once LCDproc is installed, configure the daemon by editing /etc/LCDd.conf in Nano or another text editor. Change the following settings to the appropriate values:
Reboot, and your LCD is ready for input! Or is it output?
RetroArch may be the single greatest contribution to classic gaming emulation since the dawn of Nesticle: a multi-console emulator frontend spanning the history of videogames from the Atari 2600 through Playstation eras. Libretro is the companion to RetroArch that contains all the emulator cores.
Installing RetroArch and Libretro in Windows or OSX is a fairly simple process of downloading the RA binary and the Libretro cores, but in Linux, it takes a little more effort.
First, add the Hunter Kaller repository to Ubuntu and update:
If you’re going to play games using RetroArch, you’re going to need a proper controller. There are a variety of wired, “classic-style” controllers out there that can offer you a variety of retro experiences, but they all need a driver to work. Fortunately, the Ubuntu repositories have you covered!
First, install the Joystick input driver package:
sudo apt-get install joystick
Next, install the Joystick Configuration package:
sudo apt-get install jstest-gtk
Now you can use jstest-gtk to configure your settings and calibrate the controller. Everything else is ready to go!
Linux is great for many applications, but the plugins that drive streaming services like Netflix and Hulu are closed-source and the developers have little to no interest in supporting a “fringe” operating system. Thankfully, the fine folks at Google saw the wisdom in giving back to the community that helped build them by building Netflix and Hulu support into the Google Chrome browser.
Install Google Chrome by downloading the appropriate package from the Chrome website and you’re ready to go!