This is an old revision of the document!
A HTPC is a home theater PC, ideally some good computer you'll want to either use as a gaming console, or as a TV, that you plug on your living room TV with a remote control.
This is my experience in building the perfect one and finding the right components.
Depends a lot on what you want. For the best experience and the best compatibility, a good x86 computer less than 10 years old, 8 GB RAM and decent integrated graphics will do what you want. A Raspberry Pi 4 can do the job as well, unless you want to run Steam directly, although it can run Steam Link.
Some glibc-based Linux OS like Arch Linux or Debian will do the job. Avoid Alpine, unless you like to mess around with Flatpak or some glibc compatibility layer, mostly because of Widevine and other proprietary software dynamically linked with glibc that won't work with musl.
One of those keyboard/mouse combos in a remote control form factor will do the job, along with a game controller like a Xbox 360-type controller.
A 10-foot user interface is a user interface designed for people with a game controller or a remote control sitting on their couch, rather than sitting on a desk chair with a much smaller screen sitting around 18 inches from their face, with a keyboard ans mouse.
Arguably the best one I found is Steam Big Picture (aka SteamOS), but you may need a good Nvidia card with the proper drivers – it doesn't work with every setup and will need some hacks to get it working correctly anywhere else. Other than that, probably hands down the best one here.
Another nice launcher is Plasma Bigscreen from KDE, unfortunately the devs prioritizes ARM devices and so may fail to work correctly other than on their setup based on Manjaro ARM. Probably good on a Raspberry Pi.
Android TV is another nice one. Either you can run a variant of Android TV directly on a Raspberry Pi or a device made expressly for it (OUYA, anyone?), or you can use Waydroid, which from experience is a massive pain to configure correctly without crashing on boot. Also, some apps may complain you're on a rooted device, and you'll probably be stuck with some old version of Android.
Finally, EmulationStation also works, aimed for emulation and launching ROMs inside RetroArch, but can be used for launching about anything else.
All of these can be launched directly with SDDM or similar, or also from another launcher, but in any case, it's also recommended to keep a standard desktop like KDE around, just in case. Not unlike the Steam Deck, it may work best if you configure KDE to autostart Gamescope with Steam in SteamOS mode rather than using SDDM to launch it directly with no desktop environment running in the background.