9 ms·
Linus Torvalds on the new MacBook Air
- rijoja 6y agoSo it seems that what could be problematic is not getting it to boot but rather how to get proper graphics support. How difficult would it be to reverse engineer the GPU?
- jsheard 6y agoIf the reverse engineered Nvidia GPU drivers are any indication, very difficult They're functional for very basic desktop stuff but 3D performance is abysmal
- rijoja 6y agoNot what you'd expect from a macbook. Perhaps it's in Apple's interest to let it happen though!
- jagger27 6y agoI wish it were so. Apple has no reason to allow other operating systems on its devices because macOS and iOS are gateways to their massive array of paid services.
- yxhuvud 6y agoA big reason for the abysmal performance is however that nvidia has intentionally locked down the performance for code that doesn't have the right credentials. We don't know if Apple have done something similar.
- jsheard 6y agoI assume you mean reclocking support, it is possible to reclock the older Kepler architecture on open source drivers but it still underperforms Kepler is anywhere from 2x to 10x faster on the proprietary driver here: https://www.phoronix.com/scan.php?page=article&item=nvidia-nouveau-2019&num=1 https://www.phoronix.com/scan.php?page=article&item=nvidia-n...
- OJFord 6y agoAnd WiFi, audio, ... Basically what's problematic is proper (or any) hardware support.
- jbverschoor 6y agoApply to https://jobs.apple.com/en-us/details/200174315/apple-silicon-gpu-driver-engineer-performance https://jobs.apple.com/en-us/details/200174315/apple-silicon... and find out ;)
- cbhl 6y agoDo we even know how to access the GPU? On x86-based systems there would be a standard bus (PCI/AGP/PCIe) to enumerate the the graphics device, but my impression is ARM doesn't have such things. 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.)
- spijdar 6y agoARM does, in fact, use standard buses, PCIe on most high/medium end parts -- although, some low end chips just use a built-in USB controller or SPI/I2C for all peripherals. 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_usage.html https://www.kernel.org/doc/html/latest/arm64/acpi_object_usa...
- kanox 6y agoPCI and USB bus standards include dynamic enumeration but ARM SOCs normally only use them as external interfaces. 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.
- miohtama 6y agoOne potential solution is to run a virtualized Linux in macOS.
- MikusR 6y agoIt's still a PoverVR GPU with serial numbers filed off.
- spijdar 6y agoOne thing I recall is Linus is really big on "absolutely no noise whatsoever". The passively cooled but still reasonably powerful Air seems like ideal hardware for his tastes, at least for a laptop.
- ketamine__ 6y agoHow long before the thermal throttling kicks in? I guess if that's the case probably only a performance issue for me when not at home with a laptop cooler underneath.
- atty 6y agoI believe I saw some estimates that it starts throttling after 8 minutes under load? But I can’t remember the details, unfortunately.
- threentaway 6y agoIndependent tests show 5-8min of full load before it throttles, which really is quite impressive.
- stu2b50 6y agoAbout 8.5 minutes of full load it starts to throttle. At about 30 minutes the throttling peaks. 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.
- actuator 6y agoYeah, somehow I am surprised with his cooled down take on this. 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.
- tech5000 6y 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.
- tifadg1 6y agosame niche as old thinkpads maybe?
- stu2b50 6y agoThe 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.
- bitwize 6y agoC 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.
- segfaultbuserr 6y agoC++ 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.
- Fnoord 6y agoOne could just cross-compile remotely?
- segfaultbuserr 6y agoSometimes, 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&curpostid=183486 https://www.realworldtech.com/forum/?threadid=183440&curpost...
- bufferoverflow 6y agoMirror https://web.archive.org/web/20201122182830/https://www.realworldtech.com/forum/?threadid=196533&curpostid=196570 https://web.archive.org/web/20201122182830/https://www.realw...
- deleted 6y ago[deleted]
- djhworld 6y agoI'm really not holding out much hope that Linux will natively run on these M1s, even if we get it to boot there's all the driver issues for the integrated GPU, audio, wifi etc. I'd imagine there is a lot of power management stuff on there too.
- dehrmann 6y agoBootcamp only really worked because Apple did the work. I'm sure they could do the same for Linux, but it would be harder because there's less commoditized hardware and possibly less demand because fewer people run Linux on their laptops than Windows.
- stu2b50 6y agoThere's also just less reason to run Linux for most consumers. Bootcamp was valuable because there's a lot of legacy, proprietary software and drivers that some people must use, which bootcamp gives them access to on the same device. 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.
- yjftsjthsd-h 6y ago> If there was sufficient demand there's nothing stopping someone from making a MacOS compatible release 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.
- dehrmann 6y agoDocker's never been quite as portable as imagined because of this. I wonder if this will make people rethink it as a model for containerization. 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.
- zebus806 6y agoI don’t know why we keep caring what he thinks
- throw_m239339 6y agoOn that specific subject I agree. I still remember him "promoting" the Chrome books, it was bizarre...
- olivierestsage 6y agoWhy wouldn't we?
- actuator 6y agoWell, for one he created Linux and Git, two softwares which have been something I(and I am guessing most on HN) have loved since I first used them and earn my livelihood from. The other thing being, he is pretty blunt on issues and provides a very good perspective. Considering the fact that he has headed a project which is so influential(servers, Android etc), I would want to know his opinion on this topic at least as it concerns future of OSs.
- devilduck 6y agoYeah I can't imagine why anyone would care about what the guy who created one of the most widely used operating systems in the world would think about computers. It doesn't make any sense at all.
- alexdowad 6y agoLinus has incredible knowledge about the lower levels of the computing stack (CPU architectures, etc), and so I, for one, am very interested in knowing what he thinks about those things. But regarding his other opinions in general... yeah, I'm with you.
- zebus806 6y agodude doesn't even program anymore (these are words from his own mouth) so no he doesn't, what he does is micro manage commits.
- awak3ning 6y agoHonestly, I don't think anyone is holding their breath for the day that corporations like Apple and Microsoft give the world the Linux that they deserve. 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.
- flatiron 6y agoMy daughters school gives her a chrome book so she is growing up using Linux. Her fire tablet also uses linux.
- jason0597 6y agoThat's not Linux Linux, that's Linux powered derivatives. 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) https://en.wikipedia.org/wiki/GNU/Linux_naming_controversy https://en.wikipedia.org/wiki/GNU/Linux_naming_controversy
- flatiron 6y agoFor the first comment it’s a Linux powered gnu/Linux derivative. It’s fully Linux. Just like android is fully Linux.
- ehutch79 6y agoIt's not linux until you have to debug your wifi cards driver.
- jayflux 6y ago> Honestly, I don't think anyone is holding their breath for the day that corporations like Apple and Microsoft give the world the Linux that they deserve. 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?
- hadrien01 6y agoCan you install Linux on the Surface Pro X?
- mnkypete 6y agoThere seem to be people working on it at least: https://github.com/Sonicadvance1/linux/issues/27 https://github.com/Sonicadvance1/linux/issues/27
- 013a 6y agoYes; and from what I've seen in Apple's support documentation, you can install linux on the new M1 machines. 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.
- thrill 6y agoIt certainly runs WSL2 quite nicely, so it's not too much of a leap to have a usable system without that hypervisor layer. I don't know what hardware features it would miss out on though running natively.
- raverbashing 6y agoI wonder if we have confirmation from an M1 owner (that is familiar with Apple stuff) that there's no way of booting from external media from the "bios" Of course, then you would need to get on the whole trouble of initializing video/T2/etc but it could be doable
- kitsunesoba 6y agoI don't own an M1 device, but it's been confirmed that boot security can be disabled entirely. I'm pretty sure that booting from external devices works fine once security has been disabled. 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.
- deleted 6y ago[deleted]
- shmerl 6y agoThe main point: > I don't have the time to tinker with it, or the inclination to fight companies that don't want to help.
- 0df8dkdf 6y agoI have dual boated mac and linux for some time. 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.
- SavageHenry 6y agomaybe we don't need the GPU drivers? for embedded applications in robotics that crave single threaded speed, the performance/watt would be a welcome improvement over embedded i7's
- birktj 6y agoDoes there exist soc any that would be suitable for a powerful arm laptop that can run Linux? How does for example the nvidia xavier soc stack up against the apple m1?
- ptomato 6y agoWith about 1/4 of the single-core performance, per geekbench. (Only one xavier benchmarked, but considering even the highest-end non-Apple arm chips are a bit over 1/2 of the single those are probably realistic numbers).
- wmf 6y agoNvidia Orin (coming next year) might be usable for a larger laptop but no one will have the courage to build it.
- mrbonner 6y agoIf Linus wants to have an Arm laptop to run Linux, I wonder why didn’t he consider a Chromebook.
- nick_kline 6y agoChromebooks are often a nice, relatively inexpensive and hackable x86 or arm device, but there's nothing that interesting about their hardware other than not so locked down (there's dev mode allowing anything and you can overwrite the firmware even). The new apple arm has fascinatingly good performance, and long battery life and the Air has no fan, so there's a lot to like there.
- jason0597 6y agoThey're not good for compiling the kernel on a regular basis
- new_realist 6y agoApple goes all out reinventing the desktop processor, and all anyone wants to do is cut them down for not pre-porting Linux to it. So much bigoted hate and entitlement on display here.
- dmos62 6y agoApple is a baron of customer hostility and anti-competitive practices. Customer lock-in, closed platforms, corrosion of right to own or repair, forced obsolescence. That's how they do business. Is there some point where how you do business becomes the product, and the intended product (e.g. reinvention of the desktop processor) becomes just a byproduct? We've a cultural inclination to focus on the what, and forget the how. But it's short-term thinking. I for one am tired of Apple's how.
- BuckRogers 6y agoThen don’t buy one. Not sure why anyone would be tired of a product they could ignore. Unless Apple and Microsoft are oppressive because they won’t collapse and build Linux laptops. It makes no sense. Just go run Linux on some ancient Thinkpad.
- dmos62 6y agoHaven't you read my comment? It's not the product per-se that's the problem. It's the lobbying, the market abuse, the anti-competitive practices.
- BuckRogers 6y agoI sure did read it. That's how you vote in this system, with your currency.
- solarkraft 6y agoRené Rebe has some thoughts about this: https://www.youtube.com/watch?v=2NglGEnSJdU https://www.youtube.com/watch?v=2NglGEnSJdU 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.
- lupinglade 6y agoNot much of a point in running Linux on Apple hardware, macOS is still by far the better option here. Linux needs a lot of work to be able to compete with macOS.
- miohtama 6y agoCan it boot Linux? I assume Apple would have these devices boot locked by now. Though you can run Linux quite comfortably in Virtual box nowadays.
- ThinkBeat 6y agoFull support for Linux on the M1 may not come for a long time. If ever. 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.
- vaccinator 6y agoIt should be a requirement for all computing devices to be Linux-compatible once the company making them gets to a certain size
- bArray 6y ago> Torvalds, of course, can already have an ARM based 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.