OpenWRT on Apple M series

I am currently looking for a device capable of handling Wireguard at 10 Gbit/s.
According to these benchmarks, the Apple M3 Pro is one of the fastest CPUs for such purpose.
Now new M4 has been released (i.e. on Mac Mini), so it would be great to be able to natively install OpenWRT on such device, without using any virtualization.

1 Like

You can use native fedora which can do all the same things OpenWRT can do while still driving the desktop htpc

Perhaps it lacks of OpenWRT kernel optimizations and moreover I need OpenWRT config layout

Well, ball is yours, you can rig fedora boot to load other kernel.

Stick with the Native MacOS - it's actually quite good, and I've routed 10gb NAT traffic via Thunderbolt...

Take a close look at the 2018 MacMini's - They're all TB3 which supports more than enough bandwidth across ports.

MacOS actually has a lot of goodies under the GUI hood that makes things useful - part of that is FreeBSD on the commandline, and NextStep one layer up...

2 Likes

It's a realistic target to get this hardware supported (while questionable if it's sensible at this point, considering the pricing relative to bog standard x86_64, which can do the same), but it would require a lot of development from those who own this hardware and a lot of time. Apple ARM Silicon is still rather exotic hardware, with early and basic linux support (Fedora/ Asahi are actively pursuing this, but it's far from finished), so expect quite some hurdles ahead. I don't expect that many users to share your enthusiasm for this, so the development will likely be mostly yours for quite some time to come.

1 Like

M4 isn’t the only arch that can do this.

Modern Ryzen or 12th gen Intel will be able to route 10gig and can run internal pcie nics - which will be the first choke point.

1 Like

Yeah - it would be a bit of a science project and there's still a lot of work to be done - thunderbolt support is not fully fleshed out, and to run more than a single 10gb interface, you'll need thunderbolt to do it.

While that is certainly true, there are much more fundamental things to cover first, like basic support for the Apple hardware, figuring out the UEFI integration and image creation. It's all possible, but requires new development, as well as closely tracking what's happening upstream - on quite pricey hardware, that's typically used differently with a more GUI'y approach.

What typically helps getting a device supported, is:

  • global availability
    this is given here, although Apple hardware is more wide spread in North America.
    by "wide spread" I don't mean black XOR white availability, just how wide spread their actual use is beyond hipster, designer, architect or musician circles. In North America, you may encounter them (e.g.) in urban elementary schools as commodity devices, in Europe you typically won't (in favour of Windows/ x86) - and I guess most of the other international markets will be similar. Same story as with iOS vs Android, Apple's market share isn't as big outside the US - they are still common, but the vast majority of users is not locked into their ecosystem
  • tempting hardware features
    I can only give a partial point for this. it's a decent desktop- and maybe even server system, but for OpenWrt usage, you are looking at adapter hell - USB, thunderbolt (with the early adopter issues you raised), lots of adapters and cable sticking into all directions. While not necessarily a problem (look at the RPi ecosystem for a similar problem), it doesn't make the concept more tempting - combined with more varied drivers (support-) issues.
  • pricing
    there is no hard and fast rule here, because most potential developers are waging usability/ performance compared to the total price, the result just needs to be convincing enough to make the experience worthwhile. What this means obviously varies a lot from person to person…
    …but in general, Apple's markup is already quite significant compared to whitebox x86_64 hardware - and for this particular use case, it's even worse, as you lose almost all of its unique selling points, while still paying through the nose for them (even more if you're building upon thunderbolt).
    Very personally, I could be easily tempted- and roped into development efforts to make this hardware working on desktop linux (be it as a desktop with a GUI (KDE, GNOME, LXqt, Cinnamon, XFCE, …), a server, an ARM64 virtualization host, a development- or buildbox for ARM64 - all things that could (and do-) tempt me, if the price tag wouldn't be in the way (hard-pass there). But I wouldn't waste this kind of hardware on a headless router, with overpriced adapters dangling from it into all directions to add wired networking cards (wireless is not an option here), at least not yet (even the entry level devices of the first generation are still useful in desktop usage, while even on the second hand markets selling for >500 EUR) - that may change in the future, if these get cheap and 'disposable' (~no longer useful for their primary usage scenarios). That point may be somewhat in sight for Apple's old x86_64 hardware, but IMHO not yet for their ARM64 stuff.
    Just from a functionality point of view, I do expect a bog standard SFF system from one of the big four manufacturers (Dell, Fujitsu, HP, Lenovo, …) with a dual-port 10GBASE-T card to cope with this use case, that would be ~50 EUR for the used system (I'm pretty confident 6th generation entry level core i5 would already be capable enough) and ~15 EUR for an X540-T2 PCIe 10GBASE-T card. While that might not be the perfect long term setup (idle power usage of the SFF systems vary quite a bit between vendors, these Intel cards are often from shady source (bordering fake)), but you can buy a many kilowatts for the 400 EUR price delta… And a little more attention on the initial hardware selection (picking a low power model, maybe even alderlake-n, more reliable -newer- (lower idle power) ethernet cards) can also improve the system. Nice system, no adapters dangling from it, not too large, reasonable power consumption, 80-250 EUR total…

Don't get me wrong, if you are aware of the above and still want to play this game, I for one would really encourage that - all the more power to you (just don't expect many others to feel the same).

Keep in mind, I'm not the OP

You make some great points - I think the challenge with Apple Silicon, and I would go even towards Qualcomm's ARM laptops, is lack of documentation that is sufficient for a dev to just jump in without an NDA - and of course, Apple isn't going to share things to the level of supporting a non-Apple OS on their silicon...

Apple does have an interesting virtualization layer, but this brings in problems that would be a challenge for a platform like OpenWRT with access to interfaces, and bits moving in and out...

As others have mentioned - AMD64 is a good place to be, the hardware is very much available around the world, and a huge amount of SW support for the hardware...

Mac's are really nice, mostly due to MacOS, but I'm thinking that OpenWRT is not the best use of that hardware compared to alternatives..

Totally aware of that, while I responded to your (very valid) remarks, it was more meant as a general response to the topic, not only your post.

Those would be even worse at this point, as they're newer designs and have more variations between the different vendors, meaning Linux support is even further away. Apple, by the virtue of being first to ship 'decent' ARM hardware and by being a single vendor (compared to a handful, each with their different hardware, different drivers, etc.), has a significant head start here. While you still have to jump through hoops there Asahi and Fedora have been very motivated to get it working, it's a work in progress - and M2/ M3/ M4 are building upon prior developments than went into supporting the M1 on Linux. I wouldn't be too confident for this to happen for these Qualcomm ARM notebooks, it will take a while for them to attract the 'thunder' - and probably multiple hardware generations for a common hardware approach (between vendors!) to emerge. This first generation (yes, I'm aware that there were prior -failed- attempts of Windows on ARM) is not that likely to become supported by Linux - and I guess its users would have quite a problem if they have to reinstall Windows for some reason already (drivers, drivers, drivers).

Agree and concur...

There are reference ARM cores that are close to Apple and Qualcomm - Cortex-X925 seems close... Mediatek Dimensity 9400 - and rather capable for a smartphone chip - I could see that trickle down into comms processor space, much like a bigger Filoigc series SoC...