I used to be one of those people running a rpi home server. I have a long history with running rpi, and I learned some things along the way:

  1. The disasterous effects of undervoltage on attached harddrives (goodbye data integrity, hello fsck on boot)
  2. The difficulty of running an OS from an SDcard (system upgrades take as long to write to disk as they do to download the packages)
  3. The oddities of not having a proper system clock when starting up (tls certs are “not yet valid” because we’re now 5 years into the past)
  4. The permanent contest between GPU and CPU memory allocation when you want to run something GPU intensive

After talking with a friend about my next rpi-related purchase, they commented that I should just get a laptop. I obviously said that this is not the same, and they said “yeah, it’s better”. Their point was that for approximately the same amount of money I invest in my rpi setup, I can get a refurbished T470 off the internet and run whatever I want on it. I agreed to try.
It’s been almost 2 years since that conversation, and I admit I was wrong, and a decent refurbished laptop is a great platform for a home server.
Here are some reasons why I now think laptops are superior to rpis:

  1. Trivially-stacking form factor
  2. Standard power requirements - they might not run on phone chargers, but they’re at very little risk of underdelivering current to their internal components / peripherals
  3. Real clock and battery to surive outages and restarts
  4. x86 cpu means that you’re not running into some edge cases where packages are not compiled properly / not available for ARM
  5. Multiple peripheral ports
  6. (relatively) beefy Bluetooth and Wifi stacks
  7. Embedded KVM if needed, hidden neatly away if not
  8. Proper internal hdd / ssd
  9. Active ventilation. At the very least, you’ll hear when it’s overheating

There are some drawbacks, obviously:

  1. Bigger, although for a single server this is not a biggie, there’s room for it
  2. Requires a PSU brick, although it usually comes with one
  3. Much less cool and DIY-ish, although at some point you’re having enough of custom-writing udev rules and just want things to work
  4. No native support for HDMI-CEC (controlling the laptop via the TV’s remote)

Nowdays, whenever I’m asked to “stick a rpi behind a tv” to create a “smart tv” anywhere, be it at friends’ homes or companies’ expos, I’m asking for an old (but still decent) laptop and using that instead of a tiny ARM munchkin.

Tags: ,

Updated: