Hacker News new | ask | show | jobs
by tech5000 2040 days ago
> I've been waiting for an ARM laptop that can run Linux for a long time.

I wonder if the Pinebook Pro would suit some Linux laptop use cases? Its an ARM laptop for $200, no fan, that ships with Manjaro Linux installed.

3 comments

As someone happily tinkering on a Pinephone, I just don't think the RK3399 is going to satiate Linus's hunger for performance. I think there's some implied subtext "that is actually fast enough for my needs".

He's currently running a 32 core Ryzen desktop CPU, an upgrade he consciously chose over a lesser chip for its improved build speeds. He's also lamented poor screen quality and resolutions before, and I imagine the PBP's would not impress him.

The Air is notable because its processor can run build jobs (like compiling the Linux kernel) in stellar times. While the RK3399 has dual A72s and should be ... better than, say, the pinephone, I'd imagine it's closer to 2010~ish core 2 duos in performance.

The issue is that you really start feel the performance limitations of a cheap ARM SoC. Especially if you do a bunch of C compiling like Torvalds would.
C compiles in a flash on today's hardware. It's only when you have a BIG C codebase (the kernel counts as big), or a medium-sized C++ codebase, that things slow down.
C++ code that uses templates heavily is painful to compile, using 6 GiB of RAM is possible even for a "make -j1" build. It's kind of funny that a VPS with little RAM can build a full Linux kernel with all the modules and drivers, yet cannot build a small webserver. For big projects, the final linking process also eats enormous amount of RAM, it's possible for a small system to survive all the build and gets killed during the final linking.
One could just cross-compile remotely?
Sometimes, it's just valuable to have a local environment so you can use develop and test conveniently "at home" while using the same computer. It's why there are ARM workstations.

For example, Linus Torvalds said [0],

> Some people think that "the cloud" means that the instruction set doesn't matter. Develop at home, deploy in the cloud.

> That's bullshit. If you develop on x86, then you're going to want to deploy on x86, because you'll be able to run what you test "at home" (and by "at home" I don't mean literally in your home, but in your work environment).

> Which means that you'll happily pay a bit more for x86 cloud hosting, simply because it matches what you can test on your own local setup, and the errors you get will translate better.

> This is true even if what you mostly do is something ostensibly cross-platform like just run perl scripts or whatever. Simply because you'll want to have as similar an environment as possible,

> Which in turn means that cloud providers will end up making more money from their x86 side, which means that they'll prioritize it, and any ARM offerings will be secondary and probably relegated to the mindless dregs (maybe front-end, maybe just static html, that kind of stuff).

> Guys, do you really not understand why x86 took over the server market?

> It wasn't just all price. It was literally this "develop at home" issue. Thousands of small companies ended up having random small internal workloads where it was easy to just get a random whitebox PC and run some silly small thing on it yourself. Then as the workload expanded, it became a "real server". And then once that thing expanded, suddenly it made a whole lot of sense to let somebody else manage the hardware and hosting, and the cloud took over.

> Do you really not understand? This isn't rocket science. This isn't some made up story. This is literally what happened, and what killed all the RISC vendors, and made x86 be the undisputed king of the hill of servers, to the point where everybody else is just a rounding error. Something that sounded entirely fictional a couple of decades ago.

> Without a development platform, ARM in the server space is never going to make it.

And,

> And the only way that changes is if you end up saying "look, you can deploy more cheaply on an ARM box, and here's the development box you can do your work on".

> Actual hardware for developers is hugely important. I seriously claim that this is why the PC took over, and why everything else died.

> So you can pooh-pooh it all you want, and say "just cross-build", but as long as you do that, you're going to be a tiny minority, and you don't see the big picture, and you're ignoring actual real history.

> And btw, calling this an "unixoid" mindset is just showing what a total disconnect to reality you have, and how stupid your argument is. Unix lost. Yes, it lives on in the shape of Linux, but Unix lost not just to Linux, but to Windows. In fact, arguably it lost to windows first.

> Why? Same exact reason, just on the software side. In both cases. Where did you find developers? You found them on Windows and on Linux, because that's what developers had access to. When those workloads grew up to be "real" workloads, they continued to be run on Windows and Linux, they weren't moved over to Unix platforms even if that would have been fairly easy in the Linux case. No, that was just unnecessary and pointless work. Just continue to deploy on the same platform.

> Exact same issue on the software side as with the hardware. Cross-development is pointless and stupid when the alternative is to just develop and deploy on the same platform. Yes, you can do it, but you generally would like to avoid it if at all possible.

> End result: cross-development is mainly done for platforms that are so weak as to make it pointless to develop on them. Nobody does native development in the embedded space. But whenever the target is powerful enough to support native development, there's a huge pressure to do it that way, because the cross-development model is so relatively painful.

[0] https://www.realworldtech.com/forum/?threadid=183440&curpost...

same niche as old thinkpads maybe?