N100 mini PCs are where it's at these days anyways. Unless you need the GPIO pins or are running some weird niche configuration, you're better off grabbing any N100, they're cheaper too.
GPIOs are the easy bit. You can get those no issue on x86.
It's I2C and SPI that are the issue with x86. You can get the buses sure, but all the device drivers are Device Tree based. You can't just throw in Device Tree overlays on x86.
Idk, with I2C if it's not something that needs a kernel level driver, there usually isn't a problem with interacting with it from user space, for example basically all RAM RGB controllers are I2C and OpenRGB has no problem with them. I'm pretty sure I've only ever used an I2C device tree overlay for an RTC.
Also I2C/SMBus is present everywhere on x86, like some graphics cards expose it through their HDMI ports, even some server motherboards have a header for it; but for GPIO I'm unaware of any motherboards that expose it, so good luck researching the chipset and tracing out the pins.
Only a fraction of it is RTCs. What is in the Pi overlays folder is from everything. Not even all the DT I2C RTCs. There is loads of ADCs, DACs, IO extenders, all sorts.
It's really annoying you can't do DT on x86 Linux. It's a bit of a gap in the platform. It would make Linux ARM based developer's lives easier.
These should all work without kernel drivers. For example, here's a user space python library for ADS1*15 ADCs, or Nuvoton MS51 IO Expanders. Unless you need very specific timing or require the kernel to know about it, you shouldn't need a kernel driver.
You can of course write drivers for them, but then it's you own abstraction not the standard Linux abstraction. (You can hack something up with IIO for that stuff, but it's not pretty). There is CUSE (part of FUSE) you can do some character devices with.
Existing drivers in Python are messy to use if you our not developer in Python.
The nice thing about in kernel is:
it's done for you already
the interface is standard and will work with anything that uses that class of device
it's langauge agnostic.
The Linux kernel does hardware abstraction. It's not a microkernel. There is limited support for proper userspace drivers.
If you doing some application specific app, that will only work with those chips, use do it in userspace. But to make a normal system for normal use, you want things in kernel like normal.
N100 is a standard Intel x86 family chip, so no. Plenty of power though, so you'd be able to install any Linux distro or even Windows if you wanted to disgust Lemmy.
Can you swap the hard drive between any generation and still have it boot and work 100%? To me that was the second biggest feature after all the gpio and i2c buses I used to hack all manner of stuff together. Heck I even have a cargo trailer powered by a pi!