Getting Away from Intel/x86

One of my hobby projects lately has been trying to move away from Intel/x86 as much as possible for personal use.

I’m less than happy with Intel lately, as their microarchitecture leaks, badly, if you look at it wrong. They can’t reason about their chips anymore, which is concerning (and probably another topic). The alternatives are getting better, so may as well experiment with them.

I’ve been pushing the bounds of Raspberry Pi desktop use for a while, starting back with the Pi3B and 3B+.

https://syonyk.blogspot.com/2018/09/project-pi3bdesk-making-even-better.html

Lately, though, if you can get over the somewhat slow graphics performance, the Raspberry Pi 4 8GB is just… easy mode. Toss the OS on a USB SSD, and you’ve got a legit desktop for most use cases.

Maybe toss the CPU governor over to “performance” and keep the clocks ramped up (I clock my Pi4 at 2GHz with an extra 100mV, in a good heatsink case), but it just… works.

I’ve also been experimenting heavily with a PineBook Pro. This is a little $200 ARM laptop, and other than the software ecosystem being a mess, it’s actually a usable little laptop - though there’s still a lot of rough edges, kernel hacking, etc. The lack of a centralized group managing software does make it a bit harder to deal with than other solutions, but it’s a good step forward in portable ARM hardware.

Unfortunately, I’ve not yet figured out a good solution to x86, at least, for servers. One can host small things on a Pi, but if one want a good bit of disk, and good IO, there’s no alternative to x86 yet for home users.

The software ecosystem for ARM varies wildly. A lot of stuff works, and some surprising stuff doesn’t (Node/Electron stuff is likely to fail for various reasons).

Anyone else working in this direction/interested in moving this direction?

AMD is executing pretty well, so unless it’s a core issue with the idea of out of order instructions, no real reason to switch away from x86. That said, even ARM stuff uses out of order execution these days, so unless you use the older, slower, cores… but then again you can always just go back to atom for that too.

AMD has been executing well, and I’m strongly considering switching my home server over to them.

The newer Atom chips are out of order now - Tremont, at least, and I think the last few generations are also.

But there’s no point in spending a ton of money on an expensive computer if one can accomplish the same goals for far less money. I’ve got a Raspberry Pi 4 set up as a desktop in my office, and it does just about everything I want to do.

@Syonyk What do you have in mind here? I assume having too many PineBook Pros to keep patched isn’t what you have in mind.

That wasn’t clear - sorry. For Raspberry Pis, the Raspberry Pi foundation has their group, including some software developers, who handle things like the kernel modules, the reference OS, etc.

Pine64… really doesn’t. They seem to build the hardware and somewhat toss it over the fence, and tell the community to work it out. Right now, someone with Manjaro is handling the various kernel patches for hardware acceleration and such, but other things are a “Well, uh… go submit your patches to the mainline kernel…” sort of response.

There’s no group that really maintains it, and there are 4 or 5 different binary versions of the boot firmware (some that support deep sleep, some that support USB/NVMe boot, some that are pure mainline, etc). It’s just a challenging time figuring out what’s what - and I know more about that space than an awful lot of people.

That’s pretty true. Though for daily use, most people can just use a chromebook, and a rpi as a unix machine isn’t horrible.

The biggest reason why I stopped running so many things on my own is that keeping stuff updated is a pain.

I’ve certainly been making good use of random little ARM boxes. Pi4 in my office, PineBook Pro for a laptop.

Though there’s something to be said for ChromeOS. I’ve got an older Chromebook, I might consider replacing it with an ARM one, just for fun.

As much as I’m trying to use ARM, there is something nice about x86 platforms.

Stuff just works.

On ARM, things break in weird ways, annoyingly regularly.

I’m really looking forward to Apple releasing their hardware, but I’m still not sure I’m going to actually upgrade to it any time soon. I’m past the era of needing expensive client machines.

This is largely a result of the clusterfuck that is Linux in general, IMO. Linux is bizarrely complex in many ways and not all of them make porting easy. Plus Linux on ARM gets very little love comparatively speaking, the yocto project is about it in terms of manufacturer support for that (that’s a roll-your-own-distro toolkit, not a distro in and of itself, that incorporates some patching and other things too).

I’d say the time is right for a competitive unix-ish clone to pop up that’s not Linux, or a super-slimmed version of Linux to be ported, but that’s probably not very likely given today’s economic environment.

This… did not age well. My ARM Mac Mini should be here end of week.

Mostly due to the low power consumption and my office’s winter requirements. I can leave it on and not burn down the battery bank overnight like higher power systems. I could potentially even host some VMs from it, but I think I’d do that on the house connection after I upgrade the server away from Intel.

I would love some sort of midrange ARM server board (“desktop chip” sort of server), but I don’t think they exist yet, and I do, sadly, still have some use cases for x86 VMs (de-DRM’ing Adobe epub stuff is a common use, as is Zoom, since I won’t let it run native on any hardware).

I’ve also found some guts to swap out my house server guts with AMD hardware. I still need x86 there for a variety of reasons, at least for now.

Soon enough, I’ll be down to the NUC in my office for personal Intel hardware, and I expect the Mac Mini with its power sipping ways will take over an awful lot of that use.

Hopefully this doesn’t derail the topic too much, I’ve got LOTS of hardware that could be home servers. Old X86, both AMD and Intel, and so many raspberry pis of 1, 2 and 3, and a at least one of the knockoff fruit-that-isn’t-a-raspberry pi. At some point I realized I was just succumbing to the Hype To Buy The Next New Thing. And while maybe Raspberry Pi N+1 is truly the best singleboard computer microcontroller platform, and theres a lot I COULD do with them I just don’t have a clue what would be in anyway worthwhile.
So I’m curious if its not too personal, what do you use home servers for?

I think this is worth a topic, honestly! “Useful applications of embedded and not-so-embedded computing around the home” or somesuch.

1 Like

I have given away a lot of Raspberry Pis. I swear they breed in my office.

In general, I’ve been trying to avoid keeping too much archaic computing around, though the pile of hardware I need to sell “at some point” would indicate I’m not doing a great job of it. I should do that this winter.

The main problem with older equipment is that it’s hugely power hungry compared to newer stuff that can accomplish the same goals - and while it might matter less for some people (with solar and a heating dominated climate), I try to avoid running power hungry pigs for light use. I’ve got an older dual Xeon board in my office that I’ll run some BOINC on, and it idles at something like 150W. It’s insanely power hungry, so I don’t have it running unless it’s loaded up. A modern system can perform the same work on far less power, but this one was free and I’ve got no shortage of power in my office for large parts of the year…

In my office, which is a far from normal environment (solar, battery bank, etc), I’ve been using Raspberry Pis because they’re low power, which makes leaving them on overnight a lot easier. IRC, chat, light web use, etc.

The “house server,” for me, handles a few things:

  • Plex (audo/video hosting, streaming doesn’t always work out here so we tend to cache content locally).
  • Some monitoring VMs for office solar (which, since it’s across the property link, serves as a bit of a sanity check on the property network too).
  • Random x86 VMs if I need to access them from ARM. I’ll point to Adobe DRM as something I regularly strip with an x86 VM, and UPS Worldship too.
  • Local caching of things like the Ubuntu repos - I regularly spin up and tear down VMs for projects, so being able to update and install packages locally saves me a lot of time.
  • In the past, a Minecraft server, but not having anything that can really play it anymore, that’s not running.

I’m looking to do a bit more self hosting on it in the future, even with a crap internet connection, but I need to experiment with this to find out how well it actually works with various caching systems upstream.