Future direction of x86 builds

Nick Lowe nick.lowe at gmail.com
Sun May 10 03:06:25 PDT 2026


Hi all,

I've also been looking at the current x86-32 target situation in
OpenWrt and I also think there is likely an opportunity to simplify it
while also making the compatibility expectations clearer.

Right now OpenWRT effectively has a mixture of legacy compatibility
assumptions, historical target distinctions, and package/kernel
baselines that don't entirely line up with one another anymore.

I do think the compatibility floor for prebuilts could probably move
upward in a more explicit and rational way.

My current thinking is that the existing targets could potentially be
consolidated into two clearer baselines:

Proposed Targets

1) x86/i686
Baseline 32-bit compatibility target.

Suggested compiler baseline:
-march=i686

Intended hardware:

AMD Geode LX (ALIX, net5501, etc)
Pentium M
early Atom
non-SSE2 i686-class embedded x86
later VIA C3/C7 systems

The goal here would be: broad practical compatibility, no SSE2
requirement, and a sane lower bound for 32-bit prebuilts.

Historically, the main concern around Geode LX appears to have been
problematic instruction emission such as NOPL, not broad
incompatibility with i686 itself.

(I'm hoping-and-trying to source a PC Engines ALIX 2D3 specifically to
validate this on real hardware rather than relying on assumptions.)

---

2) x86/i686-sse2

Optimised modern 32-bit target.

Suggested compiler baseline:

-march=i686 -msse2 -mfpmath=sse

Intended hardware:

Pentium 4
newer Atom systems
SSE2-capable VIA systems
essentially all later 32-bit x86 hardware still likely to be deployed
meaningfully

This feels conceptually cleaner than using pentium4, since the real
distinction is the SSE2 requirement rather than NetBurst-specific
tuning.

---

This would intentionally move prebuilts above:

i486 systems
Pentium/i586 systems
Geode GX/GX1/GX2/SC1100-era hardware
PC Engines WRAP
older Soekris net45xx/net48xx

Those systems could still be supported via source builds or downstream
maintenance if users care enough to build, use and maintain them etc.

---

The current structure feels historical...

I suspect there are very few people still using or testing:

WRAP-class systems,
Geode GX hardware,
other true i586-era embedded x86

At the same time, Geode LX is interesting because it sits right on the
edge, old enough to expose questionable compiler assumptions, but
modern enough that it may still function perfectly well under a
generic i686 baseline.

I'd suggest we validate that empirically on real hardware than
continue carrying historical distinctions indefinitely because they've
always existed.

If Geode LX turns out to work reliably under a sane i686 baseline,
then I think there is a strong argument that this becomes the
practical lower bound for x86-32 prebuilts going forward.

Best,

Nick Lowe



More information about the openwrt-devel mailing list