return to table of content

ChromeOS will soon be developed on large portions of the Android stack

chem83
156 replies
1d18h

IMO Android architecture does offer an advantage relative to vanilla Linux in the way that it creates a well-defined separation between kernel (+ drivers) and user space development, somewhat fixing the OS fragmentation. It helps prevent users getting locked out of the latest version of the OS just because the device manufacturer didn't update their BSP. It's the reason why Samsung offers 5 years of device updates and Pixel offers 7 now.

https://source.android.com/docs/core/architecture/kernel/gen...

gtirloni
50 replies
1d16h

How's that even an issue in Linux? If anything, vanilla Linux users have way more power over their computing platform and are never locked out of anything.

fooker
36 replies
1d16h

What is vanilla Linux though?

If you're talking about something like Ubuntu, there's a tonne of work that goes into making sure it works with ..say.. a random three year old laptop with all the binary blobs in place.

Try getting something like wifi or Bluetooth working on some weird ARM dev board and suddenly there's no vanilla Linux unless you're willing to write device drivers.

blackoil
27 replies
1d15h

That should be true for everything, if no one has written drivers for something it won't work. But once driver is added will it fail/updated for newer versions of Linux?

chem83
20 replies
1d14h

The reality is that drivers are not added, as you say. Most companies release an out-of-tree BSP targeting a specific kernel version. They often contain blobs and are often not GPL. Linux doesn't support a stable kernel ABI/API (https://www.kernel.org/doc/Documentation/process/stable-api-...) and the only way to avoid the associated issues is to mainline drivers, which most companies don't want to do (don't want to open source their IP, don't want to invest in maintaining it etc.)

Android GKI/KMI addresses the issues related to this. GKI is relatively recent and OEMs don't offer 5+ years of Android updates because they haven't adopted it yet.

codedokode
15 replies
1d13h

That Linux note about why they don't want a stable API is ridiculous. This shows how unfriendly is Linux to out-of-tree software. They want third-party developers to refactor their working and tested drivers every time they decide to change something.

I think that at least open source community should move to "never break things" concept. So that you can write and test code once and never touch it anymore. Refactoring your code because kernel/library has changed its interface is just a waste of time which gives nothing in return, often time of unpaid volunteers who could do something useful instead.

This should apply to libraries, applications, programming languages, browser extensions. Take upgrading your Python 2 code to Python 3 as an example. You need to put a lot of efforts while gaining nothing. This is not how software should work. You should write a code once and it should work forever without any maintainance.

guitarlimeo
7 replies
1d12h

Correct me if I'm wrong, but I thought that the actual code itself is stable, just that the compiled kernel API/ABI isn't.

So if you open source your drivers and get them accepted into the kernel, then you don't need to rewrite/recompile them for each new kernel version. Just like AMD did with their drivers. And I think this is part a conscious decision that forces people to open source drivers.

But this is honestly just guesswork based on what I've read, would love to learn more!

afiori
5 replies
1d10h

So if you open source your drivers and get them accepted into the kernel, then you don't need to rewrite[...] them for each new kernel version.

You don't, but someone does. In the note linked above they give an example of how the USB interface changed from synchronous to asynchronous, this must have required some refactoring in all drivers that used USB

vetinari
4 replies
1d10h

That someone updating the drivers is exactly the same person who makes the change in the subsystem that they depend on. They cannot break what is already in the kernel, but they can break what's outside; it is after all an internal API.

codedokode
3 replies
1d8h

And that is wrong because people might have reason not to mainline drivers.

vetinari
0 replies
1d7h

That's fine; but their reason is their problem. They are not entitled to free labor of other people.

pantalaimon
0 replies
1d6h

What reasons are there other that corporate shenanigans? Sure it takes more effort to mainline the driver and address review comments, but if you aren't designing a throw-away product, it's effort well spent.

account42
0 replies
1d5h

Those reasons tend to be petty ones that benefit the hardware company and noone else. Seems fair that the hardware company should pay for the consequences of their decisions and not the people advancing the kernel.

Propelloni
0 replies
1d9h

The Linux developer community promised almost 20 years ago [1] that no release of the stable kernel will ever break something that worked in a stable kernel before. AFAICT, this promise holds. If you upstream your driver, the community will take care (cf. AMD), if you don't your users experience occasional pain (cf. NVidia).

[1] http://kroah.com/log/blog/2018/02/05/linux-kernel-release-mo...

exe34
4 replies
1d11h

They want third-party developers to refactor their working and tested drivers every time they decide to change something.

no, they do it for you for free - you just have to make sure the quality is high enough to merge into mainline.

codedokode
3 replies
1d8h

That's exactly what I meant: Linux is unfriendly to third-party software developers (drivers not in kernel, apps not in distro repositories).

exe34
2 replies
1d6h

I know a lot of people who are unfriendly towards sloppy work, yes. if the driver is of a good enough quality, they will be happy to take it off your hands and look after it for you!

as a user, I hate apps that aren't in the repository. it takes effort to make sure it doesn't clobber something important just because the developer wanted to use the latest and most broken version of some library. thankfully nixos allows me to run whatever version of every dependency and then nuke the whole mess once I'm done with it.

codedokode
1 replies
11h31m

I hate apps that aren't in the repository

That's not going to be fixed. This is a typical M-N problem. There are too many distros and it would require lot of work to port every app to every distro. Instead, there should be a "platform" (set of APIs) that app can work with and the same app would be able to work in any compatible distro.

exe34
0 replies
8h43m

To be fair, if the app isn't in the nixos distro, it's rarely that useful. The only one I had to figure out was a proprietary logic analyser interface, but it wasn't too hard.

vetinari
1 replies
1d10h

Take upgrading your Python 2 code to Python 3 as an example. You need to put a lot of efforts while gaining nothing.

Just the python's 3 string/binary distinction and explicit conversion squashed an entire category of bugs. Yes, it required to make explicit what was implicit before, but still, that's huge achievement in my book; saying that it is nothing is a very, very shortsighted.

account42
0 replies
1d5h

Just the python's 3 string/binary distinction and explicit conversion squashed an entire category of bugs.

And created an entire category of new ones.

lupusreal
3 replies
1d10h

and the only way to avoid the associated issues is to mainline drivers, which most companies don't want to do (... don't want to invest in maintaining it etc.)

They wouldn't have to, that would be done for them, for free, if they got their code into the kernel...

fooker
2 replies
23h33m

A driver is not a static one time thing.

Once you mainline it, making improvements, supporting new devices and features become 10x slower.

lupusreal
1 replies
23h3m

Nobody says the old mainlined driver must support new devices. Mainline a new driver, or don't, either way it's better than nothing.

fooker
0 replies
21h51m

Yeah, better than nothing.

With a stable ABI, it would be better than everything. But we can't have it because of ideological reasons.

fooker
4 replies
1d11h

If the kernel had a stable ABI and made it a bit easier for closed source drivers to access kernel APIs, yes.

That's how you can use a random 25 year old peripheral on multiple versions of Windows without anyone having to update a driver.

vetinari
1 replies
1d10h

That's also how you make windows ship with three different USB stacks and their weird interaction.

fooker
0 replies
21h49m

For sure. The real world of devices is messy.

Avoiding that mess for some notion of beauty or purity only gets you so far.

realusername
1 replies
1d10h

In theory maybe, in practice I'd bet in a better Linux support on a 25 year old peripheral compared to Windows.

fooker
0 replies
23h6m

Out of the box, sure.

For windows you can usually download a binary from some 20 year old website and it'll work.

zamadatix
0 replies
1d15h

It depends on how open the particular drivers are implemented. E.g. over the last couple of years the Nvidia driver situation for cards from the last 3 generations has changed across pretty much all 3 major levels:

1. Originally you had to use the proprietary binary driver to get anything useful to happen with your card at all. Updating the kernel without updating this would more or less lead to having an expensive brick in your PC. Some Wi-Fi adapters fall into the "can't really be updated" category as well. A _LOT_ of ARM shit is like this.

2. nvidia-open came along (still beta for desktop cards at the moment) and it puts enough in the kernel that you can update the kernel without needing an updated binary driver for your card to function

3. nouveau/nvk have very recently started to come to a decently usable state (i.e. they have reclocking via GSP and somewhat usable graphics API coverage/efficiency) for an even more open driver stack which tracks system updates even better.

If your binary blobs fall into 1/2 then long term upgrades can be anywhere from impossible to unreliable. If they fall into 2/3 they can be anywhere from somewhat reliable to "will be working longer than any sane person would still be trying to update the kernel on that device". E.g. the AMD 7750 is 12 years old but can run OpenGL 4.6 and Vulkan via the latest AMDGPU driver in mainline mesa/kernel.

LTS distros solve this by using LTS kernels and security patching them rather than requiring "actual" underlying OS updates during the version lifecycle.

sambazi
2 replies
1d9h

What is vanilla Linux though?

depends; but may i suggest starting at kernel.org then look at 'linux from scratch'/gentoo then maybe slackware; surely not ubuntu

fooker
0 replies
1d

May I suggest trying your hand on LFS on a ARM dev board and report how the experience goes?

There's a reason all other kenels have adopted a stable driver API and ABI.

anthk
0 replies
1d7h

- Linux it's just a kernel.

- Vanilla Linux it's propietary.

- GNU/Linux-Libre it's the proper libre one, rebased from GNU maintainers.

- There's no proper 'Vanilla distro' as LFS or Gentoo. Every one since 1993 has been an external bundle made from volunteers.

- The closest vanilla distro from the GNU project would be Guix as it works as a distro and a universal package manager to ship libre software.

eddythompson80
2 replies
1d15h

there's a tonne of work that goes into making sure it works with ..say.. a random three year old laptop with all the binary blobs in place.

But that work gets done and "users" of Ubuntu or Debian or Arch get to use it from the sources they trust (aka Ubuntu, Debian or Arch). I'm not claiming to have a full understanding of how every package or kernel module Debian or Arch or Fedora ships works. But I'm trusting Debian or Arch or Fedora for my packages. If it comes to light that debian or fedora maintainers had no idea that they shipped a malware in a release, then I'll seriously question going with that distribution in the future. And without sounding facetious, that has happened multiple times in past especially with debian. But the times it happened it was clear to me that it was merely a mistake rather than extreme incompetence or malice.

With Android, you have Google, which despite the general HN rhetoric I personally trust to not ship straight up malware. But when we're talking about Android that's not what we're talking about. We're often talking about binary ROM blobs from random XDA or RW users. Funny thing is 20 years ago, I'd have shouted about what's the difference between a random anon on XDA or WZBB providing a ROM blob. But now I know better.

fooker
1 replies
1d11h

You trust Canonical, android users trust Google.

Binary blobs are an unfortunate reality and no amount of trust in a company or entity can really solve this.

For the record, Debian and Arch doesn't work very well on non standard hardware. I use arch on my desktop but gave up on using it productively on a new HP laptop.

oblio
0 replies
1d7h

Heh, and you could argue that laptops are standard these days. More laptops are sold than desktops, and HP is definitely a mainstream brand.

I understand your usage of the word, I'm just pointing out that if the mainstream ain't "standard" anymore... it kind of sets the standard in practice.

1oooqooq
1 replies
1d2h

you understand little about what you're talking about.

hardware is either supported or not.

the "work" you mention on old wifi cards is to get a driver that was never contributed in any official way. hence unsupported.

Linux have more hardware support out of the box than anything, ever.

just educate yourself before purchasing.

fooker
0 replies
23h9m

hardware is either supported or not.

This reminds me of certain countries that define literacy as the ability to sign ones name.

Linux driver support for a large fraction of hardware is incomplete at best.

lmm
8 replies
1d15h

Linux offers no stable driver API; they claim that submitting your drivers into the kernel tree is a good substitute, but they have strict requirements on what kind of code they will accept and also decline contributions out of basically organisational politics reasons. So in practice you're locked out from any old or obscure hardware unless you have a lot of time to spend playing kernel politics, keeping up with their API changes, or both.

account42
4 replies
1d5h

they have strict requirements on what kind of code they will accept and also decline contributions out of basically organisational politics reasons

They accept only code which they will be able to maintain, yes. That excludes spaghetty or implementations of complex undocumented APIs that are useless without a binary blob. Nothing unreasonable about that.

lmm
1 replies
19h41m

Perhaps. In my experience a bad driver is better than no driver; not wanting bad code in your codebase is reasonable, but gets less reasonable when you also refuse to offer an API. And even if your code does meet their quality requirements, it can still get rejected for kernel-politics reasons.

account42
0 replies
10h41m

Unless you are going to provide examples then I am going to assume that " kernel-politics" refers to things like rejecting "drivers" that can only used with a closed source userspace blob. In those cases the reasons have technical merit - how are the kernel developers supposed to maintain an effectively proprietary API without any idea how it is being used.

Wytwwww
1 replies
1d3h

It's unreasonable if there aren't any reasonable alternatives.

account42
0 replies
10h40m

How is it unreasonable that the kernel developers expect those that want to rely on their existing and continued work to put in a modicum of effert to not make said kernel developers life more difficult?

1oooqooq
1 replies
1d2h

in practice you're locked out from any old or obscure hardware unless you have a lot of time to spend playing kernel politics, keeping up with their API changes, or both.

no sympathy. you're also out of luck using old hardware in the first place because the manufacturer wants you to buy the new version. they will help you LESS than Linux devs. you're point is very unhelpful to the discussion, unless you got drivers updates from the manufacturer

lmm
0 replies
19h43m

you're also out of luck using old hardware in the first place because the manufacturer wants you to buy the new version. they will help you LESS than Linux devs.

The manufacturer probably doesn't exist any more. They wrote decent drivers and supported them for a number of years, that should be enough. Or maybe a dedicated fan wrote some OSS drivers at some point in the past. On both Windows and FreeBSD that's good enough; once a driver has been written, it largely stays working, so I can keep using my hardware. This really is a unique downside of Linux.

Zambyte
0 replies
1d14h

I wonder if Linus has ever made the connection between this problem and his stance against applying the Unix philosophy to kernels :P

kccqzy
1 replies
1d16h

I think you've only experienced Linux on Intel/AMD, not Linux on ARM SOCs.

gtirloni
0 replies
1d4h

I'm looking at several ARM devices running Linux on my desk right now. What's your point?

jeffbee
0 replies
1d3h

This "power" is hypothetical unless you are willing to DIY all the drivers, which you will be writing blindly without datasheets. Vanilla Linux doesn't support IPU6 webcams, Qualcomm WiFi 7 chips, and dozens of other common parts.

faust201
0 replies
1d12h

I dont think they are the target market. E.g. Some people will never buy computers but only assemble them; some will only run freeBSD or linux. For vast majority - just open and use the computer.

fowl2
44 replies
1d12h

yes the beautiful advantage of having some super-forked kernel.

the solution is to get everyone on the same kernel, which is then updatable - not hack together something that kinda works on top of a never updated snowflake

cageface
36 replies
1d11h

The Linux kernel team has been hostile to binary drivers in the past. Is that not still the case?

vetinari
26 replies
1d10h

The linux kernel team understandably does not want to maintain overcomplicated shims, keep multiple versions of the same subsystem and debug opaque problems so some can keep their precious binaries secret.

You keep the binaries, you get to maintain them and solve their problems. Seems fair.

cageface
14 replies
1d10h

Ok but this is also going to mean people are going to keep long lived forks, like Android, that do support binary drivers.

bayindirh
12 replies
1d9h

Maybe then companies should stop hiding their bad code and binary hacks behind closed source drivers and write proper open source ones instead.

If they are using 3rd party IP, they should work with the providers for compromises, or license the patents and re-implement them.

AMD and Intel did great strides on these fronts, not counting the money-loving people called HDMI forum.

amadeuspagel
8 replies
1d5h

Nvidia became the biggest company on earth in part thanks to closed source drivers, allowing them to invest more into software.

chmod775
4 replies
1d5h

Nvidia isn't even in the top 50 of largest companies by any sensible metric.

bmacho
3 replies
1d4h

https://companiesmarketcap.com/

By market cap, nvidia is the 3rd biggest one, about as big as google and facebook together. Market cap is a sensible metric.

chmod775
1 replies
1d3h

Then I guess Rhodium is the largest metal and the Hinkley Point C nuclear power station is the largest building in Britain.

If you conflate value with size, both terms become near useless. Value can only mean something in relation to something else.

Picture this: You have a large company with thousands of employees having similar revenue to their competitor, which accomplishes the same with one employee and a much smaller operation.

Which one is likely to be more valuable? Obviously the smaller one. If we however conflate value with size, as is so often done in popular economics, just pointing out this single fact becomes a complicated exercise of having to carefully employ language that we neutered for no good reason at all. Not to speak of all the misunderstandings this is going to create with people who aren't used to this imprecise use of the English language.

If you mean revenue, say revenue, if you mean value, say value, if you mean size, say size. Don't use "large" to say "valuable". Why would you do that if there's a perfectly good word already? Imprecise language is often used to either confuse or leave open an avenue to cover one's ass later... which brings us back to popular economics.

quesera
0 replies
18h35m

"Size" is unitless, so I disagree with your rationale.

Precision is always helpful, but valuation is a very common size metric, and there was no confusion about OP's meaning.

hajile
0 replies
1d3h

Market cap for tech companies is a bubble. It has more in common with the lottery total than with a representation of real value.

account42
1 replies
1d5h

What is your reason for believing the closed source nature of nVidia's graphics drivers played a role in their success? AMD's and Intels Windows drivers are also closed source and so were AMD's Linux drivers when nVidia managed to secure the lead.

nVidia is also finally moving to an open source kernel module so a closed source one doesn't seem important to them for keeping their moat.

michaelt
0 replies
1d4h

Presumably amadeuspagel means nvidia has walked a careful line with CUDA & ML.

CUDA is much more accessible/documented/available than a lot of comparable products. FPGAs were even more closed, more expensive and had much worse documentation. Things like compute clusters were call-for-pricing, prepare to spend as much as a small house.

On the other hand, CUDA is closed enough the chips that run it aren't a commodity. If you want to download that existing ML project and run it on your AMD card - someone will have to do the leg work to port it.

That means they've been able to invest quite a lot of $$$ into CUDA, knowing the spending gets them a competitive advantage.

bayindirh
0 replies
21h25m

nVidia built this bubble by playing dirty on many fronts.

Their Windows drivers are a black box which doesn't conform to many of the standards, or behave the way they see fit, esp. about memory management and data transfers. GameWorks library actively sabotaged AMD cards (not unlike Intel's infamous compiler saga). Many nVidia optimized games either ran on completely unoptimized or outright AMD/ATI hostile code-paths. e.g.: GTA3 ran silky smooth on an nVidia Geforce MX400 (bottom of the barrel card) while thrice powerful ATI cards stuttered. Only a handful of studios (kudos to Valve) optimized engines for both and showed that a "paltry" 9600XT can do HDR@60FPS.

On Datacenter front, they actively undermined OpenCL and other engine by aritifically performance-capping them (you can use only one DMA controller in Tesla cards, which actually have three DMA engines), slowing down memory transfers and removing ability to stream in/out of the card. They "supported" versions of OpenCL, but made it impossible to compile on their hardware, except OpenCL 1.1.

On driver front, they have a signed firmware mechanism, and they provide a seriously limited firmware to nouveau just to enable their hardware. You can't use any advanced features of their cards, because the full-capability firmware refuses to work with nouveau. Also, they re not opening their kernel module. Secret sauce is moving to firmware, leaving an open interfacing module. CUDA, GL and everything is closed source.

On the other hand, they actively said that "The docs of the cards are in the open. We neither help, nor sabotage nouveau driver project. They're free", while cooking a limited firmware for these guys.

They bought Mellanox, the sole infiniband supplier to vertically integrate. Wonder how they will cripple the IB stack with licenses and such now.

They're the Microsoft of hardware world. They're greedy, and don't hesitate to make dirty moves to dominate the market. Because of what they did, I neither respect nor like them.

oblio
2 replies
1d7h

I'd agree with you, but ever since mobile devices have taken off, aren't we much worse than before? In the last peak PC years, say, before 2011, I was under the impression that hardware vendors were starting to play ball, but now things seem super locked down and Linux seems to be falling behind in this tug of war between FOSS - binary-only.

bayindirh
1 replies
1d6h

I think the problem with mobile devices is not the software but the hardware. These devices are locked down partly because of business interests (planned obsolescence), but another part is personal identity security.

A run-of-the-mill Android or iOS device carries more secrets inside, which have much more weight (biometric data, TOTP, serial numbers used as secure tokens/unique identifiers, etc). This situation makes them a "trusted security device," and allowing tampering with it opens an unpleasant can of worms. For example, during my short Android stint, I found out that no custom ROM can talk with the secure element in my SIM, and I'm locked out of my e-signature, which is not pleasant.

If manufacturers can find a good way to make these secure elements trustworthy without the need to close down the platform and weld shut, I think we can work around graphics and Wi-Fi drivers.

Of course, we also have the "radio security" problem. Still, I think it can be solved by moving the wireless radio to an independent IP block inside the processor with a dedicated postbox and firmware system. While I'd love to have completely open radio firmware, the wireless world is much more complex (I'm a newbie HAM operator, so I have some slight ideas).

So, the reasons for closing down a mobile device are varied, but the list indeed contains the desire for more money. If one of the hardware manufacturers decides to spend the money and pull the trigger (like AMD did with its HDMI/HDCP block), we can have secure systems that do not need locking down. Still, I'm not holding my breath, because while Apple loves to leave doors for tinkerers on their laptops, iPhone is their Fort Knox. On the other hand, I don't have the slightest confidence in the company called Broadcom to do the right thing.

oblio
0 replies
1d6h

Interesting details, thank you for providing them!

Regarding this:

Still, I'm not holding my breath, because while Apple loves to leave doors for tinkerers on their laptops, iPhone is their Fort Knox.

People don't realize, but 99% of what Apple does hinges on the iPhone. The rest of the products pack a much lower punch if the iPhone were to vanish from the face of the Earth completely. It's the product all their customers have and they have it at all times with them. It's the product that's probably the easiest to use and the easiest to connect to other things.

So yeah, the iPhone will probably be the last non-military device on the planet to be opened up :-)

jeffbee
0 replies
1d3h

This is not a difference between ChromeOS and Android. ChromeOS is replete with binary vendor blobs, which is why the webcams, wifi, and touchpads work correctly on Chromebooks and poorly or not at all on other laptops running vanilla Linux.

bmacho
6 replies
1d4h

The linux kernel team understandably does not want to maintain overcomplicated shims,

The linux kernel team should offer a fixed compatibility layer for drivers. And for user applications too, while we are at it.

fireflash38
4 replies
1d4h

You are free to implement it.

throw0101d
3 replies
1d3h

> The linux kernel team should offer a fixed compatibility layer for drivers. […]

You are free to implement it.

But would it be accepted?

From what I see with both NVidia's and OpenZFS's compat layer, it seems to indicate that the Linux kernel folks are actively hostile against any such thing.

(Contrast this with, say, the FreeBSD folks where both the kernel- and user-land API/ABI stays frozen over the life of a major version release.)

jpc0
2 replies
1d1h

NVidia's and OpenZFS's compat layer

I think this is more related to GPL licensing than them not wanting to assist. If it's completely generic then maybe, but how do you argue that the closed source Nvidia license or the dubious license for zfs can be linked to the GPL licensed kernel without being invitation of one of those licenses. Specially concidering how vague the GPL is regarding what it even means to be using GPL licensed code.

If I present an API anyone can use and Nvidia happens to target it it's a different ballgame than if I implemented and shim specifically targeted at Nvidia's binary blob. To my knowledge the latter is a violation of GPL should it be the inverse and therefore an explicit exemption would need to be put in place for the shim in the GPL and that is the showstopper.

throw0101d
0 replies
3h55m

If it's completely generic then maybe, but how do you argue that the closed source Nvidia license or the dubious license for zfs can be linked to the GPL licensed kernel without being invitation of one of those licenses.

It's having a stable foundation of the kernel's API that others can code against. As it stands, the (compat) shim layer(s) have to constantly be tweaked for new kernels:

Upcoming Linux 6.7 release will change a couple of interfaces. Adapt or die!

* https://github.com/openzfs/zfs/pull/15681

And "dubious license"? Really? Given the incorporation of CDDL code of DTrace into macOS and FreeBSD, and of OpenZFS into FreeBSD (and almost into macOS), it seems that license is quite flexible and usable, and that any limitations exist on the GPL side of the equation.

To my knowledge the latter is a violation of GPL should it be the inverse and therefore an explicit exemption would need to be put in place for the shim in the GPL and that is the showstopper.

How is coding against an API a violation of the GPL? Neither Nvidia's, nor OpenZFS's, code is a derivation of any GPL: (Open)ZFS was created on a completely different operating system, and was incorporated into others (e.g., FreeBSD, macOS), so I'm not sure how anyone can argue with a straight face that OpenZFS is derived from GPL.

Similarly for Nvidia: how can it be derived from GPL Linux when it the same driver is available for other operating systems (and has been for decades: I was playing RtCW on FreeBSD in 2002):

* https://www.nvidia.com/en-us/drivers/unix/

It's one of the reasons the whole DKMS infrastructure had to be created: since API stability does not exist you have to rebuild kernel modules for every kernel—even open source ones like OpenZFS, Lustre, BeeGFS, etc.

* https://en.wikipedia.org/wiki/Dynamic_Kernel_Module_Support

Dylan16807
0 replies
22h30m

The hostility doesn't seem to care if things are generic or not.

Remember when they broke ZFS by marking the "save FPU state" function as GPL-only? Telling the kernel to save registers so they can be used for scratch space is one of the most implementation-independent things you can do.

wizzwizz4
0 replies
1d3h

And for user applications too, while we are at it.

They do.

If a change results in user programs breaking, it's a bug in the kernel. We never EVER blame the user programs. How hard can this be to understand?

WE DO NOT BREAK USERSPACE!

— Linus Torvalds, 2012

kaba0
3 replies
1d3h

You keep the binaries, you get to maintain them and solve their problems. Seems fair.

And you get to use modern mobile hardware like what a pinephone has.. lose, lose. Especially that modems simply can’t be open-source for the most part due to governmental regulations, so this everything open-source fairy tale doesn’t make much sense in mobile hardware.

yjftsjthsd-h
2 replies
1d2h

Notice that it's only mobile where that's a problem; x86 machines have apparently been doing the impossible for ~30 years now. And no, modems aren't an excuse; the modem itself can't be FOSS (probably) but it's just a self-contained device running its own firmware; there's nothing stopping you communicating with it via FOSS drivers.

kaba0
1 replies
1d1h

Did you miss the first, say, 25 years of the 30? Because I have literally reset my video driver blindly from terminal once, because it just failed after an update, and similar stuff. Also, this is pretty much due to the oligopoly of a few entities in hardware space, making it easier to support said devices, and standards.

Phones aren’t built from a small selection of devices, and they often have patented firmware that the phone manufacturer couldn’t even publish even if they want to. As I shown, look at the best attempt at building an open-source phone. It sucks majorly.

yjftsjthsd-h
0 replies
1d1h

Although I have thoughts on the matter, I'm not actually arguing about the quality of drivers, I'm arguing that x86 linux has had minimal problems with keeping all drivers in-tree, and if vendors want to support linux they've generally had no problem working with that. It is for some reason only mobile and embedded vendors that find it impossible to upstream drivers and that insist on shipping hacked-up vendor forks of ancient kernels.

And again, firmware is a separate matter; there's plenty of cases of linux shipping blobs for the device to run, so long as the driver to talk to that device is FOSS.

fransje26
4 replies
1d8h

The linux kernel is full of binary blobs. For better or worse..

ungamedplayer
3 replies
1d7h

Do you mean the firmware repo?

Because I don't remember seeing any in the source code... But ist be looking at the wrong place.

fransje26
0 replies
5h14m

Ah. That would depend on the definition of "Linux kernel" then, yes.

You are right, in the firmware tree, not in the pure kernel itself.

anthk
0 replies
1d5h

The TGZ it's full of blobs.

1oooqooq
0 replies
1d3h

anti gpl bots don't know the difference. they usually can't read code either.

you're correct, only firmware tree have binary blobs.

Matl
2 replies
1d10h

Binary drivers are hostile, not the Linux kernel.

askonomm
1 replies
1d8h

Ok no problem, I'll just ideology to run things.

klabb3
0 replies
1d8h

You don’t have to go anywhere near ideological debate to argue against binary blobs in the OS. The blobs could be verbatim from Stallman himself and blessed in the holy waters of EFF, and they would still be bad for dozens of technical reasons.

1oooqooq
0 replies
1d3h

good. everyone should be hostile to binary drivers.

you have to not understand the first thing about kernel drivers to even consider binary drivers upstream. for starters, who provides a new binary when the api change every every new kernel version?

izacus
6 replies
1d11h

Android has been booting off mainline for awhile now, so what are you going on about?

dezgeg
4 replies
1d11h

Mainline kernel tends to have only basic support (if at all) for many SoCs that actually get used in phones, especially full power management support has been lacking.

izacus
3 replies
1d9h

Right, but it doesn't seem SoC vendors are budging on that - maybe it's slowly time for Linux to figure out a better approach?

yjftsjthsd-h
0 replies
1d2h

Linux isn't budging - maybe it's time for SoC vendors to figure out a better approach?

dvdkon
0 replies
1d8h

Most PC and server hardware has FLOSS drivers (with proprietary firmware), even Qualcomm is upstreaming support for the new Snapdragon Elite (maybe it's made by a different team?).

I think phone SoCs are the odd ones out, which sadly doesn't mean they'll improve any time soon. Supporting an ABI for binary drivers in Linux might help phones, but it would give everyone else a chance to regress in their support, so I understand Linux kernel developers' position.

bayindirh
0 replies
1d9h

Stopping planned obsolescence via closed drivers is a start, no?

dvdkon
0 replies
1d8h

Android can boot from a mainline kernel, but all that gets you is that phones run a kernel forked from mainline, not forked from Google's fork.

modeless
29 replies
1d16h

ChromeOS was already guaranteeing 10 years of updates for every device. Has any Android phone ever gotten that many updates?

moneywoes
12 replies
1d16h

Highest I could find is 6

mortos
11 replies
1d15h

The Pixel 8 is promised 7, which I believe is the highest of any phone.

nordsieck
3 replies
1d13h

I guess we'll see how things shake out.

Unless something drastic changes, I'm sticking with Apple because of their demonstrated long-term support. Every phone since 2015 has been supported for 6-7 years. And that's actual support, not a "technically correct" mix of real support and security patches only.

https://www.statista.com/chart/5824/ios-iphone-compatibility...

wasabinator
2 replies
1d12h

That's overlooking the fact that Apple does not release the full featureset of new iOS versions on older devices and as years pass the number of feature omissions increases.

youngtaff
0 replies
1d10h

There’s hardware dependencies for some of the ‘missing’ features and if the hardware’s not there then there’s not a lot the OS can do to support it

asadalt
0 replies
1d11h

which makes sense? like i can’t expect the new ai intelligence (a 3B model) will run at all on iPhone X

kaba0
1 replies
1d3h

Google can’t even keep a project alive for that long, so let’s not jump ahead. We will see when they actually deliver.

nolist_policy
0 replies
1d2h

Um they already delivered, for example on 8 years of updates for past Chromebooks.

1oooqooq
0 replies
1d2h

it's laughable because i doubt they have any proof that Qualcomm will continue to deliver updates. fairphone is just a intermediary.

they are using the long life Qualcomm parts, that only guarantee production and stock for x years. maybe with software updates by an intern.

it definitely will not guarantee a new driver set compiling to a recent kernel if the old kernel must be upgraded for security or anything else.

so it's kinda bold they promise that with out any disclaimer that they are just hopeful

oblio
0 replies
1d7h

Availability of software and firmware updates

(a)

The latest available version of the firmware shall be made available for a minimum period of eight years after the placing on the market of the last unit of a certain product model, free of charge or at a fair, transparent and non-discriminatory cost. The latest available security update to the firmware shall be made available until at least eight years after the placing on the market of the last product of a certain product model, free of charge.

(b)

Information on the minimum guaranteed availability of software and firmware updates, availability of spare parts and product support shall be indicated in the product information sheet as from Annex V of Regulation (EU) 2019/2013.

https://eur-lex.europa.eu/eli/reg/2019/2021/oj

I can't find all of it, but part of it (Samsung also did the same thing) is triggered by EU environment protection directives.

fsflover
0 replies
1d10h

Librem 5 will get lifetime updates, because it runs mainline Linux without proprietary drivers.

bwat49
0 replies
1d5h

Samsung S24 has 7 years as well

zamadatix
5 replies
1d15h

The Nvidia shield vs other 1st party SoC devices running Android (e.g. from S devices with Samsung SoCs or Pixels with Google SoCs) goes to show the short lifespan of Android phone updates really has nothing to do with the underlying hardware or OS.

Also the type of updates guaranteed for 10 years on ChromeOS are not the feature update type that require upgrading the actual OS, just security and bugfix patches.

DCKing
2 replies
1d9h

The Shield TV has had an impressive support lifecycle for an Android device but it still falls well short of a 10 year support cycle.

The Shield was released in May 2015 and its latest software update has an Android security patch level of April 2022 and was released November 2022. No more updates seem to be forthcoming. Notably, all Shield TVs today are vulnerable to remote code execution when displaying a malicious WebP image [0], a widespread issue uncovered last year.

Apple released the Apple TV HD two months after the Shield TV, but it still receives the latest tvOS updates to this day and will be receiving this year's new tvOS 18 [1] [2]. It received a fix for that WebP issue the same day as supported Macs, iPhones and iPads did last September.

Even the best Android device examples with good vendor support still seem to be falling short. The Shield TV is still capable streaming hardware in 2024 used by many people, but it's sitting there doing that while missing important security patches unbeknownst to the users.

[0]: https://blog.isosceles.com/the-webp-0day/

[1]: https://www.macrumors.com/2024/06/10/tvos-18-compatible-appl...

[2]: To be fair it's the only Apple A8 device that receives support until today. The iPhone 6 with the same chip was launched mid 2014 and received its last update in early 2023.

pquki4
0 replies
1d9h

... which confirms that this has more to do with the vendor rather than hardware/OS?

PaulHoule
0 replies
1d2h

I still have a Shield TV. It is pricey but my understanding is that other Android streaming devices suck.

I was thinking of getting a second Shield for my second TV but it turned out I had a $50 PC sitting around which works fine as a media player.

londons_explore
1 replies
1d14h

ChromeOS updates are actual feature updates - for the 10 years of support, your device will be tip-of-tree and have all the features (except a few which are flagged-off, usually for business or performance reasons)

zamadatix
0 replies
1d12h

Yeah, you're right. I got a little separated from the comment chain here after writing about the Nvidia Shield and what it implies about phone lifecycles by conflating that story with talking to ChromeOS. While the Shield received major kernel version updates as recently as 2 years ago, going back to the actual comment discussion around the abstracted ChromeOS userspace vs firmware/kernel/driver layer ChromeOS does already drive feature updates of the upper segment of the OS for the full lifecycle without requiring the kernel updates seen in the Shield example. Good catch and thanks for the correction.

eddythompson80
5 replies
1d15h

lol, no? The most I got from Sony and Samsung in 2012 and 2015 was 1-2 years. Which is when I generally stopped using Android. It was frustraing enough to read all the news about "Google releases new Andoid with (list of features)" then asking when is my Sony/Samsung is getting that? to hear "oh maybe in 4 or 6 months if you're lucky. Or download this random ROM from `appzworrier` on xdaforum. Surely they haven't put any malware in the ROM or you'll hear about it here". I did give it another shot in 2019 with a Pixel 4 phone then after 2 RMAs with battery issues (4-5 hours of battery) I went back to iPhone. Funny thing is in 2013 and 2016 I switched back to the old iPhone I had before the upgrad, I just updated them to the latest iOS version there was at the time. After the shitshow I had with google support in 2019 I just gave up.

chem83
4 replies
1d14h

GKI didn't exist in 2012/2015, so it was very difficult and expensive for OEMs to support Android for longer. Apple could do so more easily because they control both hardware and software. Google introduced GKI and other related efforts/architectures to address this very problem, which is unique to Arm, Linux and the ecosystem around it.

It's really silicon manufacturer's fault for not wanting to mainline and long-term support their BSP, not Google's.

msh
3 replies
1d12h

I would say it's both. Google could put support requirements in the gms certification

izacus
2 replies
1d10h

And how would that help when the major SoC manufacturer refuses to support their chipsets?

msh
0 replies
1d4h

If a device cant get play certified it cant realistically be sold anywhere in the world except china, so no phone manufacturer would choose a SoC for their phone that was not supported.

bayindirh
0 replies
1d9h

Let the market decide, then.

Isn't this what capitalism loving companies say, anyway?

Broadcom had to open source their wireless drivers at the end. Same can happen for SoCs too. Add pressure, if not broken, goto 10.

rchaud
1 replies
1d15h

"10 years of updates" for Google products is a bold claim. Will ChromeOS even exist in 2034, let alone run on 2024 hardware?

wiseowise
0 replies
1d13h

Why wouldn’t it? It might be rebranded as Android Desktop in the future or something, though.

chem83
1 replies
1d16h

That's likely due to contractual obligations with Google and the use of well-supported AMD/Intel hardware and BSP. Linux hardware / device architecture makes this difficult on Arm and the many silicon BSP providers and that's what the stable Kernel Module Interface that Android imposes helps with.

NewJazz
0 replies
1d12h

They've had arm Chromebooks with the same guarantees. Magically Qualcomm and Mediatek seem to be able to find their firmware and kernel sources when it comes to their laptop chips.

phh
14 replies
1d9h

Both real-world and on-paper status are literally the exact opposite of what you're describing.

As others have already mentioned, just stating the facts about long-term support: chromebooks have much longer support than Android devices. Both looking at the 99-percentile, the median, and the 1-percentile.

Chromebooks don't get stupid bugs that require workarounds in userspace like: - BPF maps being broken because someone at Mediatek ran some proprietary static analyser and blindly pushed some fix - Camera only works properly in the OEM app - GL drivers are upgraded once every blood moon and very OEM has its custom GL version - Treble doesn't break because Samsung decided that mount loops were dangerously insecure at a time it wasn't required - You don't need to keep workarounds for mainline kernels that you can't upgrade, because Google/Android forbids you to upgrade your kernel [1]

Android deprecates driver after 3 years [2], so vendor need to do a lot of work on a very frequent basis. As an OEM, I just want to do my (painful) contributions to mainline, and have them maintain it. Android actively hinders me from doing that.

As an Android OS developer, I could go on and on and on about the stupid issues that Android kernels get that Chromebooks don't. All of those issues would happen just exactly the same on Fuchsia.

I'm not saying ChromeOS' development method works for smartphones, it doesn't. I'm not saying it is desirable, I think it isn't (because it completely kills most innovation). But ChromeOS handles fragmentation better than Android on every single criteria you could imagine.

[1] Google/Android added a bunch a new stupid policies that actually prevent me from upgrading kernels on deployed devices

[2] Yes there is actual planned obsolescence nowadays in Android. It wasn't the case few years ago where obsolescence was accidental

rob74
8 replies
1d8h

My personal (probably non-representative) experience with ChromeOS vs. Android: my ChromeOS device (a Lenovo IdeaPad Duet 2-in-1 Chromebook) tends to get extremely unresponsive (i.e. hangs itself up for minutes before responding again, or just spontaneously reboots) the longer it runs without being rebooted, to the point that I eventually have to hard reset it after about a week of on-and-off use. I basically only use the browser on it (but with lots of tabs open). This never happened to me on any of the many Android phones/tablets I had. Maybe it's some bug in how newer ChromeOS versions work on this by now pretty old device, but it's still annoying as hell...

nolist_policy
1 replies
1d6h

You could try disabling the Android system ("Google Play"), since they switched running Android in a VM in newer ChromeOS versions. So you have an Android VM running in the background all the time and that might overwhelm the small Mediathek processor in the Duet.

jeffbee
0 replies
1d3h

That's the irony of this announcement. The only problems I ever suffered on ChromeOS came from the Android subsystem.

freedomben
1 replies
1d4h

I've been using Linux for a long time, including chromebooks, and this sounds like textbook low memory to me. I love linux, but it doesn't handle low memory situations well[1], and whatever Chrome does in low memory situations makes it much worse. Tab discipline is the most important thing you can do. I have an obscene amount of tabs open too so I feel you. I've started making liberal use of the Session Buddy extension and that is helpful, though my true fix was putting 128 GB of RAM in :-D

[1] This is improving greatly in the last year or two, but that probably wouldn't have made it to your chromebook.

moe_sc
0 replies
1d2h

EarlyOOM [1] could help with that quite a lot. Not to sure about using it on chromebooks, but linux got quite a bit more usable because of it.

[1] https://github.com/rfjakob/earlyoom

wishfish
0 replies
1d

I know your Duet problem well. I've got a Duet around here. It was slow from the beginning. Noticeably, it would often slow to a crawl while Chrome OS was downloading an update in the background. And sometimes, it would be slow after waking for about 5 to 10 minutes and then suddenly go to a more acceptable speed.

I also have a Lenovo Ideapad Chromebook running on an Intel 4020 with only 4GB. Despite being slow hardware, it runs circles around the Duet. The 4020 can be sluggish at times, but it never had the big slowdowns of the Duet. It could even run Visual Studio Code at acceptable speeds. Something was very wrong with the Duet. Usually Chrome OS is good on lower end hardware.

phh
0 replies
1d7h

Gotta admit I'm curious there. I've rocked a rk3399 chromebook for years (stopped roughly when it got deprecated) without issues, and I was stressing it with crouton. My gf is still using a rk3288 chromebook "fine" (it's no longer her daily driver though). Those are low-end 8yo devices.

Anecdotal counter-point I have a colleague with a Samsung Galaxy Tab A 8" 2019 (SM-T290), and after just 3 years it became absolutely unusable, even after a factory reset. And it's "by design": it shipped with 2GB RAM, which was usable in Google/Android 9 (shipped OS), but just completely dead on Google/Android 11 (updated OS). Obviously I saved that device from oblivion with a Google-less Android that takes half as much RAM.

kelsey98765431
0 replies
1d3h

Are you by chance using external storage media such as USB or SD cards?

The bus on these older model chromebook devices had a choking issue where the kernel would fully saturate the transfer bus and cause a cgroup scheduling strategy to give full priority to the processes using the bus at the expense of the gui. Solutions to this problem include a new NVME or software level cgroup reconfiguration of the kernel to revert scheduling priority to equal across all cgroups.

Or it could be something else entirely, but last time i had this issue and bug hunted it the finding was as stated above.

hawski
0 replies
1d6h

I had issues like that a few years back on memory starved Chromebooks, in my case the biggest savior was the Great Suspender/Discarder extension as I hoard tabs, otherwise the Android subsystem on a 4GB RAM machine is stretching it thin.

loa_in_
2 replies
1d3h

Android system deals with so many more different architectures of hardware though

1oooqooq
1 replies
1d3h

everything is arm ebi... even x86 is long gone (Android 4)

loa_in_
0 replies
21h29m

I know the processor architectures, but there are things in play like:

- some phones can read from the screen framebuffer, some are write only - a variety of actual chips used for modem, storage, etc.

surajrmal
1 replies
16h52m

Why do you say the same issues would happen on fuchsia?

phh
0 replies
8h25m

- BPF maps being broken because someone at Mediatek ran some proprietary static analyser and blindly pushed some fix

Technically this one would possibly not be in Fuchsia, though Google let OEMs put so many hooks everywhere in the system that tbh it would still be possible to do this kind of fuckups

- Camera only works properly in the OEM app

Fuchsia or not, if Google allows OEMs to add custom vendor calls from OEM app to camera driver, then OEM will still be allowed to do that. They could already forbid it in Android and choses not to.

- GL drivers are upgraded once every blood moon and very OEM has its custom GL version

GL has nothing to do with the OS, GL vendors pretty much ship the same GL across all OS

- Treble doesn't break because Samsung decided that mount loops were dangerously insecure at a time it wasn't required

This would definitely still happen (in other ways), by all the hooks that Google leave to OEMs to implement their own security systems (and Samsung is the company who brought SELinux in Android, so even though they do a lot of shit, let's not completely ignore them)

- You don't need to keep workarounds for mainline kernels that you can't upgrade, because Google/Android forbids you to upgrade your kernel [1]

This one, ironically, would STILL HAPPEN, at least if we extrapolate how Android team work. When building Android from main, you get 10000 as SDK version number to explicitly mention that this is a development tree not to be used.

Fuchsia theoretical advantage should be that one will be able to upgrade the kernel without upgrading the drivers. But again let's extrapolate what Android team does: They create new API versions every year or more, and PLAN THE OBSOLESCENCE of those API versions within 3 years. So currently when an OEM write their drivers, they get kernel security patches for 6 years after the release of the "original" kernel of that version. With Fuchsia you get down to 3 years.

I want to re-iterate that even though from that perspective, ChromeOS' approach is ideal, it has issues wrt innovation. I believe that the ideal situation is an open but centralized approach like what we have currently with DKMS on GNU/Linux distributions. Except let it focus on LTS Linux kernel versions, and have flags on the DKMS to allow switching to newer LTS. Here "open" doesn't necessarily mean community-led. It can be very well just be that each vendor is responsible for its own product. So like Mali is responsible for their mali kernel driver, BOE is responsible for their panel driver, etc...

tgma
3 replies
1d15h

This is actually a legit context in which GNU and Linux distinction matters and improves readability. "vanilla Linux" is really referring to GNU.

Zambyte
1 replies
1d14h

I actually don't understand the point they are trying to make at all, even from this lens. They say that by not using "vanilla Linux" there is a more well-defined seperation between kernel and user space development, when actually the exact opposite is true. By not using the vanilla Linux kernel, the kernel with Android pacthes is actually more coupled to the Android user space than other user spaces that traditionally run on Linux, like GNU or Alpine.

afiori
0 replies
1d11h

I believe they are talking more about the hardware abstraction layer, IIRC Android in recent years adopted a more stable interface for hardware drivers.

To my understand in Linux most drivers are codeveloped with the kernel as it does not have a stable interface for drivers (one might say that it is a pro as it discourages proprietary drivers)

anthk
0 replies
1d9h

Vanilla Linux is not even GNU unles you get Linux-Libre with is mostly FSF-sanctioned to push out every blob.

aixpert
3 replies
1d10h

Another big advantage of Android is the implementation of intents (also compared to Apples new crippled intents API), which may turn out to become the deciding factor in the race towards the winning AI Agent OS, as it may enable AI to use programs programmatically

chem83
2 replies
1d9h

Care to share what makes Android intents superior to what Apple announced on WWDC?

aixpert
1 replies
1d9h

if I'm not mistaken the Intent categories available now are only

Books Browsers Cameras Document readers File management Journals Mail Photos Presentations Spreadsheets Whiteboards Word processors

One hour 39 + 39 seconds in the demo

kaba0
0 replies
1d1h

I think the context of these were that these contexts were included in the trained model, so it can interact with this kind of “intents”. Ios has a very wide-reaching “intent” system, readily accessible from Shortcuts.

dpratt
1 replies
1d2h

I will start to believe the "7 years of updates" promise for Pixel phones when the first model that was released with this promise is approximately 7.5 years old. At that point, I may begin to reconsider my opinion. I fell prey to Google marketing when they released the very first Pixel model - I spent an exorbitant amount of money on it, only to have it utterly abandoned and deprecated, with support and updates dropped just over a year later.

As in all things relating to anything stated by Google with respect to the privacy, availability or expected lifetime of a consumer product, the maxim is not even "trust but verify", it should be "distrust, watch carefully, and assume the worst".

jsnell
0 replies
1d1h

As far as I can tell from contemporary sources, Pixel 1 launched with a promise of two years of major releases + one additional year of security updates [0]. This was in October 2016. They exceeded that, and actually did three years of major releases, and security updates for a couple of months longer than promised, with the last one in December 2019 [1].

Seems like they a) delivered more than initially promised, b) did not drop it just a year after release. How long a support period do you think they actually promised, and where did they promise it?

[0] https://www.androidpolice.com/2016/10/19/pixel-pixel-xl-guar...

[1] https://9to5google.com/2019/12/02/google-pixel-no-updates/

account42
1 replies
1d5h

5 years of device updates

Is this supposed to be impressive? My current PC is over four years old and I'm in no rush to replace it. The same Linux distribution runs of decades old HW.

kaba0
0 replies
1d1h

Does your PC include a bunch of noname random hardware, like gyroscopes, modems (which have legal requirements and there are only a handful to choose from, none of which has open-source drivers), etc?

pantalaimon
0 replies
1d6h

It helps prevent users getting locked out of the latest version of the OS just because the device manufacturer didn't update their BSP.

Didn't Google push for mainline integration at some point to completely avoid the need for manufacturer specific BSPs?

oblio
0 replies
1d7h

Close, but not quite. And guess who's triggered it, it's the usual suspect, the EU:

Availability of software and firmware updates

(a)

The latest available version of the firmware shall be made available for a minimum period of eight years after the placing on the market of the last unit of a certain product model, free of charge or at a fair, transparent and non-discriminatory cost. The latest available security update to the firmware shall be made available until at least eight years after the placing on the market of the last product of a certain product model, free of charge.

(b)

Information on the minimum guaranteed availability of software and firmware updates, availability of spare parts and product support shall be indicated in the product information sheet as from Annex V of Regulation (EU) 2019/2013.

https://eur-lex.europa.eu/eli/reg/2019/2021/oj

I can't find all of it, but part of it is triggered by EU environment protection directives.

maven29
0 replies
1d12h

https://www.engadget.com/samsung-pledges-seven-years-of-upda...

Samsung offers 7 years of major version upgrades on their flagship lineup starting with the S24. It is not retraoctive, although their 5 year policy has been in place for 2021 devices.

It's unlikely that they will offer security patches beyond that point and the mid-range segment still only gets 4/5 years.

Chinese OEMs offer "major" upgrades for longer, however they achieve this by backporting both Android mainline and proprietary features to older versions of Android, along with security patches.

tonymet
39 replies
1d22h

Does this imply that Crostini/ Crouton / Linux developer mode will go away? I'm quite proud of the development I've done on a $200 chromebook and it was one of my favorite features.

odo1242
13 replies
1d22h

It wouldn’t- it would just be running on the Android (still Linux) terminal instead of actual Linux

tonymet
8 replies
1d20h

is there an android terminal? I'm only familiar with debugging mobile devices over adb and it's restricted.

I'm aware of android terminal apps, but they typically connect to a remote terminal via SSH.

Does android boot into a terminal like a typical linux device? I thought it booted into fastboot

yjftsjthsd-h
7 replies
1d19h

is there an android terminal? I'm only familiar with debugging mobile devices over adb and it's restricted.

I'm aware of android terminal apps, but they typically connect to a remote terminal via SSH.

You certainly can run a local terminal (I think I've seen it baked in as part of developer options, but also as an extra app), though if you don't have root it is somewhat restricted in what you can actually do.

Does android boot into a terminal like a typical linux device? I thought it booted into fastboot

I think you're slightly misunderstanding how boot works on both Android and Desktop Linux. The kernel is perfectly happy to run whatever you want on such displays as are available. Android tends to boot from firmware (which also implements fastboot) to a bootloader to the kernel and the kernel brings up the system with SurfaceFlinger (the Android display manager) owning the screen. On desktop linux there's more diversity; you can have the kernel initially hand your screen to the old in-kernel virtual terminal, the newer KMS implementation of a terminal ( https://wiki.archlinux.org/title/KMSCON ), or to Xorg or a Wayland compositor (in that case, optionally using plymouth or the like to replace even the earliest text messages). (Actually, full disclosure: I'm only about 70% sure I've got that sequence right. The point is that even desktop linux is perfectly capable of booting only in graphical mode; booting to a text terminal is available but optional.)

tonymet
6 replies
1d19h

sounds like it'll take some work . but these are some great ideas thanks for talking through it.

yjftsjthsd-h
5 replies
1d13h

I'm not following; what will take work / what ideas? I'm describing existing software that ships and works today.

tonymet
4 replies
1d13h

Look it's a bunch of theory right now. From what I can tell, your examples would still need integrating into AOSP-- not something that is running right now. I may have a different definition of "shipped" but this wouldn't meet my bar and seems to be more work.

It's possible you are a wizard and I'm a novice so I can't wait to see your demo soon.

yjftsjthsd-h
3 replies
1d2h

No, it's not a theory; I'm describing to you how Android has worked for at least the last decade. If you have an Android phone, this is how the device in your hand works today.

tonymet
2 replies
1d2h

ok how do I run a linux VM on my phone? It's not as simple as a command or click as it is on chromeOS is now.

All of the concepts as you've described will take some dev time to actually turn into a product.

It took Google years to make Linux VMs part of the ChromeOS product and that was with a working hack solution already available for them.

My point is that your theory will not be shippable on day one.

yjftsjthsd-h
1 replies
1d

It appears that you and I are having different conversations. I said that 1. it is currently possible to run a terminal on Android, which lets you run commands as an unprivileged user on the Android system, and 2. both Android "typical" Linux are perfectly capable of booting into a graphical environment, though non-Android Linuxes frequently allow you to boot to a virtual terminal as well preferentially. Having gone through the whole thread, I guess by "is there an android terminal?" you actually meant to ask "is there an android terminal that gives you a shell inside a transparent VM like ChromeOS does with Crostini?" If that's what you mean, then it's true that that's less developed (though it does exist - https://www.esper.io/blog/android-dessert-bites-13-virtualiz... is one of the better practical guides I've seen for "how do I run a linux VM on my phone?"). Although if that's the main thing you're asking about, I don't understand why we're talking about boot processes at all; VMs in both Android and ChromeOS (and server and desktop Linux, while we're mentioning) are more or less just fancy user applications, they don't affect the boot process.

tonymet
0 replies
20h11m

What are you looking for ? Thumbs up on your hackernews design doc?

pjmlp
2 replies
1d21h

Android exposes very little Linux to userspace, as per official APIs.

surajrmal
1 replies
1d13h

It's more than you would hope.

pjmlp
0 replies
1d9h

True, but since they aren't official, OEM and Google are free to take them away any time they feel like across Android releases.

yencabulator
0 replies
1d3h

ChromeOS Linux Developer Mode is Debian containers in LXC (with ability to run custom containers existing but being very painful). Anything else than a real VM running LXC-style containers means the feature would be going away.

modeless
12 replies
1d22h

Why would it imply that?

tonymet
11 replies
1d22h

They don't provide a lot of detail, but moving to a new OS platform would mean migrating functionality, and often that means dropping less popular features.

Crouton / Chrostini seem to have a lot of dependencies on the current ChromeOS platform that would be costly to migrate.

ajross
9 replies
1d22h

Crouton / Chrostini seem to have a lot of dependencies on the current ChromeOS platform that would be costly to migrate.

Being careful not to make any pronouncements here since I do work in the group, but no, not really.

Crostini is just a fairly standard VM manager with a handful of custom virtio and IPC mechanisms (some of which are really clever, to be fair). It doesn't require much of anything that hasn't been in the upstream kernel for years. And Crouton is just a community-maintained Linux chroot. People (including me) were doing exactly that kind of hack on rooted android devices more than a decade ago.

yjftsjthsd-h
3 replies
1d21h

If anything, the work on top of pKVM has very nearly brought the same feature to Android already, though they haven't to my knowledge finished executing on that vision.

ignoramous
2 replies
1d21h

As it understand it, pKVM is mostly to run privileged vendor bits and not user apps.

surajrmal
0 replies
1d12h

They have something called microdroid which is a special VM which runs special android apps: https://source.android.com/docs/core/virtualization/writeavf...

Of course, running a custom VM image like crostini would require system level support but that doesn't seem like it would be a problem or outside the scope of the avf architecture.

ajross
0 replies
1d1h

FWIW this part is true, but sort of mixed up. It's not really "wayland" that's at issue (Wayland surfaces are just shared memory like they are with any other compositor). It's that the Android GPU HAL wasn't designed with the sharing of contexts in mind, and so getting accelerated rendering out of the VM isn't a natural thing.

And this isn't my area, and I have no expertise to offer except to say that I too am hopeful folks work this out in both a HAL- and open-source friendly way.

And also to say that I'm running routine wayland apps on a chromebook every day and they render and composite just great with Mesa/LLVMPipe contexts, even things like e.g. STL slicers you'd expect to want the GPU. The need for acceleration is real, but limited to some special use cases.

tonymet
1 replies
1d21h

I had assumed the current linux-on-chromeos was complicated due to it taking so many years of dev-mode hackiness to become a turnkey product

danans
0 replies
1d12h

The ChromeOS team is pretty conservative with major feature releases and generally won't make something available by default until it goes through a ton of testing internally and with external testers.

ChromeOS is quite different that other Linux based OSs in that it's supposed to "just work".

tonymet
0 replies
1d21h

thanks for sharing that's good to hear.

surajrmal
0 replies
1d13h

Android is already using crosvm in the latest release. Launching a crostini VM is probably not a large lift.

thesuperbigfrog
5 replies
1d21h

Termux has been a great resource on Android:

https://termux.dev/en/

If the future ChromeOS-Android hybrid (ChAnroid?) loses Crostini Linux, but is able to run Android applications then Termux might be a good option depending on the task.

Aside: this ChromeOS-Android merge brings to mind the Chenjesu-Mmrnmhrm merge to create the Chmmr in SC2. Maybe the ChromeOS-Android merge will similarly yield a wonderful hybrid result?

resonious
1 replies
1d9h

I love Termux but I'm a bit worried about its future. Google has been hardening Android in ways that harm Termux quite a bit (e.g. https://github.com/termux/termux-app/issues/2366).

It does seem that new Android lets you turn off the phantom process killer, so maybe there's hope, but still Termux is forced to target an old API version and can't be published on Google Play.

DownrightNifty
0 replies
1d2h

The issue you linked is more or less resolved at this point. If you find Termux processes being killed, just run this command over adb shell and you're good:

    settings put global settings_enable_monitor_phantom_procs false
Google added this setting in response to a bug report submitted by a Termux maintainer. It's also persistent, so you only have to run the command once.

The more pressing issue at this time is: https://github.com/termux/termux-app/issues/2155

pquki4
0 replies
1d9h

You can run a full VSCode on Crostini -- the "real" Electron app -- but not on Termux. There are ways around it like using code-server on a Linux environment, but far from the same thing.

gorkish
0 replies
1d21h

Chenjesu-Mmrnmhrm merge to create the Chmmr in SC2

I'm having a Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch moment here

bitwize
0 replies
1d15h

Knowing Google it'll be more like the Zoq-Fot-Pik... all jumbled together till no one knows what's what.

davidw
3 replies
1d16h

I'm quite proud of the development I've done on a $200 chromebook

High fives!

My main Linux computer died a year ago and I needed something to write emails and browse on, so I ran out to Costco and got a Chromebook, expecting it'd tide me over until I could figure out a replacement computer.

I'm still on the $250 Chromebook machine. It does everything I need and I'm pretty amazed at that. I've been doing some side projects with Elixir/Phoenix and it's not the speediest machine for sure, but it's quite serviceable. And for that price... that's amazing.

PyWoody
2 replies
1d15h

Same story here, except my quick and temporary purchase was about five years ago. It's been my daily driver for off-desk work ever since. It's still snappy and the battery life is great, too.

I went full Linux on it using MrChromebox[0] a few years back with zero complaints.

[0] http://mrchromebox.tech/

tonymet
1 replies
1d14h

It's uncanny how many devs have a story like this. There's something about compiling software on a barebones machine, almost like restoring an old VW and taking it to the track.

I've ended up gifting the 4 or 5 budget chromebooks to nephews , pre-installed with Crouton / Crostini set up and accounts on leetcode / hackthebox to train on.

It's remarkable how capable Chromebooks are. I tried using my $600 iPad Pro to code on and I never found it to be as capable as my $200 chromebook

PyWoody
0 replies
20h53m

It's great for reducing distractions and getting a better feel when the code you're writing is slower than it ought to be. My desktop is an M1 Mac Mini, which has been phenomenal, but it can certainly hide inefficiencies in code.

Once I get my office situation set, I want to start doing everything on an RPi.

theanonymousone
0 replies
1d13h

I had the same thought reading the title, but then remembered Crostini is a container running in a VM (Goddammit), so they can keep it intact, at least if they want so.

faust201
0 replies
1d12h

bookmark your comment and comeback a year or two later. Nothing is implied. Wait.

buildbot
28 replies
1d22h

No details on why the Android stack is somehow more magical for AI? ... Or did they just fire all the ChromeOS devs and need to share resources with Android now? Why not Fuscia for something new?

Cthulhu_
8 replies
1d4h

Fuchsia is still under development? I haven't heard anything from it in forever, and it's been going for a long time now.

serial_dev
4 replies
1d3h

It looks like it is, see multiple commits today: https://fuchsia.googlesource.com/fuchsia/

As building an OS is no simple task, this all could mean nothing and the project might be heading to the graveyard slowly.

I noticed the same, too, it was hyped as the next OS now about a decade ago, and it doesn't look like it will be a significant player any time soon. I assume it's still in the evaluation, prototype phase, probably tons of issues.

I heard here and there that some exotic glorified home tablet thingy is running it, but I don't think you can really go to a local consumer electronics store and find something with Fuchsia running on it.

vitno
3 replies
1d

There are multiple devices that have shipped with Fuchsia on it in the home ecosystem over the last 5 years.

I don't necessarily think it's going to be a major success, but it's already been more successful than this implies.

(Bias, was on the Fuchsia team many moons ago)

serial_dev
2 replies
23h49m

It might be your bias, or even mine, but in my opinion, what you and I are saying are pretty much the same...

There is not much actual difference between "I heard here and there that some exotic glorified home tablet thingy is running it" and "There are multiple devices that have shipped with Fuchsia on it in the home ecosystem over the last 5 years".

Would love to hear where it was actually used, searching for it, I really only found a handful of examples.

I was an active Flutter community member and it was driving me crazy how people would say "Flutter is great because Fuchsia also uses Flutter", and all I thought "show me one person who is using Fuchsia at this whole conference / meetup".

vitno
1 replies
22h26m

You can go to a normal store and buy a device using fuchsia today, it's just not advertising that is the OS under the hood. That is why I do not think what you said is the same thing.

serial_dev
0 replies
21h1m

Got it, fair enough, then maybe fuchsia is just hiding well (or it could also be me not knowing things)

mike_d
1 replies
1d

Fuchsia is just a parking lot project with lofty goals to keep talented engineers from going to other companies. The only thing it will ever ship to is EOL Nest/Hub devices.

surajrmal
0 replies
16h0m

I understand why people feel this way given the lack of public communication, but I'd like to put it out there that this isn't true.

ravetcofx
0 replies
1d2h

They updated their Google nest smart display to fuchsia a couple of years ago. I can't find the write up at the moment, but it was quite the engineering feat and the software engineers were quite nervous the day of OTA.

refulgentis
6 replies
1d16h

Wrote a comment a week or two ago on this you might be interested in: https://news.ycombinator.com/item?id=40580163

TL;DR: Google is consolidating behind the whims of the hardware org, which are orthogonal to OS' that can't ship (what ppl outside Google call Fuschsia), and here, OS' that can't sell premium 1st party hardware. The old platform org head left recently, combine that with the CEO's eagerness to display Efficiency™ and the lack of interest the CEO has in practical work, that means VP shuffle people around to keep constant/shrinking headcount and the CEO loves it.

kernal
5 replies
1d1h

Fuchsia has already shipped. It's also called Fuchsia internally.

refulgentis
2 replies
1d1h

Let's not be obtuse -- if you're familiar with internal info on this, you should/could understand exactly what I'm talking about. If you're just trying to do a drive-by dunk about spelling, and just thought it was cute to add on "internal" while doing so...more power to you, I guess.

kernal
1 replies
1d1h

Considering how you mangled the name of the OS, I have a hard believing you're remotely familiar with the internals of Fuchsia.

refulgentis
0 replies
1d

Yes, there's an extra S in Fuchsia so I'm 3 trolls in a trench coat pretending to be me.

I hope your day gets better! However you're feeling, it's temporary, it's not worth trolling and doing a know-nothing thing in public, it's too demeaning to yourself.

People can see my comment, profile, and site, and then see you're completely anonymous.

Then they're left with either: A) you're so hung up on an extra S you're lying on purpose B) you're a vindictive liar: you don't care enough to find out who I am, even though it's right in my profile, but you do care enough to pretend it's unknowable or C) youre having some sort of psychotic break from reality

mike_d
1 replies
1d

Both of my Nest devices that got the update were bricked into an unrecoverable state. Forums and Reddit are full of similar stories. "Shipped" is a very generous label.

I don't know anyone outside the Fuchsia team that takes it seriously.

refulgentis
0 replies
1d

They're a troll with an extreme sense of grievance and unclear motivations. Perhaps this whole extra-S thing is actually it, but I hope not, for their sake.

ndesaulniers
2 replies
1d14h

More so Android and ChromeOS both use Linux as the kernel. They actually have a lot in common in terms of tech stack.

qalmakka
1 replies
1d11h

They use two completely different libc though, which are binary incompatible (bionic and glibc).

ndesaulniers
0 replies
1d2h

How many web apps running on CrOS care what libc the system is using?

oliwarner
1 replies
1d11h

It's amazing what a FAANG with tens of thousands of software developers cannot achieve.

nashashmi
0 replies
1d

That is the reason they cannot achieve it. Territorial claims and wars. Group and team efforts. leadership buy in. the more money those guys are paid, the less team works they produce.

joseda-hg
1 replies
1d21h

I thought Fuchsia was the one that got hit with the larger cuts?

surajrmal
0 replies
1d12h

While true it wasn't as large as folks seem to imply.

summerlight
0 replies
1d21h

Probably CrOS team doesn't have enough manpower to implement necessary local ML infrastructure and want to borrow Android's. Or at least they're using this as an excuse for paying off long standing organizational tech debts.

joecot
0 replies
1d

A while back they were privately demoing ChromeOS alongside android on phones to enable a better desktop experience. They're also enabling display port on the new Pixel. My guess is they are making ChromeOS more like Android to make that process easier.

eco
0 replies
1d22h

Probably more of an internal mandate that everything needs to consider how it can integrate/improve on AI so they included some lip service in case a VP reads this.

dudus
0 replies
1d15h

To continue rolling out new Google AI features to users at a faster and even larger scale, we’ll be embracing portions of the Android stack

Because they are panicking and need to add AI faster than Apple and Microsoft across their whole portfolio.

aixpert
0 replies
1d9h

As I wrote above,

A big advantage of Android is the implementation of intents (also compared to Apples new crippled intents API), which may turn out to become the deciding factor in the race towards the winning AI Agent OS, as it may enable AI to use programs programmatically

a1o
26 replies
1d22h

we’ll be embracing portions of the Android stack, like the Android Linux kernel and Android frameworks (...) for Chrome OS

Uhm, is there any plan to bring some openess to it so one can actually run python and do ML without using some alternative hack? How is the state of these things nowadays for chrome os? Haven't played with it in ages.

RadiozRadioz
24 replies
1d22h

Semi-related question: Why did the ML people choose Python and make it so intertwined with ML? It seems like a bad choice because it's slow and bad at integrating with hardware, the actual hardcore ML stuff gets offloaded to C, which creates a weird system with two languages and a weird build step to achieve one thing. If I knew nothing about the ecosystem of available libraries and was asked to pick a language to use for ML, Python would be fairly low down the list.

Is it just because it's easy, somebody picked it a while ago, made something influential, and now everybody uses it because everybody uses it?

alaties
9 replies
1d21h

I went to college starting 2007 (right when CUDA was released) and recall a few things about python that made it attractive in both the comp sci and math departments at my school.

  - python integrated well with lesson plans instructors had
  - python integrated well with the software math departments were using (like MATLAB)
  - python had a very easy to use interpreter environment that worked well on linux, mac, and windows
  - python had (for the era) a massive standard library, making it way easier to consume and process 
    common data file formats like XML or CSV without having to install any extensions 
    (installing extensions usually required admin permissions and... very few at school had those for very good reasons)
  - exposing c/fortran libraries into python was pretty straightforward to do and was relatively stable compared to alternatives.
Around 2007, the main competitors in the scripting space had a lot of issues:

  - tcl - somewhat popular for embedding but didn't really have a standalone interpreter that made it easy to interact
    with and the syntax didn't really look like C, and really not much of a library to work with

  - lua - similar to tcl, popular for embedding but didn't have a popular standalone runtime and interpreter.
    syntax was closer to C though. didn't have much of a library to work with

  - ruby - had a runtime for experimenting but a less stable API for integrating, plus the language was pretty
    different from C. the library was large but had a larger reliance on installing extensions than python at the time.

  - perl - both unstable and had a horrible reputation by this point as a standalone language that outside of some obtuse
    systems scripting, most people didn't want to touch this with a 12-foot pole. standard library was small and relied a lot on extensions.

  - php - similarly unstable (at the time... i think 5.3 had just come out) and had a horrible reputation... also not even
    sure it had a runtime that worked outside of an apache/nginx context... exposing a c library to PHP at this time was pretty
    straightforward though. relied very heavily on extensions at this point.

  - javascript - node.js hadn't come out at this point... so the idea of running javascript outside of a browser window wasn't really a thing yet.
If one were looking to expose CUDA to programmers who didn't want to work in C during this era, I'd argue that python was just the best option at the time.

I believe that led to a first-mover advantage that has held over time.

RadiozRadioz
5 replies
1d20h

Perl [...] unstable

Huh? Please elaborate. The backwards compatibility is excellent. The core has been rock solid since the 90s. Especially compared to Py -2-to-3- thon.

mkl
3 replies
1d13h

In 2007 Perl (to outsiders at least) seemed deep in Perl 6's "redesign and rewrite everything" phase, with no end in sight and no predictable future.

anthk
2 replies
1d9h

Perl6 is no Perl it has been renamed to Raku. The rest of the Perl5 environment it's ultra-compatible with previous releases. Albeit compiling PDL it's rough case.

You look like never touched Perl seriously, Raku it's still a hard deviation.

No one used Perl6 on real life environments. It's the Duke Nukem Forever of the programming languages.

Using Perl6 as an argument on Perl5 it's like bashing the simple and clean ANSI C giving C++ as the example and its the crazy redundant features as a rant.

mkl
1 replies
1d8h

Read the first two words of my comment again.

We're talking about the choice of Python for ML when CUDA came along, nearly 20 years ago. Upthread, alaties said:

Around 2007, the main competitors in the scripting space had a lot of issues: [...]

Perl [...] unstable

RadiozRadios replied:

Huh? Please elaborate.

I did.

In 2007, Perl 6 was not Raku, it was intended to be the next major version of Perl. But it had been in development for ~7 years already, couldn't be relied on or predicted, and had become a bit of a joke. Since Perl 6 was still supposed to be the future of Perl, in 2007 Perl very much seemed unstable and unsuitable as a foundation for ML research.

anthk
0 replies
1d7h

I agree on Perl's choice. But Perl5 was granted as an stable platform, kinda like AWK, pretty much unlike Perl6, which wasn't the future of the current Perl5 at all, except for the hype.

estebank
0 replies
1d2h

Remember Perl 6?

pklausler
1 replies
1d18h

scheme/guile?

bitwize
0 replies
1d15h

Didn't have a popular standalone interpreter. Also unstable.

Well, it's as true of Guile as it is of Tcl and Perl...

hot_gril
0 replies
1d21h

The usability without extensions part is underrated. Whether I'm a beginner in school or a pro trying to hammer out a quick script, I would prefer the thing that doesn't make me jump through hoops to deal with CSV JSON XML etc. Far more important than the language syntax or other things.

And the little scripts I write at work tend to grow and then turn into full-fledged services in a shorter period of time than it would've taken to set up the C++ or whatever boilerplate.

wiseowise
7 replies
1d22h

What would you pick?

RadiozRadioz
6 replies
1d22h

Probably one of the math ones like Julia. Or something closer to hardware, like C++ or Rust

hot_gril
4 replies
1d22h

Julia doesn't have broad adoption because it's too specific, and C++/Rust are more cumbersome, also Python for data science and ML was popular before Rust or Julia even existed. Python's biggest advantage is that it's good enough for general usage while also being convenient for data science.

hot_gril
2 replies
1d21h

Sure, but not more adoption than Python. All the examples look math-focused; would you write a web backend or a batch script in Julia?

pjmlp
1 replies
1d13h

No, that wasn't why it was designed for in first place anyway.

Likewise I wouldn't use Python for anything besides teaching programming, or scripting OS tasks and native libraries.

hot_gril
0 replies
1d2h

Well that's the problem. Part of why Python is nice for ML stuff is because it was adopted for several other purposes too. I've never used Julia but have used niche things like Erlang, and there's always more friction that way.

0xdeadbeefbabe
0 replies
1d21h

Tcl

mlinsey
0 replies
1d22h

Because modern ML is a descendant of data science/stats work being done in systems like MATLAB and R. Numpy and scipy were great libraries, and Python was a high-level language that statisticians could use, but also a reasonable enough choice to code a backend for a service in. If the field descended from systems programmers doing high-performance computing, a different language choice would probably have been made, but prior to deep learning becoming popular, compute was not nearly an obvious blocker to improved model performance.

logicchains
0 replies
1d22h

Python is a great language for ML because it allows gluing stuff together quickly. Using a 100% statically compiled language would slow things down, and the typing wouldn't help much because most languages can't properly type check tensor operations, and ones that can (like C++) tend to have awful compile times. The state of the art is tracing the execution and compiling it to a ML-specialised compiler (XLA for Jax, torch.compile for Torch), which is much harder or impossible to do in a compiled language.

hot_gril
0 replies
1d22h

What else? NodeJS would be sorta viable, but event loop doesn't mix well with this kind of workload, which is a moot point anyway because Python and all the killer libs like Numpy predate NodeJS.

And I think Python's package management and parallelism are both awful in ways that could've been avoided, or fixed during that huge breaking Py2->3 change. And I prefer JS syntax. But it still works.

csours
0 replies
1d22h

Worse is better.

Also, python is just the glue, the work happens in libraries.

buildbot
0 replies
1d22h

IMO, it makes more sense to think about Python or another high level language as glue code for all these C/Rust/Cuda/OpenCL kernels. Why would you choose something like Rust to also write the glue code in? Most people will be slowed down quite a bit by the language overhead, and the people writing this code need results last month.

bitwize
0 replies
1d15h

It's largely because Python had excellent numeric libraries, like NumPy and SciPy. You could script Fortran linear-algebra kernels to crunch your numbers fast in a high-level language, and that's a killer app in the ML space.

nolist_policy
0 replies
1d22h

On ChromeOS you have access to a fully featured Debian Linux in a VM with WSL-style seamless passthrough. Though on the graphics side only OpenGL and Vulkan are passed through.

malkia
25 replies
1d22h

I only wish for more powerful Chromebook - like 32GB or even 64GB of RAM, 3-4TB of SSD - maybe proper accelerated GPU, maybe discrete one.

leetharris
10 replies
1d22h

I'm curious, why? I can completely understand an "iPad Pro" version of a Chromebook. Something that is an incredible version of a limited device.

But I'm struggling to think what a 64gb of RAM with a GPU Chromebook could do that the current ones can't do? If it's run Linux, why not just get a Linux laptop?

hot_gril
5 replies
1d22h

Chromebook means hardware + software are packaged, which means someone is making sure they work properly together. That's the biggest differentiator.

You can maybe get this with some Linux laptops, idk. The Thinkpads we have at work that "support" Linux have known Bluetooth issues; if I ever have trouble hearing someone in a remote meeting, it's someone with a Thinkpad.

leetharris
2 replies
1d22h

Yeah absolutely. But at that point, why not get a Macbook or a Surface?

nolist_policy
0 replies
1d22h

Because I want Linux.

hot_gril
0 replies
1d22h

MacBook is what I've got, but if you specifically need lots of RAM and/or a dedicated GPU, that disqualifies it. 64GB RAM isn't even an option in the $3000 model. Also, maybe you want to run Linux for whatever reason, without experimenting with Asahi. Apple Silicon chips are awesome, but this is the downside.

And Surface runs Windows. Gonna plead the fifth on that.

doe_eyes
1 replies
1d22h

Lenovo Thinkpads have traditionally been a pretty safe choice for Linux, probably because they're popular with Linux devs. Pretty sure what's what Google buys for their corporate Linux laptops too.

If you buy something like a Dell, you might encounter more rough edges, although it's generally not as bad as it used to be 1-2 decades ago.

hot_gril
0 replies
1d22h

I thought about Thinkpads just before you replied and edited to mention the issues I've seen with them. Yes you're right, Google buys them, and they have minor problems, but I've never owned one personally.

malkia
2 replies
1d21h

I don't want to deal with maintaining a pure Linux laptop, and I don't want to be limited by OSX/Windows (for different reasons). Chromebook, by far, is the easiest to get good amount of linux for development without much issues ... with some limitations. It also works with docker/podman for the cases I care, so was simply looking for upgrade of my great (and still used to this day) Chromebook Eve (16GB RAM, 512GB SSD) - I really only wish it was bit faster, bit more memory, and I can still live really with 512GB SSD if I have to.

Maybe Vulkan support through Linux (only HW accelerated OpenGL GLES works right now for me)

tapoxi
0 replies
1d21h

Fedora Atomic?

jeroenhd
0 replies
1d21h

You'll need to check for compatibility, but ChromeOS Flex should work on many laptops that would otherwise come with Windows. It runs terribly inside a VM, though, so it's hard to try out before installing, but if you have a leftover SSD laying around you could try swapping the storage and installing it on whatever laptop you use now.

hollerith
0 replies
1d22h

ChromeOS is more secure than any Linux distro for web browsing and other "user-facing" roles.

(Qubes is close, but does not verify the whole stack against hashes stored in a secure enclave on every boot. Also, Qubes has a much lower bus factor.)

hollerith
6 replies
1d22h

Framework has a Chromebook that can be stuffed with RAM and storage.

MostlyStable
5 replies
1d21h

They can have up to 64 gigs of RAM, but internally apparently they only support up to 1TB hard drive [0], and while you can have "external" hard drives in the expansion modules, you are giving up IO to have it (half the IO slots if you wanted to get all the way to 3 TB)

I don't quite understand why it couldn't accept a larger internal hard drive, but if it could I don't know why "up to 1 TB of NVME storage" would be their marketing copy.

[0]https://frame.work/blog/introducing-the-framework-laptop-chr...

hollerith
4 replies
1d21h

Here is the paasage. My interpretation of it is different from yours.

Memory and storage are socketed, enabling you to load up whenever you’d like. The pre-built configuration comes with 8GB of DDR4 and 256GB NVMe storage and can be upgraded to up to 64GB of DDR4 and 1TB of NVMe storage.
MostlyStable
3 replies
1d19h

I suppose the "up to" might only refer to the ram, and not the NVME storage, which would admittedly make more sense.

somat
2 replies
1d15h

Hard to say but the "up to" may be only the limit the framework company wants to stock and sell.

With regards to the memory I went looking and the framework has 2 ddr5 laptop dimm slots. The largest I was able to find were 48 gb modules so the physical limit may be 96gb.

And as a closing note, this was the first time I really looked at the framework laptop page. And while I am still not sure about the build quality or the usefulness of the "ports". the number of guides and photos of laptops under surgery sold me, I think I found my next machine.

Dylan16807
1 replies
1d13h

Hard to say but the "up to" may be only the limit the framework company wants to stock and sell.

It has to be something like that. That's a standard length M.2 slot...

https://community.frame.work/t/will-framework-chromebook-wor... Installed WD Black SN850X 4 TB (WDS400T2X0E) on my Framework Chromebook. I’ve been using it for a month and a half now. Everything is fine. The only point, probably due to which the use of such disks is not officially recommended, is the excessive reserved space for the OS. Apparently this is a legacy of the times when disks in Chromebooks were of small sizes. If you are happy with the situation where a quarter of the disk will be idle for technical reasons, then you can take it.
MostlyStable
0 replies
1d1h

your google fu is stronger than mine. I specifically tried to find such a thread and failed. Well done! The stocking argument makes sense to me, and makes more physical sense as well, since, as actual hardware limitations, both the RAM and storage limits would have been highly unusual and would have almost certainly needed to be purposefully implemented for some reason.

AdmiralAsshat
4 replies
1d22h

Hard to believe it was only a little over ten years ago that the first Chromebook Pixel came out with its generous 4GB of RAM. It's a shame the battery life on it was only about 4 hours on anything other than ChromeOS (which got maybe closer to 6), because I absolutely loved the form-factor of that first model.

mrguyorama
2 replies
1d21h

It was utterly useless though. It significantly predates all the valuable features that came to chromeOS later, like running any android app. I bought one used and it was impossible to troubleshoot any of it's problems because "just a normal linux distro" has always been a lie. Linux is as much the stuff built on top of the Kernel as it is just the kernel. All that stuff was basically impenetrable unless you were a Google ChromeOS dev. By the time ChromeOS was actually useful, that machine could barely run a single YouTube tab.

Screen was super nice though. It was never worth $1000

AdmiralAsshat
1 replies
1d21h

I paid $800 for a barley-used one off Craigslist. True, it lacked the Android features (which even the 2015 model might have had? Certainly the successor Pixelbook did), but it was perfectly serviceable for my uses with crouton on it. And when it eventually went out of support, I removed the write-protect screw and loaded a standard BIOS onto it so that I could then install Linux Mint. It was a capable machine for several more years, marred primarily by that poor battery life.

mrguyorama
0 replies
21h39m

I got one in 2018 for $200 and it was okay as a netflix and Youtube machine, and nothing more. The Linux features were harder to activate and use than just buying a used Thinkpad for also $200, with a way better processor and twice as much memory, so I eventually did that to replace it and should have done that first. It aged like raw meat for being a "premium" product.

Mine in particular died a slow and painful death. The thermal paste had aged out, and the fan died, though was cheap and easy to replace, but even after, it still was nonfunctional, as it would die after being on for just a few minutes. Because it was running Linux with weird userland stuff like Crouton, it was devilishly hard to debug. I also just do not know how to debug Linux nearly as well as I understand Windows "internals".

It's too bad because it was a pretty laptop with a very nice screen.

trog
0 replies
16h41m

A bunch of the models still only ship with 4GB RAM today! 8GB is just recently more common I'd say, but still plenty of 4GB ones out there you can buy brand new.

We have a few in the office and they are surprisingly OK. Let down more by the weaker processor (i3 instead of i5) but workable for a lot of things.

a_wild_dandan
0 replies
1d22h

Why not use a beefy, Linux compatible laptop at this point? I'm unfamiliar with ChromeOS, so apologies for a potentially stupid question.

yjftsjthsd-h
15 replies
1d22h

we’ll be embracing portions of the Android stack, like the Android Linux kernel and Android frameworks, as part of the foundation of ChromeOS.

Ew. ChromeOS was always a beautiful contrast to Android, running mainline kernels instead of Android's hacked up mess.

Actually that was pretty much true of the rest of the stack as well - ChromeOS was almost a normal(ish) GNU/Linux, running Chrome on Wayland on ~Gentoo. Android, in the meantime, NIHed the whole stack. I had always dreamed that one day Google would rebase Android to use a ChromeOS base running apps through a compatibility layer. This... feels like the Bad outcome.

kaba0
5 replies
1d21h

It cuts both ways. Desktop linux NIHed a bunch of basic features in some buggy, insecure C code that barely works. Like, it has absolutely zero security, no accessibility, no fine-grained permissions system, no normal cross-application communication, no userspace resource control (cgroups are cool, but they are not exposed)..

anthk
2 replies
1d7h

Like, it has absolutely zero security,

Wait until you discover exploits for the rust Runtime

no accessibility

AtSPI, speech-distpacher.

no fine-grained permissions system,

ACLs.

no normal cross-application communication

DBUS did that.

No userspace resource control (cgroups are cool, but they are not exposed)

Unless you use Plan9/9front, every Unix and even NT it's like that.

Inb4 sandboxing and X.org easy eavesdropping, upon running any unsupervised malware as your user account, you are powned under every OS (by default) as you can just tgz the Chromium/Firefox/SSH profile from $HOME and rsync+netcat/NNCP the whole pack over the net. Everything else it's snake oil.

kaba0
1 replies
1d6h

you are powned under every OS

That literally wouldn’t work on Android, or ios. And android’s solution is very elegant, and only relies on standard linux interfaces, so there is zero reason why running every process under a new, dynamic user is not the default way of interaction.

anthk
0 replies
1d5h

That's what power users do when say 'Linux in insecure because wih $HOME you can loss all you real life assets'. Wel, first at all, anyone with at least two neurons would create separate users for work, financial/goverment data and gaming/leisure/casual browsing.

yjftsjthsd-h
1 replies
1d21h

Okay, except that... almost none of that is true? Desktop Linux started early enough that I don't think it could have NIH issues and has mostly iterated ever since; I grant that maybe it could have picked up something like GNUstep, but that's not obviously a good idea in hindsight and definitely wasn't at the time. And Linux is doing fine on security, is definitely behind on a11y but still has it, and mostly does cross-app communication through dbus. I will grant that resource control is underdeveloped (though I'm not aware of any other desktop OS doing it better?), and permissions only really became a thing recently with flatpak.

aseipp
0 replies
1d20h

Linux is behind other OSs at this point in terms of desktop security and hardening; there are of course ever-evolving mitigations for things like memory safety issues, but everyone has that, and more broadly the standard Unix permission model in the single-user system where every application has more-or-less unlimited access to everything else under your account, is very dated. In practice given a random Linux dev installation, it's morally equivalent to a workstation where you only use root. Flatpak-on-everything is like the absolute bare minimum for a comparison to ChromeOS or Android if we're being honest, and still many apps still aren't designed around supporting things like XDG Portals so permissions are typically much more coarse-grained than necessary. Not to mention the general atrocity that is setuid.

You could beat all of this into submission but you'd end up rewriting a lot of stuff anyway, because those things need to be designed with it in mind (PulseAudio never had a concept of permissions and in practice you had to live with that until PipeWire was written from scratch.) The Linux desktop is a big project with a lot of stakeholders in various projects and many of these ideas only really came into the desktop realm in the past 15 years or so. This means progress is relatively slow all things considered, compared to something like Android or ChromeOS, with unified teams and top-down vision, which is why they have more or less completely replaced the entire Linux desktop in that same timeframe and even delivered on things it still doesn't have like HDR, per-application sandbox and permission models, etc.

I do think that in the server space, you can produce reasonably secure and trustable Linux systems based on available distros. But on the desktop, well, it's not so hot.

ignoramous
5 replies
1d21h

I had always dreamed that one day Google would rebase Android to use a ChromeOS base running apps through a compatibility layer

I wished and hoped for the same (or at least, for ChromeOS to not get cannibal'd by Android). But...

This... feels like the Bad outcome.

Realistically, running apps inside of a language runtime (VM) is bad enough for an embedded device (the HP Dynamo-like gymnastics to speed up ART, notwithstanding)... and here we were wishing each app ran in its own guest OS?

pjmlp
2 replies
1d13h

Not only does ART compile to native code, its performance is much better than V8, running the whole ChromeOS userspace, or the VM for Crostini.

ignoramous
1 replies
22h57m

That's exactly the point I was making, too.

pjmlp
0 replies
11h48m

I understood the other way around, sorry about that.

kaba0
1 replies
1d8h

Well, your username is relevant.. ART doesn’t work like that at all?

fidotron
2 replies
1d21h

Ew. ChromeOS was always a beautiful contrast to Android, running mainline kernels instead of Android's hacked up mess.

This is at least partly because the two are distributed very differently, with Chrome OS on a much shorter leash than Android, even with Play services.

With Chrome OS devices Google can push updates to any device whenever they want, whereas with Android it was often up to the manufacturer, or even carrier, which many Googlers (not all) considered to be a mistake.

But this is also the Chrome OS achilles heel because support for esoteric third party hardware blocks is the Android killer feature and now more important than ever.

yjftsjthsd-h
0 replies
1d21h

I tend to not believe that it's just that, because even Google's own phones have never run mainline kernels outside of experiments that never actually shipped to end users.

hawski
0 replies
1d16h

That made it possible to give 10 years of updates. That's the main reason for me to want Android to base on ChromeOS, not the other way around.

rcleveng
15 replies
1d13h

I'd love to stop carrying my chromebook to work along with my andoid phone, and just plug the phone into a docking station to use ssh/chrome browser/remote desktop which is really all I used daily.

fsflover
6 replies
1d10h

You can do it with a GNU/Linux phone (Librem 5 or Pinephone). They run desktop GNU/Linux.

pquki4
5 replies
1d9h

...if you are willing to sacrifice the "phone" part of it.

fsflover
3 replies
1d8h

It works fine for me.

_joel
2 replies
1d6h

Fine if you don't need to use it for online banking on your phone, that's my main blocker.

guappa
0 replies
11h36m

My bank sends an SMS for OTP.

I know it isn't very secure. But certainly better than having a seed locally stored.

fsflover
0 replies
1d3h

I choose banks which do not require mobile banking, including virtual credit cards. You can also try Waydroid to run Android apps. I heard it worked for some banks.

guappa
0 replies
1d8h

Calls and SMS work fine on pinephone.

Battery life not so much.

sebmaynard
4 replies
1d11h

Sounds like you could try a Samsung S phone with Dex and a lapdock?

scirob
2 replies
1d9h

yea but look at any long term review of these systems. There are always subtle UX issues that kill your productivity

creesch
1 replies
1d7h

It is possible to run a Linux distro through Termux afaik. For example: https://github.com/phoenixbyrd/Termux_XFCE

There are also tools available like Andronix.

I personally haven't tried them, just figured I'd leave the information here for people interested in it who want to explore the options.

prettyStandard
0 replies
1d6h

The problem I generally run into those with is they have trouble getting root or simulating root. Particularly on Samsung. That limit's running things in containers on the phone as well. But last time I looked at it it did look like there were some promising projects. I forget what.

rcleveng
0 replies
1d5h

Possibly, I don't want the lapdock, really just plug usb-c into a docking station and have enough usable tools to do work. I think this one is more about execution than concept

JeremyNT
1 replies
1d3h

This is possible with pixel 8+ running grapheneos.

The ux is kind of junky, but if you're mostly using the browser or some remote desktop / ssh it's feasible at least.

1oooqooq
0 replies
1d1h

but then you have to carry another phone for your bank app...

frankacter
0 replies
1d8h

I do this today with my Asus Zenfone. Works great.

jauntywundrkind
11 replies
1d22h

Wow uhh this is horrifying. ChromeOS was becoming a very competent capable FreeDesktop style host, with excellent work in cros (for secure virtualized access to sound, GPU, encoders, storage) and moving towards standard Wayland compatibility. As the Linux ecosystem got better, so too did ChromeOS. There's so much Google didn't have to reinvent, so much driver work & projects like LXC containers they could benefit from. Throw all that out, I guess.

Catastrophizing maybe a little bit, but this sounds like turning their back on the broader ecosystem to go wander off for good in the 3rd rate sandbox they built themselves. Android has spent years trying to figure out our to have a secondary display, and the only thing they could manage was to mirror the display, almost certainly in sizable part because Android's boutique homebrew display services are so absurdly constrained. Marrying yourself to this boat anchor of a tech stack is the worst possible move ChromeOS could be doing.

Google's Not Invented Here has always been exceedingly high. ChromeOS has been one of the only attempts Google has made to play well with others, to carve some kind of middle path. It's hard to read this as anything but Google giving up & deciding to go it alone.

They should have done the exact opposite. They should have made Android start using ChromeOS. Or just stay the course. Yeah it's costly having parallel efforts, yeah, but holy heck these feel like existential stakes if you get it wrong, and no longer having anything that interoperates with the rest of technology seems like an obviously hideously bad idea, trusting everyone will adopt your stuff seems bad; Microsoft for example has finally dug themselves out of this hole with WSL, but Google already has a very respectable sensible option they seem like they are about to kill.

Also, seems likely Google was lying a month ago when they said ChromeOS on Android was just a demo. This announcement shows it was their battle plan. Just, not to users benefit, not as a "your phone can also...". https://news.ycombinator.com/item?id=40380022 https://www.androidauthority.com/chrome-os-on-android-proof-...

It only took two months since teams were merged for this awful no good way to throw away so much greatness to go public. https://www.tomsguide.com/ai/android-and-pixel-teams-merge-i...

rrdharan
7 replies
1d16h

Saying Google didn’t have to reinvent containers when Google invented containers is .. something (https://en.wikipedia.org/wiki/Cgroups).

kccqzy
1 replies
1d16h

It's somewhat unusual for Google to open source and mainline this bit of functionality. Last time I heard, Google's internal production Linux kernel still has 9000+ patches[0] on top of vanilla Linux. And I'm still waiting for them to open source switchto[1].

[0]: https://lwn.net/Articles/871195/

[1]: https://www.youtube.com/watch?v=KXuZi9aeGTw

jauntywundrkind
1 replies
1d15h

And for a brief couple years Google had an offering the world could use that exposed that invention. Via the stock, well respected LXC tool.

They created something, only to never ever use it in public eye. To go keep reinventing and keep NIH'ing. The android virtualization stack is fucking wild, and hardly used, offers such a meager fraction of what ChromeOS was doing.

Not a bad callout, but this seems like a particularly glorious & vicious slam... that doesn't change the big picture on iota.

surajrmal
0 replies
1d12h

Android is reusing the ChromeOS vmm, crosvm. How is it less capable?

yencabulator
0 replies
1d3h

Cgroups is a kernel feature, parent is talking about the userspace stack for managing containers. Google uses LXC in crosvm, and didn't have to program it from scratch.

pxeger1
0 replies
1d10h

cgroups are neither necessary nor sufficient for Linux containers

pjmlp
0 replies
1d13h

They invented containers on Linux kernel.

Containers on UNIX and mainframes predate Google's existence.

hollerith
1 replies
1d15h

What makes you think they are bringing over Android's display stack?

NekkoDroid
0 replies
1d8h

I somewhat secretly hope that they move their ChromeOS display stack over to Android (with compatibility shims where obviously needed).

It probably would work out better in the long run considering I keep on seeing more pushes to have Android be usable on "desktop sizes", which with their mostly Wayland stack on ChromeOS would allow a lot of desktop native apps to mostly work.

tomComb
0 replies
1d22h

Not sure you can make this move an example of them having a very high ‘not invented here’ thing going on, given that Androids’ commercial competitors are windows and iOS

londons_explore
10 replies
1d13h

So, the ChromeOS kernel is being thrown out, probably with it's A/B update mechanism, filesystem layout, secure boot, etc.

The question is will they also throw out the ChromeOS userspace components and replace them with the android userspace?

If so, this is effectively an announcement that ChromeOS is discontinued but those devices will now be migrated to run android.

theanonymousone
4 replies
1d12h

Given the big difference between mobile and desktop Chrome, and the fact that this is "Chrome"OS, it can be an interesting story. I don't many people (anyone?) want to run mobile Chrome on a laptop screen.

londons_explore
3 replies
1d8h

I suspect it wouldn't be a lot of effort to make android chrome have the full desktop UI. The Chromium codebase is all one piece, and rendering of the UI is already unified between mac/windows/linux, so making the android build render a desktop-like UI is probably a simple job. In fact, I wouldn't be surprised if the right set of build flags can do it already.

theanonymousone
1 replies
1d4h

It's not just about rendering sizes. There are no extensions for Mobile Chrome, as an example.

londons_explore
0 replies
15h43m

I think that was a business choice to prevent adblockers and web-extension-malware.

erredois
0 replies
1d7h

If I plug my s24 to my dock, I can use it with my big screen, most apps don't have a problem with this mode.

hawski
2 replies
1d11h

I don't know which Android added it, but it also has AB partition scheme (they call it seamless updates) for several years now.

zerreh50
1 replies
1d7h

In fact, Android's update engine includes a lot of chrome os related code, so they are either very similar or outright shared

moondev
1 replies
1d13h

I really wish they would announce the opposite, that crostini would be coming to Android and phones would launch ChromeOS "desktop mode" when attached to a monitor. ChromeOS feature flags have been seriously fun and innovative the past few years.

fidotron
10 replies
1d21h

This is an obvious precursor to the rumoured desktop mode coming to Pixel phones.

It is also going to be a bitter pill for many Chrome OS people, who were often defined by a distaste for Android that verged on the absurd, and caused an awful lot of political nonsense. Android is far from ideal, but Chrome OS was better in one sense only: security.

Controversially I believe the most viable future Linux desktop is likely to be based on the Android stack, especially the app packaging, but with the entire “java” layer removed.

jeffbee
6 replies
1d21h

Chrome OS was better in one sense only: security.

Don't you think this is a pretty major feature?

fidotron
2 replies
1d21h

Not if the price is confining yourself to only loading web pages with the odd api extension.

Android does a huge amount more, especially around media and general hardware support (such as nn accelerators) which make security much harder but are also necessary for deploying modern applications.

jeffbee
1 replies
1d21h

I don't develop on Android so I have no perspective on whether it's a better situation, but as a user of both Android and ChromeOS on the daily, my impression of ChromeOS is that it is minimally intrusive, updates instantly, sleeps and wakes instantly, switches users instantly. My impression of Android is updates take forever, there are 90 minutes of hideous jank after a restart, and it takes 15+ minutes to take a bug report. But I have no way of telling from this announcement which parts of the Android tech stack are responsible for it being a pyramid of jank. However it sounds like Android has won an internal turf war and it seems inevitable that their user-oblivious development and release process will eventually tarnish ChromeOS.

fidotron
0 replies
1d21h

So I used to be an Android dev and left years ago because of how mismanaged their upper levels of the stack became. Their Java API was never good (j2me was cleaner) but somehow the extensions rarely represented an improvement and just introduced more new problems.

The low level pieces of Android have dramatically improved over the years though, and are clearly battle tested at enormous scale. Binder, of recent security problems, is functionally very useful. The graphics system handles DRM and HDR on different hardware surprisingly well these days, and even the audio stack is far less annoying than it used to be. Considering that Android devices are expected to run continuously this is no small achievement. Some years ago I wrote and deployed Android code that decodes and plays video, with audio, constantly, for months on end, synchronized to an external clock, on a random cheap OEM board, while downloading the next one over a flaky network, with relatively minor alterations to the OS being necessary. It may be possible on other things but I would probably still be debugging it.

Zambyte
2 replies
1d13h

I don't think it's a feature at all with an undefined threat model.

nolist_policy
0 replies
1d10h

ChromeOS threat model: After remote code execution exploit in some Chrome process + chained sandbox breakout exploit + chained privilege escalation to root/kernel mode, the user should be safe again after rebooting the device.

aseipp
0 replies
23h37m

I don't understand what you're suggesting. ChromeOS has an extensively documented threat model and it is, quite unarguably, vastly more intimate and well defined than any comparable desktop solution in the FOSS world. ChromeOS also has more tight distribution and product requirements for official devices which helps it even further, even compared to something like Android, because OEMs can't shit it up so easily e.g. longer security lifecycle, open bootloaders, mandatory hardware for verified/secure boot, etc.

https://www.chromium.org/chromium-os/chromiumos-design-docs/...

curt15
2 replies
1d15h

Controversially I believe the most viable future Linux desktop is likely to be based on the Android stack, especially the app packaging, but with the entire “java” layer removed.

What would replace all the APIs provided by the Java layer? Compared to what you find in traditional Linux desktops, the Java APIs are

1) comprehensive, providing a one-stop shop for basically all core app functionality; desktop Linux has no equivalent of the Android SDK or the Windows API.

2) versioned, with strong backward compatibility.

Linux desktops have no well-defined "minimum API version" that developers can target like they can on Android.

yjftsjthsd-h
0 replies
1d14h

Linux desktops have no well-defined "minimum API version" that developers can target like they can on Android.

Of course they do: "Ubuntu 16.04+", " Debian 11+", "RHEL-like 8+". If you can use a single distro (which you're proposing anyways with Android), it's not hard. Sadly LSB didn't really work out so you don't have a more portable solution, but that just means that we're stuck with the status quo and not better.

fidotron
0 replies
1d8h

For your point 2, I had to stop them from throwing that out of the window all the way back circa 2.3.

The key problem with desktop Linux is the entire distro concept. Just have the kernel, some services (the android ones like binder, surfaceflinger etc) and go from there. Iirc that isn’t far from what firefox os was, only they insisted on everything being browser based.

The Java API on android is thinner than it looks, and contains most of the serious problems, such as the entire UI stack. Now that Swift has grown static Linux support that would probably make most sense as the first class target for API consumption.

frithsun
9 replies
1d21h

Linux community really dropped the ball by not creating a distro that was basically chromeOS, but without the propriety limitations.

Thousands of distros and not the one that would take off. Sad!

And now, with this announcement, the moment has passed.

janice1999
6 replies
1d20h

but without the propriety limitations.

... that would just be Linux then? GalliumOS was Ubuntu for Chromebooks (with ChromeOS patches for touchpads etc). Mainline Linux is good enough nowadays for most things.

Several companies offer custom ChromeOS images with their own tools and one was even purchased by Google, but they focused on centralised management for classrooms etc.

hawski
4 replies
1d16h

ChromeOS-like implies an immutable image with the AB partition scheme for me. Other than Fedora Silverblue there is nothing like it as far as I know.

yjftsjthsd-h
2 replies
1d14h

There's MicroOS from the OpenSUSE corner, including its respins with GNOME or KDE. IIRC that uses BTRFS snapshots/filesystems instead of A/B root filesystems, but same broad idea.

yjftsjthsd-h
0 replies
1d2h

And the KDE version is Kalpa, but they're both still spins of MicroOS.

luyu_wu
0 replies
1d15h

VanillaOS would be another great example (arguably cooler than silverblue imo).

pquki4
0 replies
1d9h

I think the point of the original comment is "take off". A non proprietary ChromeOS (that is browser first, simple to use for non techy people, easy to manage) sounds like a neat idea to me, but the names you mentioned achieved nowhere near the reputation/popularity of Ubuntu.

Maybe it is more about the business model. ChromeOS runs efficiently on low-cost hardware for a small license fee (?), and get almost guaranteed updates. In exchange, customers sell their souls (actually, data) to Google. Won't happrn with Linux. But undeniably it sells and works well enough for ChromeOS.

yencabulator
0 replies
1d3h

Unfortunately as is typical with these source-thrown-over-the-fence projects, a lot of it is just a hot mess.

I tried to make a custom container that would run under the regular ChromeOS crosvm, all the "agent" stuff for e.g. transporting wayland over virtio is brittle crap that crashes with no useful error if you don't invoke it perfectly correctly.

What I want is the idea of wayland-over-virtio to be reimplemented by others.

oneshtein
0 replies
1d9h

Linux community

You mean "ChromeOS community", right?

zer0zzz
8 replies
1d2h

Not sure but does bionic get fewer Abi breakages than glibc? I think that alone could make this worth it.

yjftsjthsd-h
5 replies
1d2h

glibc is fine at backwards compatibility, just not forward compatibility, so it really shouldn't be a problem. It doubly shouldn't matter on ChromeOS where the whole OS is built and shipped together; AFAIK there just aren't any external binaries to worry about compatibility with.

zer0zzz
4 replies
1d1h

AFAIK there just aren't any external binaries to worry about compatibility with.

That’s true today but what about in the future

yjftsjthsd-h
3 replies
1d1h

If in the future they decided to completely change the model upon which their system is built, they would merely have to build against the oldest glibc version that they want to support, in just the same way that you can target all modern versions of Debian by building on a Debian 10 box.

zer0zzz
2 replies
1d

Is this strictly the case? I thought glibc does break this from time to time.

yjftsjthsd-h
1 replies
13h14m

TLDR: Can't find it written down as an official commitment, though it seems to work in practice.

---

Hm. So I can tell you in practice I've used programs compiled against RHEL 5 on RHEL 7, and programs from Ubuntu 16.04 on 20.04, but that's not a formal commitment. It may be a limitation of my search skills, but I can't immediately find a formal policy/commitment. There's this:

One of the GNU C Library's (glibc's) unwritten rules is that a program built against an old version of glibc will continue to work against newer versions of glibc.

- https://developers.redhat.com/blog/2019/08/01/how-the-gnu-c-...

...but that literally calls it an unwritten rule:)

There's this:

The current GNU C library provides the run-time backward compatibility. That means executables and shared libraries built against the previous versions of glibc will continue to work with the current shared glibc, libc.so. This functionality is implemented with the symbol versioning in libc.so. This work is based on the effort from Eric Youngdale.

- https://mirrors.edge.kernel.org/pub/software/libs/glibc/hjl/...

...but that page talks about RedHat 6.2 in an active sense. Not RHEL 6.2, RedHat 6.2.

The final place I thought to look was to search through https://sourceware.org/glibc/manual/latest/html_mono/libc.ht... for "backward", but that seems to only talk about compatibility with BSDs and the like, not this.

So I got nothing.

zer0zzz
0 replies
11h21m

Dude! Thanks for all this context. This was great. I know I remember seeing a talk where Linus totally ranted over this issue in practice at some Debian conference some time ago.

I usually am able to get binaries running across distros myself but at times it involves messing with linker paths and setting up hacks symlinks. I don’t know what’s up with that or how it can be improved to “Just Work TM”

ndesaulniers
1 replies
1d2h

Do web apps running on CrOS care about the system's ABI?

zer0zzz
0 replies
1d1h

No but if they want to expand the platform to more than web apps I think it does.

tempnow987
7 replies
1d15h

I'm trying to remember why Android forked from Linux in the first place. Or was it always it's own thing?

My memory was maintainers on the linux side had an issue with wakelocks maybe? At one point google going to some pretty serious lengths to try to integrate / upstream some stuff and it getting totally shot down.

My own view was there was a bit of a missed opportunity there

ndesaulniers
2 replies
1d14h

Wakelocks and allocation of physically contiguous memory allocations (ashmem, dumped now in favor of dmabuff). All upstreamed now.

At this point, Androids kernel is only a fork of upstream Linux kernel because Google employs so many kernel devs that some features are developed downstream first, then upstreamed once kinks are worked out after shipping in devices on tighter deadlines than upstream.

tempnow987
0 replies
2h56m

Did the maintainer change on linux side to make linux more comfortable with the stuff coming from android? It felt like back in the days there was a real resistance on the linux side - even though the linux "solutions" where more theoretical.

kllrnohj
0 replies
20h16m

allocation of physically contiguous memory allocations (ashmem, dumped now in favor of dmabuff).

ashmem is user space shared memory with permission controls. It was replaced(ish) with memfd with the addition of F_SEAL_FUTURE_WRITE in 5.1 (it took a shockingly long time for that to finally have feature parity but hey better late than never)

ION is the special allocator that was replaced with dmabuf.

Also ARM, qcom, etc... all love playing with the scheduler or making other changes which typically happens downstream first for time-to-market reasons before being upstreamed. eg, ARM's EAS / energy aware scheduling I think actually shipped to users prior to upstream accepting it.

izacus
1 replies
1d11h

The way I understood it from the Android history books, it's mostly that the Android team (after some initial attempts) didn't want to spend time with Linux kernel drama because they had to ship the OS in a rush. So it was just easier to fork the kernel and ship it in a state that doesn't require upstream approval.

Linux at that time was very much unequipped at handling low power devices well (e.g. Wakelocks have already been mentioned).

tempnow987
0 replies
2h58m

Right - that was my memory. My memory of this was just wondering, what / where is linux actually shipping on low power / power managed devices that they have such a strong view against wakelocks. Code talk and talk walks - and I felt at the time there was a lot of theoretically better approaches being pitched by Linux but nothing was concrete or close to shipping. Can totally understand that at some point google just couldn't wait for the bikeshedding to finish given the push to get to market with stuff.

runjake
0 replies
1d15h

It was always the Linux kernel, plus some misc OSS, plus their own software on top of the Linux kernel.

randomifcpfan
0 replies
1d14h

That’s certainly how it seemed from the Android side at the time. The Linux side was hoping that they could adapt the desktop Linux stack to work well on mobile devices, without introducing new concepts like wakelocks. It took them a long time to give up on that approach.

k8svet
6 replies
1d22h

Well, this is a slap in the face. ChromeOS has had a long-standing tradition of requiring device kernels to be in their tree. Giving them a better shot at long-term/community/Linux support.

It's hard to not cynically read this as "we're making it easier for our partners to ship devices with vendor kernels".

I'm pretty shocked. I would've bet good money at this having gone the opposite direction, with ARC already on ChromeOS, etc.

sounds
3 replies
1d22h

Most likely something like Qualcomm (or another similar vendor) saying that they refuse to provide the vendor kernel, and will just ship Windows on ARM instead.

fowl2
1 replies
1d12h

"supporting Linux on laptops with Windows on Snapdragon"

blinks rapidly

edit: I guess if you squint really hard to read "Windows" as "PC-style operating systems" (or "general purpose computing") it makes sense?

arghwhat
0 replies
1d9h

Hmm, maybe they are referring to a specific branding used on recent models, e.g. a "Windows on Snapdragon" sticker similar to "Windows 8 Ready" and stuff.

Linux laptops still tend to be special order or niche brands, but there is nice positive traction in that space.

nolist_policy
0 replies
1d22h

I don't think this will go away since Google makes the call about what core hardware you are allowed to put into a Chromebook. After all they have to provide 10 years of updates.

ndesaulniers
0 replies
1d14h

Were ARM Mali GPU drivers upstream?

sandGorgon
4 replies
1d11h

they should have done this in the first place. there was absolutely no reason to have parallel initiatives in android-on-the-desktop, fuschia, android and chromeos.

Google's operating system is android. it has won. extend that architecture to the chromeos.

rvnx
2 replies
1d11h

Possible causes: The court case with Oracle regarding programming APIs and the underlying uncertainty probably didn’t help. And in some way to launch 5 times the same product allowed Googlers to grow internally as product launches are highly rewarded, while preserving the company’s interests by not putting all eggs in one basket.

fidotron
1 replies
1d7h

Actual cause was the chrome vs android turf war.

There was a time when the chrome team were walking around telling everyone native android development was a dead end and chrome would take over everything. Then Google had some reorgs, certain people ascended to control both android and chrome, and suddenly android was a good thing.

cmrdporcupine
0 replies
1d4h

It's funny to hear that from the other side. When there I saw how the Android team would throw around its own biases. I seem to recall that "Chromecast with Google TV" ended up having to be per-unit subsidized out of the Android PA's budget because they needed a heftier and more $$ SoC to be able to run Android on it than the dirt cheap ones we shipped Chromecast on.

There's technical merits to both platforms. The fact that Google had/has multiple Linux distributions all competing is ridiculous. I personally worked on HW products that used... (counts fingers) 4 of them? And then toss Fuchsia in there, too...

mike_d
0 replies
1d

ChromeOS literally defined a whole market segment of low cost tablet/laptop devices that could be distributed in mass to schools/employees/etc. The security model was the best of any operating system option.

Android has its place on mobile, but we see how well it has gone for Microsoft trying to take a single OS and make it work across mobile/tablet/laptop.

roywashere
4 replies
1d21h

I use Linux and have problems with Bluetooth-connections to my headphones all the time. Looked into BlueZ to see if I could file bug reports or patches but it looked like a hot mess. Running the Android stack on Linux might actually be nice!

maxhille
3 replies
1d11h

IIRC Android uses a regular Linux Bluetooth stack.

Also WRT your problems: In case you did not yet, switch to Pipewire. When I did that a couple of years ago, my BT Audio experience went from bad to really good.

vetinari
0 replies
1d9h

It can be very device dependent, or even on which mode the device is in dependent.

For example, I have JBL headphones, that work perfectly in the A2DP mode; but switch to HFC for the mic, they will work for a few minutes, then drop off and stay that way until reboot.

That's with Ubuntu. With Android, no such problem.

beaned
4 replies
1d21h

Whatever happened to Fuchsia? Is that still a thing?

MisterTea
3 replies
1d21h

From what I have heard from Google employees, no one at Google really cares about it. It is used in one of their smart speakers and maybe another nest thing. I would not at all be surprised if it winds up in the google graveyard.

anotherhue
1 replies
1d20h

Contrast this to something like the Zig or FreeBSD Foundation, which are specifically created to further a technical system and immune to quarterly re-orgs.

Let's stop begging at the table of big-tech for software scraps.

nineteen999
0 replies
1d12h

Let's stop begging at the table of big-tech for software scraps.

There's been plenty of HN readers on here over the years touting Fuschia as the next big thing to displace Linux/MacOS/Windows due to the Pure Microkernel Design(TM), mish-mash of C++/Golang/Rust in said microkernel, and the fact that it's a Google Product. All the things HN loves.

Grazester
0 replies
1d14h

it seems like Fuchsia will be for their smart devices only

xrd
3 replies
1d21h

If I had to choose, I would much rather do HTML+JS apps than Android+Java/Kotlin. I know there are a million good reasons why someone could say Android is a better platform than the web, but after working as a Java/Android developer for 5 years, I still don't believe that. I'm a little saddened to hear this, but I imagine there is more to the story. And, I was thrilled when Android apps could run on Chromebooks.

multimoon
1 replies
1d21h

Why do you believe that? Kotlin is probably the best language I’ve ever come across - and compose multiplatform is _fantastic_ and solves a lot of problems that nothing yet has.

xrd
0 replies
1d6h

I agree, Kotlin is great. It's just the Android platform that I find really frustrating. Now that you ask, I am struggling to say concretely what I dislike about it as a developer, maybe that is the trauma. It is my daily driver as a phone and I definitely prefer the openness of Android to iOS.

After a bit of reflection, here are a few of the things I recall hating:

  * Really difficult to intercept HTTP requests, especially when testing. JS makes this easier, and obviously much more insecure, but getting things done...
  * The permissions landscape always felt like it was shifting. Chrome apps have their own issues, but I still get confused when I see a permissions dialog on Android. I am sure there are good privacy reasons for all of the permutations, but I bet the permissions were not created by the same PM at Google each time.
  * When I last did Android the layout system was converging to constraint layout, and it was an improvement over the prior ones. But, when I compare that to the simplicity of flex or grid layouts in HTML, I prefer those.
  * All the damn targets for compilation. It is so much easier to just have to build to a webview that runs on whatever architecture you need than to figure out arm or x64.

tapoxi
3 replies
1d22h

I wonder what this means for Lacros (Chrome as a Wayland application compositing to Ash-Chrome). Would this just be using Surfaceflinger and the Android version of Chrome? Does this deprioritize regular Chrome for Linux?

k8svet
1 replies
1d21h

I think these are quite interesting questions. Chromium just spent a lot of effort to get stock Chromium working as a ChromeOS client, rather than it purely being available as part of ChromeOS itself. Is that ... pointless now in the face of a rebase on Android? Seems like it will end up being a win for a narrow window of devices?

k8svet
0 replies
23h18m

(I was thinking about this, and maybe it's intentional. Make Chrome a first class citizen on formerly-ChromeOS. Make ChromeOS a generic base for AVF VMs. Maybe they even have cros working so well that they can do crostini inside an AVF VM?

So it would be Android, Chrome-on-ChromeOS in an AVF VM, Linux-on-ChromeOS in another AVF VM, Windows in a third AVF VM, etc.

pxeger1
0 replies
1d10h

I reckon Google will want to keep supporting Chrome on Linux, because winning developers over is important for them to win control of the web.

djfergus
3 replies
1d21h

Is this Google acknowledging the same thing that Apple has: that x86 is a dead end and ARM is required for high-quality, portable device experiences? Hence optimising for an Android tech stack vs going further down the ChromeOS/Linux path.

yjftsjthsd-h
0 replies
1d21h

ChromeOS works fine on ARM.

rcleveng
0 replies
1d13h

"The reports of my death are greatly exaggerated ..."

x86 has been pronounced dead many times, yet hasn't yet happened. Maybe this will be the one but against all odds, and reason, x86 has continued to thrive.

chx
0 replies
1d16h

I think the first proclamation about how x86 has reached its end I read was in 1992 when the DEC Alpha came out. (It's possibly of course there were even earlier ones.) The chorus became louder when Intel successfully convinced the entire world IA64 will work just as well as it is shown in a PowerPoint despite the failure of Multiflow, Cydrome and their own i860. The new shiny is always shiny... but it doesn't mean it's that much better. You mistake a very tight integration of the stack from silicon all the way up to UI for some miraculous efficiency of ARM vs x86. This is not so.

Animats
3 replies
1d21h

Does this mean that multi-threaded Chromebook applications go away? Android doesn't really do threads in the usual sense. It mostly uses a hack involving multiple processes. And the "main thread" is very special.

veeti
0 replies
1d19h

How do you mean? You can spin up threads using stock Java API or pthread on NDK. (If you intend to run them in the background your app will need an active foreground service to not get killed, though). As far as the "main thread", I don't think that's unusual for most user interface frameworks.

roywashere
0 replies
1d21h

This is not really moving ChromeOS to Android, but rather using their Android Bluetooth component over the crusty Linux blueZ-thingy. And they even talk about the possibility of running the Android Bluetooth component on normal Linux. So there would be no ‘threading’ like repercussions as far as I would see?

ignoramous
0 replies
1d21h

Android has had multi-threading for as long as I can remember. In fact, Binder RPC, that runs in every app process, itself is multi-threaded.

What's special in Android is multi-process. All (Kotlin/Java) apps fork from the same base runtime image, regions of which are CoW'd when mutated.

999900000999
3 replies
1d22h

Chrome OS should be available as an Android applications. Let me use either AR glasses or a next dock with my phone. Looks like Google might do this since they just enable display out on the Pixel 8.

ActorNightly
1 replies
1d21h

You can already do this with Samsung Dex. I've been on S23 and now S24, Dex is mature and works great. Don't have a laptop anymore. Simply boot up code_server in termux and use a web browser.

It will likely be at least a year before Google manages to get a good version out the door. You can preview the desktop mode with floating windows on beta, but it's very buggy. May not even come to Pixel 8 officially, only for Pixel 9.

yjftsjthsd-h
0 replies
1d14h

Weirdly, that once existed for Windows: https://web.archive.org/web/20150323075241/https://www.howto... was basically Chrome OS as a Windows 8 app, but you'd launch it and it went fullscreen and gave you basically a Chrome OS interface. It was weird but I seem to recall it working okay.

xvilka
2 replies
1d10h

As more and more of Android parts are rewritten in Rust, it might be a good thing long term.

didip
1 replies
1d2h

Is there a source on this? I’d love to read it.

haolez
2 replies
1d14h

Maybe this will finally solve input lag on Android. Every desktop Android experience I've ever touched had an incredible amount of input lag, both on mouse and keyboard.

Zambyte
1 replies
1d13h

Are you doing gaming or something really sensitive to input lag? I've never really had an issue with Samsung Dex, and I have used that quite often over the years. My use cases have been pretty basic though - basically just programming and chatting.

haolez
0 replies
1d4h

I've used Dex with a high-end tablet and the input lag shows. You can see that the letter drag a little before being rendered. Quickly doing stuff like changing windows is not reliable and often makes you go to the wrong window if you do it fast. It's usable, of course, but it's far from the experience of a "normal" laptop.

xnx
1 replies
1d23h

Hugely infeasible because of binary blob device drivers, but I'd love to see something like ChromeOS Flex for phones to bring a clean version of Android to older phones.

yjftsjthsd-h
0 replies
1d21h

Project Treble was supposed to do that... and might actually work, with caveats?

ssahoo
1 replies
1d19h

"To continue rolling out new Google AI features to users at a faster and even larger scale, we’ll be embracing portions of the Android stack". So AI is the main reason to go android?

refulgentis
0 replies
1d16h

Nah, just eyewash in an otherwise unneeded blog post that required rationale larger than "because Sundar loves Efficiency™, and this lets the new platform head consolidate things fully, so everyones happy."

They had to get ahead of rampant internal rumors that were leaking externally (c.f. comment of mine a couple weeks back https://news.ycombinator.com/item?id=40580163)

westurner
0 replies
4h31m

Android Binder is already rewritten in Rust.

"Industry forms consortium to drive adoption of Rust in safety-critical systems" (2024) https://news.ycombinator.com/item?id=40680722

type0
0 replies
1d20h

Actually I'm more surprised they haven't done this earlier

trustno2
0 replies
1d9h

The random mention of AI is a bit comical, but it's 2024 so we need that.

Simplifying engineering effort and merging the stacks, that I can understand.

summerlight
0 replies
1d22h

https://chromeos.dev/en/posts/androids-bluetooth-stack-fluor...

Looks like we can try to infer the real intention of the convergence from this project. It might make business sense to maintain 3~4 different OS, each targeting different user segments. But there is no reason to have one more different tech stack per each OS across everything.

ratiolat
0 replies
1d21h

Would be great if chromeos flex would start supporting organisation provided wifi credentials - currently only device generated keys are an option, meaning one has no idea whatsoever if keys generated are actually good enough or are just looking random while generated might be generated predictably. No idea, as it's a black box. Allow organisations to generate keys off device and allow these to be uploaded to the device, and then we can start considering it.

The other problem is that other vendors do not provide chromeos versions of their tools. Looking at you Fortinet and your vpn.

pjmlp
0 replies
1d22h

Translated, the merge of both OS is happening.

nolist_policy
0 replies
1d22h

Wow, this is a big announcement for sure. Not much details but I'll definitely following chromium's code review system[1] closer now (Large parts of ChromeOS are developed in the chromium monorepo).

[1] https://chromium-review.googlesource.com/q/status:open+-is:w...

localfirst
0 replies
1d21h

Would be great to see a Desktop mode like you had on Samsung

Its neat to be able to just carry around a mini desktop computer

khanan
0 replies
1d22h

Preferably without Google, but... seems kind of hard.

jabedude
0 replies
1d21h

somewhat related, I'm curious what the future of fuchsia is? I would have imagined that transitioning Chromebook to fuchsia would be possible at some point, but going to android makes it seem less likely?

hakanderyal
0 replies
1d22h

Before reading the article I somehow immediately assumed this will be about adding AI features. I wonder why.

Next 5 years will be much more interesting than the 2 years before.

dtx1
0 replies
1d6h

This could be pretty awesome. I've been looking for some form of Desktop OS that can hold a candle to the Privacy and Security Features of GrapheneOS and they are intimately tied to the Pixel Chipsets.

Now, a ChromeOS Notebook or even better an Android Tablet with a ChromeOS style Desktop mode getting the GrapheneOS Treatment would be an instant buy for me.

alg0rith
0 replies
1d12h

More JVM. Just what we needed

TheRealPomax
0 replies
1d4h

Does that also mean that we're finally getting android dev tools that run on android so we don't need a separate, second computer to create apps for the computer we want the app to run on?

(because even back in the day, if the phone was powerful enough to run java, it was powerful enough to compile java)

MBCook
0 replies
1d22h

The timing of this really makes it feel like a “I’m still here!” message after Apple’s announcements. If this was planned before Apple’s announcements I would think there would be more details.

Google has obviously been working on AI stuff for quite a while. I mean Gemini exists, to pick the most obvious example. And since the industry is so gung ho on AI you know they were going to be pushed on device/OS integration pretty soon no matter what.

Microsoft recently announced their new Copilot PCs. In some ways that was a hardware announcement but they also got something of a blackeye for the recall feature.

Two days after Apple announces all sorts of AI features on all their OSes (except vision) coming to many of their devices soon this announcement suddenly shows up?

They’re the only big company with a consumer OS who hasn’t announced their plan yet. This feels a little bit like a “don’t forget about us“.

I will be very curious to see what they do when they put out more concrete information.

88j88
0 replies
1d22h

kinda makes sense to not develop a whole other os just for Chromebook when they have all the engineering effort for Android.

1vuio0pswjnm7
0 replies
1d13h

New project: Chromebook from scratch

The Google userland programs are removed but the kernel and drivers are retained.

This frees up lots of storage space to be filled with the owner's choice of open source userland programs.^1 Read-only filesystem, "powerwashing" system recovery, open source bootloader. Chromebook without the Chrome.

Not for commercial use but for recreation and experimentation. For commercial/educational use people can use a Chromebook from Google. I have heard that some people own more than one computer.

What some (not all) computer users want is an inexpensive portable computer that has excellent hardware support in the Linux kernel. These users users are capable of administering their own computer and have no inclination to let a so-called "tech" company remotely install software on their computer at any time ("updates"), use a web browser distributed a so-called "tech" company, store their personal files in "the cloud", i.e., data centers belonging to so-called "tech" companies, remain "logged in" to servers operated by so-called "tech" companies 24/7, and so on.

These users want a "Chromebook from scratch".

Source-based, but Google does not control the source.

1. If an owner wanted to retain some of those Google-authored userland programs, it may be possible for the owner to compile them herself, e.g.,

https://github.com/google/minijail