7 ms·
It's funny how the way to get a Linux on ARM machine with decent performance might be getting a Mac Mini and running Linux as a VM. I doubt nested virtualizatio
by boris 6y ago
It's funny how the way to get a Linux on ARM machine with decent performance might be getting a Mac Mini and running Linux as a VM. I doubt nested virtualization will work though.
- the_af 6y agoHonest question, because I genuinely don't know: aren't there any Linux distros that run decently on ARM? If not, why?
- danpeddle 6y agoManjaro ARM is great. I use it daily with sway. I haven’t tried docker, but given the widevine hack used it, presume all is ok on that front.
- lbotos 6y agoYes, many, but most ARM machines are currently "Single Board Computers" (SBC) and the performance is not M1 level. 2020 appears to very much be "year of ARM" with Graviton, and now the M1 chip looking very good. EDIT: gravitation -> graviton
- lizknope 6y agoThere are a few ARM server motherboards but most of them are either based on older hardware and/or the product lines have been discontinued. I think you mean "Graviton" which is Amazon's custom processor using ARM Neoverse cores. You can't buy one of them as your own machine but you can use it through the Amazon cloud. https://aws.amazon.com/ec2/graviton/ https://aws.amazon.com/ec2/graviton/
- m4rtink 6y agoMost major Linux distros run on ARM just fine, thats not the problem. Undocumented custom Apple hardware with proprietary MacOS only drivers & locked up bootloader is the problem.
- MaxBarraclough 6y ago> Most major Linux distros run on ARM just fine, thats not the problem. To add some detail to this: you can spin up an AArch64 server VM on Amazon AWS. You're given the choice of which OS you'd like. The usual GNU/Linux suspects are there, Debian, Ubuntu, Red Hat, SUSE. You can also go with FreeBSD. [0] The Raspberry Pi also runs various distros, as tinus_hn points out. [0] https://lists.freebsd.org/pipermail/freebsd-cloud/2019-April/000215.html https://lists.freebsd.org/pipermail/freebsd-cloud/2019-April...
- ogre_codes 6y ago> locked up bootloader is the problem. Apple has documentation up on how to self-sign your own binaries for installing whatever you want on M1 bare metal. > proprietary MacOS only drivers Drivers are specific to an OS, calling them proprietary is redundant. It would be a great service to the community if Apple were to release Linux drivers or at least specs so someone else could write them. But if you want unix running on Mac hardware, the best experience is almost always going to be running MacOS. (Until of course Apple stops shipping MacOS for the current hardware)
- zamadatix 6y ago> Drivers are specific to an OS, calling them proprietary is redundant. Not at all, proprietary means it's closed source it has nothing to do with which OS it's for e.g. Nvidia has proprietary drivers for more than just one OS. This leads into the rest of your comment in that Apple doesn't need to flat out make Linux drivers as a service to the community (though that would be great) rather they could simply share the info needed about their existing software or about the hardware so the community could focus on coding a driver instead of reverse engineering proprietary hardware and software.
- ogre_codes 6y ago> Not at all, proprietary means it's closed source You are correct. For some reason I had a whole other idea of what you meant in your previous comment.
- tinus_hn 6y agoThe Raspberry PI is an ARM system so anything that can run on that runs on ARM.
- the_af 6y agoThanks! I feel dumb now: I own an RPI2 running Linux and a C64 emulator, and I didn't make the connection when asking my question :P
- numpad0 6y agoThere’s no IBM PC/AT for ARM to fork from. So there are duplicate and diverse attempts to design purpose built ARM computers. Just as it was with PowerPC Macs, ThinkPads, Xbox 360, PS3, Wii, router appliances, etc., that were all built on PowerPC CPU, “ARM platform PC” are usually not designed to run kernel binaries complied for any other machines. There are recent attempts by SoC vendors to change that, too early to call widespread or matured just yet. e: words
- fsflover 6y agoThere are even ARM laptops designed for GNU/Linux: https://en.wikipedia.org/wiki/Pine64#Notebook_computers https://en.wikipedia.org/wiki/Pine64#Notebook_computers.
- legulere 6y agoIt seems like ARM created special instructions called NEVE for performant nested virtualization: https://www.cs.columbia.edu/~nieh/pubs/sosp2017_neve.pdf https://www.cs.columbia.edu/~nieh/pubs/sosp2017_neve.pdf It says it's added to ARMv8.4 and M1 seems to be ARMv8.6, but I found no information if the M1 has these extensions.
- my123 6y agoNested virtualization including the ARMv8.4 improvements are present on Apple M1. However, Apple's virtualization solution doesn't currently support those.
- londons_explore 6y agoNesting is a key part of any system to make it truly general purpose. It seems crazy that for years we lived with non-nestable VM's. It goes hand in hand with the fact that an emulated or virtualized system shouldn't be able to tell that it is emulated (if the emulator doesn't want it to know). It should run as if on real hardware. Inability to do nested virtualization reveals immediately that emulation is in play.
- saati 6y agoYou just need access to precise timers to tell if you are virtualized. If you can measure how long a full TLB miss takes vs just a cache miss you should be able to tell how deeply is your page table nested.
- londons_explore 6y agoAn emulator can emulate timers however it likes...
- amelius 6y agoOk, but that means that you can't have accurate wall clock time inside your virtual machine. Also, it would make most games impossible as all physics is ultimately tied to a clock. And of course a connection to internet is impossible.