Gnome Shell on the Apple M1, bare metal(twitter.com) |
Gnome Shell on the Apple M1, bare metal(twitter.com) |
It was a nice time for me to learn Linux, compile kernels, install Gentoo. For me this was about 2004 btw.
Ok, this is pretty next level and way cooler than what I did, but my point is that people at this age are not to be underestimated, they are smart AND have resource ;) (Note that I'm also not claiming that this is what is happening here, but it could be).
(Congrats to Alyssa and everyone making this possible!)
Well, from what I've heard regarding the frontal cortex, adult decision making is fully crystallized on average around age 25. So it kind of makes sense why on average society these days doesn't trust kids with important stuff.
Though, you know, statistics. There are outliers :-)
The obvious issue is to pay someone to do the work, and I am, but I still can’t shake the fear.
They know very well how they became so big. It was in the early 2000's, because they had the support of many developers.
Additionally, M1 is currently best? platform when comparing performance with power usage, and (at least MBA) comes in a great form factor. AFAIK there is no comparable device that has decent support for Linux.
> I’m so worried this project will get 95% of the way there, and then all the fun issues will run out and the M1 will be just another MacBook with WiFi, Bluetooth and sleep issues.
No one cared that the old G3/G4 Macbooks couldn't run "X" at the time they were released.
AMD is also working on an Arm with RDNA2. I'm more excited about that chip than the M1 as it will be inside of more machines than the M1, even if outperformed by the M1. The M1 is boring as it just comes glued inside of Apple hardware that I have no interest in.
> The obvious issue is to pay someone to do the work, and I am, but I still can’t shake the fear.
If you want the M1 opened because you already bought one hoping it would become open then you counted your chickens before they hatched. The anxiety is your own fault.
AMD GPU on ARM is also likely going to be a good but since that RDNA2 is going to paired up with a Samsung CPU it's not as compelling as Samsung CPU's are not close to the M1 CPU. So far the rumours suggest RDNA2 is coming to Samsung phones. I don't about you but that's hardly exciting. For me to interested about RDNA2 on ARM it needs to come on laptop with a great CPU as well.
You are right to be worried. Getting all the nitty-gritty details about modern hardware without access to documentation is impossible. In the end this will somewhat work but will almost certainly have worse performance than MacOS with higher energy usage and be otherwise rough around the edges (like sleep problems, lack of support for fingerprint scanner and other issues typical to hardware that are not directly supported to run Linux by the vendor).
> The obvious issue is to pay someone to do the work, and I am, but I still can’t shake the fear.
I don't think just paying someone is going to help unless Apple provides documentation (which they won't do).
Fundamentally like many engineering things, it's a Pareto principle thing. You can have a "basically working" device but it's a surprising amount of (potentially dull) work to get every last thing working properly.
This is true for almost any random laptop, and has been since forever.
Its obvious the M1 and its successors have a chance of becoming a well known constant since its a SoC, and not a collection of random components from many vendors (that might or might not have good inline-Linux driver). Intel Macs, other laptops have had different hardware components even for the same model over its lifetime.
Not this old trope again.
I haven’t had WiFi and sleep issues with Linux for at least a decade (I don’t use Bluetooth on laptops so can’t comment there). And I do use random laptops, including MBPs.
People seem to hold on to the same old arguments about Linux that were true back when XP was released but things have unsurprisingly moved on since then.
For sone random hp or whatever crappy netbook maybe yes, but you can’t compare a MacBook to that. There are good laptops that don’t have those problems, I haven’t run into any issues with my Thinkpad.
Sounds like you’re already onboard, so this comment isn’t for you. For those who don’t know, you can donate to this project directly. Please sign up if you want to see this project succeed. I’m not affiliated, just a fan of the work.
Wi-Fi, well, it's still Broadcom. It's gonna work as well as it does on Intel macs.
Considering that the GPU is completely properietary, without specs, and only used in a couple models, it's highly unlikely you'll ever see any driver in a working state for it. I mean, etnaviv and the like do exist, but it's definitely NOT in the same state as say intel or amd.
And if there's any type of roadblock (say signed firmware like nvidia) then goodbye.
Your "highly unlikely" is my "I'm aiming for an accelerated desktop by the end of the year" ;)
* you know how to make HTTP requests (you know how to use I2C or PCI or ...)
* you know roughly what an SMTP-as-a-service should do (you know roughly what a display driver should do)
* you don't know the URLs (you don't know the addresses)
It's a fun exercise in collaborative reverse engineering.
Also there's survivorship bias. The reverse engineering that's most likely to succeed (and thus be written about) are the most approachable ones.
Bravo to all those doing this stuff!
But what marcan is doing is another level of awesomeness altogether. The m1n1 bootloader that runs the rest of MacOS in a VM for logging purposes is a hail mary move of such epic brilliance, it brings tears to my eyes.
Amazing progress - but I wonder if getting accelerated gui is 10x the current effort
No skin in the game, but can't wait to see how this progresses
It puzzles me how things like that go. Google and Microsoft improved their developer documentation in the last years
I kid. Now what I really wanted to ask.. Is it using Wayland?
I haven't ruled out Mutter having a framebuffer backend, but I suspect she just ran it through X, which has one.
Edit: Looks like DRI is there after all: "Sven and the #dri-devel crew helped me spin up #2, which is what I'm using now."(https://twitter.com/alyssarzg/status/1429583864679129098).
What's there is a basic KMS driver, so rather than one single framebuffer, userspace can do pageflips. Mutter can run with a display-only KMS driver + llvmpipe for rendering by now I'm pretty sure. wlroots has landed this feature recently-ish too.
This is of course a harder and more pervasive problem than one might realize. macOS Finder RAM usage can explode catastrophically and take down the whole system if you have image previews enabled and click on a very large (gigabyte) TIFF.
I've experienced (and confirmed with a quick search) that Finder won't display a preview for any file that doesn't have the resources to show.
Hence this, don't expect graphical elements or graphics intensive software to be any faster than other systems using accelerated graphics right now.
"Up until now both the Asahi and Corellium kernels were on #1. Sven and the #dri-devel crew helped me spin up #2, which is what I'm using now. #3 is the ultimate here be dragons, but will get us 4k display"
the problem with that is that the macbook hardware sucks. a lot.
If you define running as "Linux boots", than this is correct, but as the the T1 chip provides access to the Touch Bar which is necessary to have function keys, I'd argue that there was indeed impact of the T1 chip for Linux essential compatibility. Also access to the webcam is provided by the T1 chip and required a quirk to work, as well as Touch Id, which isn't even supported at all yet.
What the parent comment was probably referring to is not the impact of the T1 chip per se, but of all changes Apple introduced with the MacBook Pros featuring the T1 chip, like a different way of interacting with the input devices, a different setup for audio and Bluetooth, a new chipset for Wifi and so on. The sheer number of changes caused these devices having a pretty bad compatibility with Linux when they came out and even today there are still a lot of unsolved issues around audio, Bluetooth, Wifi and other components [1]. And of course some features like the extended capabilities of the Touch Bar or the Touch Id sensor are still completely unsupported.
Btw: T1 MacBook Pros also required a quirk for NVMe, because Apples implementation back then also wasn't standard-compliant [2], [3].
[1]: https://github.com/Dunedan/mbp-2016-linux
[2]: https://github.com/torvalds/linux/commit/124298bd03acebd9c9d...
[3]: https://lists.infradead.org/pipermail/linux-nvme/2017-Februa...
WiFi and audio devices still don't work on most models released after that: https://github.com/Dunedan/mbp-2016-linux
Not how a publicly traded company works. Broadly speaking, services are becoming a larger and larger part of apples bottom line
In any case, I was making a dry joke about Apple not wanting your money if you weren't signed into iCloud, because how all companies, private or public, work generally includes "this person giving us some money may not be as good as this person giving us more money, but is obviously better than this person giving us no money at all." One day I will learn that dry humor rarely flies on Hacker News, but that day is not today, and it is unlikely to be a day next year, or the year after that, or the year after that. So it goes.
It's quite amazing.
With apple silcon, Apple is dropping what was a huge feature -- Windows. Ability to run Linux distros on Mac hardware is like rounding error hacker stuff.
The PowerVR driver is the oldest of the bunch, has been a FSF priority project for like _a decade_ and has produced exactly 0 usable results (but a lot of prototypes!), and the hardware was of such popularity that it is the one used by Apple before they looted Imgtech. So why expect a usable driver when tens of people have failed on literally more popular hardware? What's different this time? The planets are better aligned?
For the people who expect to ever have a RE'd driver that is on the level of Intel or AMD's, just go and use any of the existing RE'd drivers on your favourite ARM platform, and check for yourself. Try Etnaviv on a Purism for a couple days. If you think the AMD drivers are crashy, or slow, or use a lot of power..
And ironically poster was complaining about potentially unstable Wi-Fi, which is several orders of magnitude easier to RE than a GPU.
> the elephant in the room will be the custom Apple graphics hardware and the significant resources there needed to bring up a new driver stack for Apple M1 without any support or documentation from Apple. The reverse-engineering is more complicated there than the likes of other ARM SoCs where at least there is generally closed-source Linux blobs to plug into and slowly replace. Even in those other ARM cases like with Panfrost, V3DV, Freedreno, and Etnaviv it's been a multi-year effort and that is with having a better starting point than Linux on the M1.
https://www.phoronix.com/scan.php?page=news_item&px=Ubuntu-A...
And it is not like people weren't trying "hard enough" before.
Sounds like a totally reasonable assumption, for 99.9% of the cases (including graphic designers).
The Patreon turns this into a job, which means I have reason to keep chipping away at all those "minor" things. It also means everyone else working on the project can choose what they work on, and I pick up whatever is left that nobody wants to do.
Who says they reverse engineered whole of it? Making it display images is easier compared to making it work fast, support video decode, power saving, etc. Nouveau has been around for long time and never transitioned from former to latter state.
> then a fingerprint scanner is easy.
Yes, but it is not the point I was making.
> The barriers to these 'minor' things is motivated people to do it, not anything technical. This is something that can be helped with money.
I've been working on Linux kernel for some time now and I stand by my opinion that the main barrier to do it is technical. You can disagree though.
I've been porting Linux to undocumented platforms for 10 years and the main barrier to getting it polished is motivational, not technical. It's precisely the hard problems that motivate people.
All this "Apple hates us and half the things are never going to work" FUD is getting really tiring. There isn't a single instance where Apple have put roadblocks in front of Linux support in the history of the Macintosh. All existing problems come down to lack of drivers or nonstandard design choices. Solving that is the entire goal of the project: developing support for the hardware.
An M1 is about 1700/7600.
So call that a tie for MT, and 20% faster in ST...with a chip using about a third the power.
E.g. https://nanoreview.net/en/cpu-compare/apple-m1-vs-amd-ryzen-...
So is killing a tiger, but you don't see any stripes on my wall.
Thanks for the honest response. IMO you are being _extremely_ optimistic, but I would be glad to be proved wrong on this one.
And the beauty of non commercial software is that we don't actually have to care about that. If people choose performance increase over freedom, you can't really chose for them.
Now I'm not saying that we should not port free software to the M1. I'm saying that the good reason to do so is because the people porting it want to have it there, rather than thinking in term of user retention.
If that's really true, then why are so many so intent on increasing Linux Desktop adoption? Popularity means more people working on it, more people making software for it, more hardware having drivers, etc.
Back in the glory of more universal general computers this was perhaps a lesser spoken requirement of the system.
Today, it's clear to me that we are slipping back into chaos.
EDIT: Seems like FSF's "freedom to run" might fit the definitional benchmark for me. I'm not really sure how people are going to react to that though ;)
> Free software is software that gives you the user the freedom to share, study and modify it. We call this free software because the user is free.
Not the same meaning of "free". But anyway, for now, you have to pay Apple prices to have a computer with an M1 chip on it. If the price is a string requirement, one probably won't buy Apple hardware and rather get something that less expensive and is already well supported by free software :).
So even if you could get all the hardware drivers working properly, Linux/Gnome still will lose out to macOS because that hardware simply wasn't designed for that software, and that software simply wasn't designed for that hardware, while macOS and M1 were both designed to work together.
But Gnome was originally designed to run on X-Windows, whose hardware model is a MicroVAX framebuffer on acid.
https://donhopkins.medium.com/the-x-windows-disaster-128d398...
The color situation is a total flying circus. The X approach to device independence is to treat everything like a MicroVAX framebuffer on acid. A truly portable X application is required to act like the persistent customer in Monty Python’s “Cheese Shop” sketch, or a grail seeker in “Monty Python and the Holy Grail.” Even the simplest applications must answer many difficult questions:
WHAT IS YOUR DISPLAY?
display = XOpenDisplay("unix:0");
WHAT IS YOUR ROOT? root = RootWindow(display, DefaultScreen(display));
AND WHAT IS YOUR WINDOW? win = XCreateSimpleWindow(display, root, 0, 0, 256, 256, 1,
BlackPixel(
display,
DefaultScreen(display)),
WhitePixel(
display,
DefaultScreen(display)));
OH ALL RIGHT, YOU CAN GO ON. (the next client tries to connect to the server)
WHAT IS YOUR DISPLAY? display = XOpenDisplay("unix:0");
WHAT IS YOUR COLORMAP? cmap = DefaultColormap(display, DefaultScreen(display));
AND WHAT IS YOUR FAVORITE COLOR? favorite_color = 0; /* Black. */
/* Whoops! No, I mean: */
favorite_color = BlackPixel(display, DefaultScreen(display));
/* AAAYYYYEEEEE!! */
(client dumps core & falls into the chasm)
WHAT IS YOUR DISPLAY? display = XOpenDisplay("unix:0");
WHAT IS YOUR VISUAL? struct XVisualInfo vinfo;
if (XMatchVisualInfo(display, DefaultScreen(display),
8, PseudoColor, &vinfo) != 0)
visual = vinfo.visual;
AND WHAT IS THE NET SPEED VELOCITY OF AN XConfigureWindow REQUEST? /* Is that a SubstructureRedirectMask or a ResizeRedirectMask? */
WHAT??! HOW AM I SUPPOSED TO KNOW THAT? AAAAUUUGGGHHH!!!! (server dumps core & falls into the chasm)If that's the case why is Chrome able to put benchmark Safari on my M1?
Not to mention the OS shouldn't be the bottleneck for anything performance related in a desktop type system anyways.
And what is a "put benchmark"? Why would you only benchmark a web browser's HTTP "PUT" method?
I took my data from perusing the Geekbench DB for the latest submissions...
We aren't a bunch of random people; we've been in this game for years. I think we have a better idea about the development effort required, likely timelines, and what project structure works than Larabel, who runs a blog.
As I said, we already have the userspace graphics stack passing a big chunk of basic test suites. We're already a good part of the way to getting this to work, in ~8 months including all of the hardware bring-up, not just GPU.
For someone who is complaining about "sleep issues", I'm quite sure he is not understanding how different the situation is going to look.
It helps that we only have to support one hardware platform at this time, not a whole line-up of legacy cards, and that as far as we've seen so far, Apple's hardware design is much cleaner than the competition.
> I’m so worried this project will get 95% of the way there, and then all the fun issues will run out and the M1 will be just another MacBook with WiFi, Bluetooth and sleep issues.
I'm saying if you end up with only Wi-Fi, Bluetooth and sleep issues you will be lucky, since to have a problem-free RE'd GPU driver would be a first, while plenty of laptops have problem-free Wi-Fi, bluetooth, and sleep. So it is definitely not Wi-Fi, Bluetooth, and sleep that should make you afraid.
Put = out, please forgive mbile keyboard while on a plane :). I do like the level of creativity for an http put benchmark though!
So the "planets are aligned differently", this time. Well, we'll see. I have my doubts since my impression is that Apple looted Imgtech for their GPU, and everything I remember about Imgtech/PVR is a complete disaster.
> Free software means that the users have the freedom to run, edit, contribute to, and share the software. Thus, free software is a matter of liberty, not price.
While it's unfortunate that Apple has kept many of the technical details of their M1 Macs secret, thus making it a gigantic effort to port Linux and other alternative operating systems to it, what has people so excited about the M1 is the performance-per-watt and performance-per-dollar ratios the chip provides.
Would you care to enlighten me please? Otherwise your comment is of no value.
You may have paid money to get copies of a free program, or you may have obtained copies at no charge. But regardless of how you got your copies, you always have the freedom to copy and change the software, even to sell copies.
I'm far from agreeing with everything the FSF says or does, but see https://www.gnu.org/philosophy/free-sw.en.html for more information.
For example, let's say one comes down with a horrible disease, clearly they are not being directly charged in cash and no police have been involved. Yet I can't shake the feeling that they have been parted with some freedoms.
Anyway, food for thought. This thread is perilous.