A small computer standing on a TV bench next to a pair of game controllers and a speaker. 🅭

Why you need a HTPC

I haven’t watched linear TV for years. I usually know what I want to watch and the times I want to watch it. In other words, I’m a cable-cutter or an on-demand streamer as I prefer to think of it.

The Android TV interface on my “smart TV” is not for me. It’s clunky, unresponsive and slow, and switching between streams/apps is frustratingly difficult. Plus, why does it take so long to load? Why is every stream interrupted by buffering? I’m always surprised by where the back button takes me. For years, I used a Chromecast controlled by mobile apps instead.

However, I wanted a better and less frustrating viewing experience. The website versions of my favorite streaming services are universally better than the native mobile apps and their Chromecast integration. I also really wanted better audio loudness normalization than what’s available in the limited audio processing options on my TV and audio/video receiver. I wanted a home theater PC (HTPC).

A small form-factor HTPC capable of high-dynamic-range (HDR) 4 K playback at 60 Hz costs roughly 350 USD. You need a barebone PC (a PC chassis with a mainboard and power supply), plus at least 6 GB of RAM and a compatible processor with integrated graphics. You also need a small boot disk for the operating system, or a larger disk if you intend to store media on it.

You can find many examples of HTPC builds on the web, or you can purchase a prebuilt setup. Prebuilt tend to cost the same as do-it-yourself builds, but you get slightly older components with lower specs. The one thing to look out for when choosing an HTPC is that the integrated graphics on the processor performs well at the resolution and frame rate your TV supports (look for “4K@60Hz” and CPU reviews).

Before discussing what you get for your money with an HTPC, I need to talk about HDMI dongles as the competitor to an HTPC. For example, the Google Chromecast Ultra (branded as “Chromecast with Google TV” in the US) costs about 55 USD. It says on the box it can support video playback for 4 K at 60 Hz. So, why do you need a 350 USD computer for 4 K?

HDMI dongles like the Google Chromecast only support playback of a limited set of media codecs with specific encoding profiles/parameters. They’re not general computing devices, and their hardware is instead optimized to a few specific tasks. E.g. the Chromecast might be fine if all you watch is YouTube and Netflix. However, you may run into trouble if you watch your own movie collection or use other streaming services.

Another dirty little secret of the cheap HDMI dongles is that they’re passively cooled (fanless). Quiet is good, but they also generate a lot of heat and will thermally throttle (especially when watching high-resolution videos) unless they’re operated in a climate-controlled room. So, you’ll get smooth playback in the beginning until it eventually either begins to stutter or drops the stream quality.

You might wonder why there isn’t anything in the sweet spot between the 55 USD Chromecast and a 350+ USD HTPC. It’s a fairly big price bump, and there should be room in the market for something slightly more optimized for the purpose. However, there doesn’t seem to be enough demand in the consumer market for a cheaper and more capable device with a more task-oriented integrated CPU. The closest you can get is integrated display computers that are intended for billboards and other advertising displays. However, they’re hard to get hold of without buying a complete unit including the display.

Switching to a generalized computer platform like an HTPC offers higher performance and active (but still quiet) cooling. It’s much more flexible and customizable, and capable of handling a much more varied set of media sources. You’re not limited to only e.g. Chromecast or AirPlay-compatible apps and media sources; any video file, website, or streaming platform will do.

A Windows license costs 150 USD, so you’ll either add that on top of the 350 USD for the HTPC or discover a newfound passion for running a free operating system like Linux. If you decide to use Windows, you may change your mind after the first time a movie gets interrupted by Windows Update. You can always change your mind later if you don’t like the operating system or Linux variant you chose. My preferred interface to my HTPC is a full-screen web browser

An HTPC is all about choices; your choices. You don’t need to settle for the compromises made by your TV or HDMI dongle manufacturer. You get to pick and choose the software and build your own experience. Change your mind about a decision later on? Change it. You can change the software and how you control it.

Let us start with how you want to interact with your HTPC. Popular options include a wireless touchpad/keyboard combo, multimedia remote controller, gamepad, your voice, or a phone app. Try a few and pick one or two that work for you. You’re not stuck with any one option.

I use a Logitech K400 Plus keyboard/touchpad combo, although I’m considering upgrading to the newer, slightly more compact, and backlit Logitech K830. You're not stuck with the software and interface the device manufacturer chose for you.

An HTPC is also a good device for living room gaming. You probably can’t play triple-A games locally off the hardware on a budget HTPC. However, you can stream games from your gaming PC through Steam Link or Miracast (Wi-Fi Direct). You can also pair it with a gamepad and an internet streaming service like PlayStation Now, Google Stadia, or Xbox Cloud Gaming.

You can find apps for turning your HTPC to an Apple AirPlay, Google Chromecast, and Miracast receiver. I was concerned about supporting these protocols, but I haven’t needed them since I got my HTPC. I may have overestimated how important these were to me, but the options are out there.

Microsoft discontinued its Windows Media Center (MWMC) and Apple stopped supporting Front Frow over a decade ago. However, you don’t need a dedicated media center front end anymore anyway. Who needs a smart-TV-like interface when you’ve got a web browser?

Your web browser of choice is excellent at video playback and game streaming services. Switching between apps is as easy as switching tabs. You may be thinking that the browser user interface and websites will be too small to use across the room. However, you can increase UI scaling in the operating system to make everything nice and big. You can make buttons and text as big or as small as you need to read it comfortably across the room.

You can use any browser, but I recommend Firefox in fullscreen mode. Firefox lets you add shortcuts on the Home tab to all your favorites including YouTube, Netflix, Google Stadia, Twitch, — you name it. Press Ctrl and + a couple of times and it turns Firefox’s grid of small shortcut icons into nice big buttons that are easy to recognize and click from across the room. Its picture-in-picture mode works with most video streaming services, so you can keep an eye on two or more streams at once.

Browser extensions let you further enhance your viewing experience. For example, Auto Fullscreen puts Firefox in fullscreen mode on startup. YouTube Auto-skipper skips ads as soon as the option is available. This reduces how much ads you see without blocking them entirely, so you still support your favorite creators. Utrawidify can detect and hide improperly encoded letterboxing (black bars burned into videos that don’t match your display’s aspect ratio). You can find extensions for locking in your preferred video quality, changing subtitle styles and text size, setting the playback speed, and more.

The killer HTPC feature for me is that I get proper audio processing including loudness normalization. Most receivers and TVs will have some kind of limited loudness normalization available. However, I want to aggressively boost speaking voices and reduce explosions and loud noises. I’m more concerned about good loudness normalization than whatever the movie or TV show’s audio mixer thinks sounds cool.

I use EasyEffects (formerly called PulseEffects), a free audio processor app for Linux. It has many plugins for different audio manipulations and an overwhelming amount of options. It’s probably overkill, but it gets the job done. There are a dozen paid alternatives available for Windows too.

An HTPC is also a good option if you’ve got a collection of home movies, or ripped TV shows and movies. Media server software like Jellyfin, Plex, or Emby manages your media collection. All three need a server component that can run under either Linux or Windows, and you can install it on either your HTPC or a network-attached storage server (NAS). (You may want to consider a larger form-factor HTPC if you’ve got a large media collection.)

As has been the theme throughout the article, you’ve got multiple options for playing back media from your media server software. Jellyfin and Plex come with a good built-in web interface, and has both first- and third-party app interfaces you can choose from.

To help justify the cost to myself, I also set up the HTPC to act as a backup home Domain Name System (DNS) server and as a distributed compiler to help speed up my project build times. So, I get more value out of it throughout the day even when I’m not watching TV.

You can do a lot of things with an HTPC, and more importantly, you can tweak and customize your experience of those things. You’re not limited to whatever design, experience, and feature set that the device manufacturer or a big tech company deemed to be a minimal viable product to get your patronage. If you change your mind, you’ll at worst have an extra-expensive but performant Chromecast receiver that supports proper loudness normalization.

I hope I have piqued your interest in an HTPC for your TV. Or maybe you’ve been discouraged from getting a TV. Watching on a laptop with a good screen and audio is in many ways preferable to a bad consumer TV experience.