Merge tag 'arm-Apple-M1-5.13' of Linux
git.kernel.org
git.kernel.org
Plug it into a thunderbolt dock and you have a full Linux desktop.
EDIT: ah, sadly looks like it's not something that's daily drive-able
Running the same stack on an M1-chip would probably a game changer usability-wise.
You can still use DeX itself to get a desktop environment when you plug your phone into a dock, but it's an Android desktop environment, with Android apps running in floating windows.
Dex itself works, but that is just an Android desktop.
ETA: actually, still an android interface, not X or anything.
* Termux on any android
* dex on highend Samsung
* moto has something similar
* chromeos also has a built-in VM
I can also forward ports so I can access things from my browser, though no debug, console, network tooling. There is an obvious lack of tooling - a full fat Linux desktop would be much better equipped, but it is incredible that this is possible at all.
I'll experiment with this.
I would love to recycle old phones into Kubernetes nodes !
The browser can now run any language through web assembly, threads and all. The HTML/CSS layer is just a portable, expressive markup for visual assets.
I made a fitness goal tracking web app that worked completely offline. If you've used "strong" on android, it's basically a free clone that.
It stored all the records on the browser via indexeddb and the timer would ping you with a push notification when the rest timer would expire.
iOS erases the persisted storage after 7 days and doesn't let me use push notifications. I'd love it if iOS asked "hey this web app wants to store data long term" or whatever, but it doesn't.
As for the notifications, it’s easily solved. Softest touch: don’t let a notification prompt show without there being a user interaction first. Hardest touch: only allow it for webapps that are installed to the home screen.
I have a much less charitable view: Apple doesn’t like webapps because they’re a threat to the App Store ecosystem. Not so much from a monetary perspective but an exclusivity one: if you can run all the exact same apps on all mobile platforms they lose an edge. (though I’m sure they don’t mind the money either!)
Steve Jobs in 2010:
>"We have two platforms we support. One is completely open and uncontrolled and that is HTML 5. We support HTML 5. We have the best support for HTML 5 of anyone in the world. We then support a curated platform, which is the App Store."
https://web.archive.org/web/20100605065858/http://www.cbsnew...
They've been pointing out that you can do anything you like through the web since the App Store was new.
Claiming Apple fully support the web because of something a former CEO said in a marketing presentation over a decade ago just doesn’t work.
https://twitter.com/hadrianweb/status/1384548445579583489
https://pine64.com/product/pinephone-beta-edition-with-conve...
(be aware the pinephone software is still very much in beta, also sorry I couldn't find a better link then a few tweets)
https://en.wikipedia.org/wiki/Motorola_Atrix_4G#Webtop
The dock was a commercial failure.
It might have made sense 20 years ago when everything wasn't online and sharing files was a pain, but nowadays it makes more sense to have independent devices than a single phone/laptop/desktop.
You need a screen+keyboard anyway, so why would you make that a dumb terminal instead of an independent device?
https://www.gsmarena.com/flashback_the_phone_that_was_a_tabl...
The same problem still exists on the PinePhone and Ubuntu's attempt, and Microsoft's failed attempt to use Qualcom chips as mobile workstations have so far all failed. When it comes to powerful yet power-efficient chips, Apple simply has no real competitor. Sure, AMD and Intel can outperform the M1, in some cases even at similar power draws, but Apple has mastered the base and idle power draw and caching that give their devices such a great battery life during simple, normal use.
With the processor unification, Apple may be able to provide a decent experience if they can think of a system that won't kill the battery (external battery the phone switches to?) and can cool the processor sufficiently while it's in a dock. Apple seems more than capable of solving those problems, if they'd want to.
I'm 100% sure I won't buy an iPhoneBook because I strongly dislike Apple's operating systems and the way the company itself operates, but if Apple fans will buy the product, competitors should soon follow with a device I'd find acceptable to use. Maybe, by then, the Linux smartphone ecosystem has grown to the point where it's actually usable for day-to-day operations (unlike the Librem/Pinephone/pmOS in their current state).
Why not just power the device off the lightning (hopefully Usb-c soon) cable used for docking? That's how all docks work now. When you're charging a single cell (most phones) you draw power from the charger, with the battery helping out during bursts if needed. No need to invent anything.
Perfectly useable for i3 wm, terminal/ssh usage, light browsing in firefox, playing 1080p@60fps video, viewing photos, and plenty of other things, in docked mode.
"Computer in some far away server. Dock at a local thin client. Connect to VDI via VNC or RDP or comparable."
We do this all the time with kernel development, and is one reason why breaking changes up into tiny pieces is so powerful. We can take the pieces that make sense now, and allow the developer to redo the portions that are not ready yet, instead of having to reject the whole thing if it were done in one single "chunk."
Also note that the TTY/serial portions of this hardware support was already merged through the serial tree because they were independent and didn't affect anyone else.
How, exactly are you expecting an increase in average patch size to help?
The big "downside" is that it takes more work on the patch submitter side. But the benefits in the end are almost always more than worth it (easier reviewer time, easier time to track down problems, better development cycle as feedback can be more specific, easier evolution of changes, etc.)
I wrote a whole chapter in the book "Beautiful Code" about how this development model can help create an end result that is almost always better than the initial "huge" submission model. Check it out if you are interested, it should be free online somewhere...
This kind of discussion is always of interest to me, I'll check out the book, thank you.
This is true even if the same lines are changed multiple times. It's something you'll learn with experience, but it's also not even close. Break your patches up as much as possible, and everyone will be happier.
- https://www.oreilly.com/library/view/beautiful-code/97805965...
- https://github.com/stormtrooper96/books/blob/master/software...
So I'll definitely give it a read. Thanks!
By planning for incremental merges, you ensure that your foundation is solid and acceptable and avoid wasted work.
From what I understand he has been a proponent of Right to Repair and has lobbied the US government about it.
[1]https://www.youtube.com/user/rossmanngroup [2]https://www.youtube.com/results?search_query=louise+rossmann...
e.g. https://www.youtube.com/watch?v=jahtu1_idVU
While apple is known to be unfriendly for 3rd party repairs, the sad reality is that a lot of hardware vendors are going that way. Also, stating you will have to wait a couple of years to buy a M1 macbook makes 0 sense as by then the latest macbooks will have M<something> and the issues with 3rd party repairs wont be addressed in the hardware revisions of the M1 macbooks released now.
I upgraded and replaced the RAM, SSD, display and wifi card in my thinkpad. Wouldn’t have been able to do the same with a macbook.
I have a 2020 Intel MBA and it "works" as in it boots, but the laptop trackpad and keyboard don't do anything.
Externals work, so it seems like a driver thing.
There could be other problems, but I haven't gotten far enough to hit them because I don't see a point in using it unless the keyboard and trackpad work.
Edit: this driver got the keyboard and trackpad to work, but the microphone, speakers, and webcam did not work. I also needed to downgrade to an older kernel (4.14) to get storage to work. All external things worked fine even through a hub, and the headphone jack also worked fine.
It seems to be related to the T2 chip and the BCE driver linked there should solve it.
Also remember that M1 is not only ARM. It's a SOC which combines ARM cores with GPU cores and AI-targeted cores. Targeting just that is a lot more work than just porting the ARM portion from a Raspberry Pi or an Android phone. I'm sure just getting a framebuffer up was a lot of new work. Fully supporting the GPU cores will be necessary for a lot of people's use cases. Once that and most of the peripherals are sorted, maybe the AI cores will be addressed.
Hence, each ARM chip/platform often needs at least a little bit of special support (or drivers) to fully work in Linux, besides the standard ARM stuff.
Apple's platform is actually very different, with much more non-standard stuff, compared to other ARM implementations. Hence, much more extensive work was required to support them, than would be typical for other ARM platforms.
Even some of the really low-level features are different. For example, Apple have their own Interrupt Controller. Supporting it (in place of ARM's standard General Interrupt Controller) was a prerequisite to even be able to boot the linux kernel. Another weird thing about this platform is the bus configuration.
Also, Power management is something that is virtually always chip-specific, and the Apple M1 has some unusual quirks on top of that.
https://www.xda-developers.com/apple-iphone-7-ubuntu-linux-c...