Linus Torvalds on the new MacBook Air(realworldtech.com) |
Linus Torvalds on the new MacBook Air(realworldtech.com) |
Imagine if these power brokers didn't exist and a whole generation of children grew up on Linux rather than Mac/PC. Huge opportunity cost for society in my opinion.
I myself didn't really consider how I could use code to speed up mundane tasks until I was forced to copy files over from an embedded Linux system over bash. The introduction from "open up a terminal, and type these commands in, which does these things" to "now just put those commands in a file called script.sh and type ./script.sh, and it will do the thing automatically" was eye-opening, at 22 years old. Looking back, it's the exact same problem that resulted in a company I used to work for doing 100s of GB of data processing in Excel, because writing Excel macros was more accessible than writing a bash script to append two .csv files.
I think a lot of kids would probably really be attracted to it as well. Linux gives you control over your computing environment, in a world where children rarely have any autonomy. I don't think every one of them needs to grow up to be a professional developer, but computer literacy seems like a hugely valuable skill.
I think it’s unfair hitting the Mac on this front though. Automator is an incredibly easy to use desktop automation tool, and of course you’ve got Bash, Ruby and Python right there just the same as on Linux. They have also invested heavily in work flow automation tooling for iOS.
To me, it really comes down to empowerment of others. If you are not taught how the world works from first principles (in this case the world of computing), then you are forever relegated to live in someone else's world and live within their paradigm of thinking. In this case, the only justification is market capture for these Enterprises, which hasn't materially advanced society and societal issues as far as I can tell.
I mean, Linux specifically isn't really necessary for this. Back in the early-mid 00s, OS X got me into terminal usage and "real" programming via its free (as in beer), full-octane bundled dev tools and included Ruby installation.
In fact, at the point that I got into these things with OS X, I had already tinkered with a Linux variant (Yellow Dog) and had given up before getting too far because I didn't have the knowhow to make the OS as a whole work properly, and worse, the internet resources needed to fill this knowledge gap didn't make themselves obvious.
I don’t understand this comment. What are you expecting Apple, Microsoft to do? They’re not charities, they make competing OS’s for profit. Why would anyone be waiting for them to bring Linux?
I believe this is both in line with free-market enterprise as well as core values such as individual liberty and property ownership. Anti-competitive and predatory practices should not be justified by people such as yourself under the guise of "competing for profit".
There’s nothing whatsoever preventing the FOSS community coming up with better solutions, if they are capable of doing so, and taking away their main competitors doesn’t seem like a good way to incentivise competitive improvement. In fact we’ve been told repeatedly and often by FOSS advocates that open will inevitably beat closed anyway.
On the back end yes this has come to pass, but mainly because big corporations like AT&T, Intel and IBM have invested hundreds of millions, probably billions in Linux. Microsoft and Apple have also invested hundreds of millions, probably billions at this point, in their desktop platforms. The independent hacker community just can’t come close to that level of disciplined, organised, focused investment of effort.
Linux on ARM is another case in point. It takes a big company with huge resources like Google to get it done in a coherent, usable way.
We need to stop thinking about companies like Apple, Google and Microsoft as obstacles. They aren’t stopping the FOSS community from doing anything. They’re just bringing their own contributions to the table. Take Apple out of the picture and OSX, iOS and M1 Macs wouldn’t exist and FOSS would be exactly where it is now anyway.
In a lot of cases it makes money and people prefer it, but that doesn't equate to being good or being good for society.
If they want to get into programming and computer science then absolutely. But for the 98% of other walks of life I would give them a Mac so that the OS part of their day disappears into the background.
It's a bit like saying that people who use Android phones use Linux. Sure, the kernel may be Linux, but they don't use the desktop Linux that everyone refers to when they use the word "Linux" (bar a few exceptions)
You mean Mac/Windows, I think? Because PC surely can run Linux.
> laptop if he wants one—for example, the Pinebook Pro. The
> unspoken part here is that he'd like a high-performance
> ARM based laptop, rather than a budget-friendly but
> extremely performance constrained design such as one finds
> in the Pinebook Pro, the Raspberry Pi, or a legion of
> other inexpensive gadgets.
I believe he currently uses an AMD threadripper setup - there would be nothing stopping him using something like the PineBook Pro as a "dumb terminal" and having his builds done off-machine. It would mean that he is dependent on an internet connection, but it wouldn't have to be a fast one as he would only need to send deltas to the build process. (This would be on top of other mechanisms like CI.)
The PineBook Pro has quite a reasonable keyboard, is quite light and gets decent battery. He could reasonably use it all day without issue. Re-flashing it can be as simple as throwing a new SD card into it, which could also help in terms of security whilst traveling (re-flash it when you get to your location).
I would very much tell him and other people to seriously consider such a machine.
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.
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.
I'd imagine there is a lot of power management stuff on there too.
ARM servers are similar to x86 machines in that they use UEFI and have enumerable buses for hardware discovery.
ARM SoCs use custom bootloaders, and lack enumerable buses. Hardware configurations are almost always unique between ARM SoCs, and each of those configurations need their own Linux port.
Here's an idea of just some of the work that is required to port Linux to each individual ARM SoC[1].
On the other hand, notable software on Linux are all FOSS. If there was sufficient demand there's nothing stopping someone from making a MacOS compatible release. And indeed, most FOSS developer tools do have MacOS binaries.
Drivers are a problem. Somehow doubt Apple is going to document those.
TL;DW (the essence and consequence of that thread): This is not going to happen unless Apple publishes documentation so that drivers can be developed.
ARM laptops are already here though, look at the Pinebook Pro and ARM Chromebooks that are out there. The new Surface Pro X at least has an EFI and the drivers are somewhat there instead of not at all. It would be an order or magnitude less work to get that running Linux properly instead of the M1.
My opinion: I'm not expecting to see usable Linux on M1 devices any time soon. Apple are nicer about this than they are usually however - they want to prove that their new platform can be taken seriously and do general purpose computing - it looks like they lightly hinted at cooperating with Microsoft about Windows on ARM (though it may just be deflection).
They are pretty certainly not going to develop any drivers for anyone else, but I think there's a (low) chance we'll see documentation that will allow others to do so.
> I don't have the time to tinker with it, or the inclination to fight companies that don't want to help.
I am confident smart heads could get Linux to boot in it, according to one comment someone already has.
But getting everything working and getting the best out of all parts of the M1 will take work. Esp. if Apple does not release detailed specs and drivers. (open source yeah right). Dynamically adjusting which cores to use high performance or energy saver for one.
I look forward to having a Linux compiler that knows how to make the best use of the 16 Neural Engine cores in conjunctions with the rest of the chip.
Of course, then you would need to get on the whole trouble of initializing video/T2/etc but it could be doable
It's a bit different from Intel based Macs though. It used to be you'd hold Option while booting to be presented with an EFI boot disk picker, but now you hold down the power button to be greeted by a micro-macOS boot options menu.
I think the broader point is that the support isn't very good. Its not specifically disallowed by Apple or Microsoft, but the manufacturers, tertiary driver providers, and community just haven't put a lot of time into making it great. I expect the situation will improve, but its unlikely we'll see any support from Apple or Microsoft, which absolutely should be a concern when picking these devices for Linux.
They main thing about running linux on mac are the drivers. All the touch pad are design to use with macOS.
Using mac is a also new way of using user interface with multi-touch and scroll.
With the exceptionally good ARM hardware coming in from Apple, I can't see mainstream future for other laptops which will allow OS freedom. As time goes on, Apple should be able to significantly reduce the price of entry level Macbooks. Look at iPad pricing, entry level laptops just for iPad level work on a laptop form factor don't have to cost a lot.
I always thought this will be Chromebooks, and hoped Google would be more friendly to other OSs because of their past, but it looks like it will be Macbooks that will fill that space.
Laptops with OS freedom have always been a more niche thing, same as dual booting on a desktop machine. Short of selling laptops with no OS at all, most people are going to stick with the default install.
Although, even when throttling it's only at 80% power. For native apps that's still faster than the mobile i9 in the 16in mbp.
The CPUs listed in those laptops? Either the same or a slower version of the processors used in the Macbook. You know, that fanless 12 inch Intel thing which everyone complained about because it was too slow (and the keyboard was the worst butterfly one ever made, but.)
Taken with the grain of salt as they ought to be, the Geekbench score for the M1 Air is 2.3 times higher single-core, 4.9 times higher multi-core than the most expensive MacBook with a i7-7Y75, one of the "Kaby Lake Core Y"s in that list.
The only newer processor there is from 8th gen Amber Lake, which seems to be the only newer "fanless" CPU from Intel.
(the 9th gen "Y" designs were, apparently, only ever used in the (fan-including) 2020 macbook air)
A lot of the recent improvement in graphics on Linux has come from manufacturers deciding to become cooperative rather than there being more people reverse-engineering graphics drivers. (Broadcom is contributing support for the Pi 4; AMD added its drivers to upstream; nVidia releases binary drivers to support enterprise customers.)
What isn't always available is a way to dynamically enumerate a device's, uh, device tree. On PCs, this is usually accomplished through ACPI tables, where the bootloader (BIOS or UEFI) populates a table of data and callbacks to AML bytecode functions which the OS kernel can read and eval. [0]
So on x86, the OS finds the PCIe memory mapped addressed in the MCFG table.
On most ARM devices, this data has to be passed to the kernel at runtime, in what Linux calls a "device tree reference", compiled to a "DTB" file.
So, on a UEFI-based ARM system, it should be possible to just insert, say, an AMD graphics card onto the PCIe bus and get a working GPU.
[0] https://www.kernel.org/doc/html/latest/arm64/acpi_object_usa...
They're functional for very basic desktop stuff but 3D performance is abysmal
Most game engines are supporting the metal api, or use vulkanVK as an abstraction layer.
Have you considered implementing an office full of linux desktops? With a team of designers? Product Engineers? Salespeople on the road constantly? I'd imagine if macOS has no benefits at all, IT managers everywhere would be switching to linux desktops. Why do you think this hasn't happened? especially since linux has no disadvantage compared to macOS?
Kepler is anywhere from 2x to 10x faster on the proprietary driver here: https://www.phoronix.com/scan.php?page=article&item=nvidia-n...
IP blocks inside the SOC itself usually just expose their registers on an AXI bus with no enumeration support at all, this is most likely the case with the M1 gpu.
Since they're the ones who required NT-on-ARM device vendors to disable user control of secure boot, yes it is their job.
Yeah, this was over 15 years ago. Yellow Dog was basically Red Hat PowerPC edition, so imagine Red Hat circa 2002.
Things have certainly gotten easier since then though, no question.
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...
A similar thing happened with the city of Munich trying to convert their systems to Linux. The workers complained that OpenOffice/LibreOffice didn't work like their (most probably illegal) copies of Word and Excel at home and thus they couldn't work with it. When that didn't help, they complained about "missing software" and other strange reasons about why they absolutely couldn't work with Linux. So they rolled back to Windows and Office and started sending our tax money to Microsoft again. [1] (Also Microsoft promised to move their German HQ to Munich to bring wealth into town. But that's toooootally unrelated.)
At least, they're trying again... [2]
Point is, as long as 90% of all jobs and schools have you work in Windows, why should people start buying Linux PCs for themselves?
[1] https://en.wikipedia.org/wiki/LiMux [2] https://www.zdnet.com/article/linux-not-windows-why-munich-i...
Although that's less "Linux as a viable OS" and more "Google Chrome as a viable OS".
However, I don't think selling such machines to the general public will happen soon, because there's not much of a market for it. Most users hate it when the interface of a single application changes; switching operating systems is probably a non-starter.
Hmm, not sure I agree with that. The iPhone 12 mini base price is $699 with 64GB. iPhone 3GS in 2009 with 8 GB was $599, or $727 in inflation adjusted 2020 dollars. Never mind the incredible increases in data rate, speed, display quality, and other capabilities.
Or, take the iPhone SE, an incredible phone compared to the 3GS and it has a base price of $399 with 64GB. 200 dollars less before inflation.
Apple has introduced premium models at higher prices but that leads to an incorrect comparison. It's just not reasonable to point to a 2009 iPhone and a 2020 iPhone Pro and suggest some sort of relevant price comparison.
In actual or inflation adjusted dollars it costs much less to own an iPhone today than it did a decade ago and you get a lot more phone.
I agree that we shouldn't expect a cheaper laptop, but I don't think it is because they care about cannibalizing their own sales. They set margin goals for each product and have demonstrated an unwillingness to discount below those goals solely to pursue market share.
https://www.usinflationcalculator.com https://en.wikipedia.org/wiki/IPhone
Yet look what competition is able to do with $300 budget - 5G, 120 fps screens (although lesser quality), similar (or better) cameras, similar performance, bigger batteries (similar life tho).
And few or no software updates or patches, and full abandonment of a device after at most two years of support.
Meanwhile my kids have hand-me-down iPhone 6s models that are working well, running the latest, fully-patched software after five years of service.
There’s a lot of value in an iPhone besides the hardware specs.
I was thinking of it more like. Here's your PC in tablet form for iPad, here's your PC in laptop form for a entry level Macbook. They can keep the internals same for both. Most users are fine with web browser, mail client, photo editor etc. which an iPad internal laptop should very well run.
> Laptops with OS freedom have always been a more niche thing, same as dual booting on a desktop machine. Short of selling laptops with no OS at all, most people are going to stick with the default install.
True, but everything being x86 or x86_64 allowed us to run other OSs and that community kept the threat of a different OS alive for other users. If no one can run other software on these laptops, that fear will go away completely.
That assumes that it's something that can reasonably be ported. Granted, that does cover most software, but there are exceptions that for whatever reason are difficult to port. Docker is the poster child for this since it uses Linux kernel primitives; the way it runs "on" Darwin is to run Linux in a VM.
Interestingly, FreeBSD has native Docker support because it has a Linux compatibility layer that adds/maps/implements(?) Linux system calls so it FreeBSD can run Linux binaries. Looks like FreeBSD Docker support is also broken right now.