https://source.android.com/docs/core/architecture/kernel/gen...
https://source.android.com/docs/core/architecture/kernel/gen...
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
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.
[1] This is improving greatly in the last year or two, but that probably wouldn't have made it to your chromebook.
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.
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.
- some phones can read from the screen framebuffer, some are write only - a variety of actual chips used for modem, storage, etc.
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...
> 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.
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...
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
> (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.
It's really silicon manufacturer's fault for not wanting to mainline and long-term support their BSP, not Google's.
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.
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.
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.
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.
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
You keep the binaries, you get to maintain them and solve their problems. Seems fair.
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.
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.
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 :-)
By market cap, nvidia is the 3rd biggest one, about as big as google and facebook together. Market cap is a sensible metric.
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.
Precision is always helpful, but valuation is a very common size metric, and there was no confusion about OP's meaning.
You're going to have to expand that a little bit.
> valuation is a very common size metric
It's not a size metric.
A world where things grow larger the more people value them might be interesting though.
> and there was no confusion about OP's meaning.
Their comment makes much less sense if you replace "biggest" with "most valuable". It's trivially obvious that the correlation between valuation and how much a company can invest into software is incredibly weak if it exists at all. On software development spending NVidia is eclipsed by many companies with sometimes only a fraction of its valuation.
So either it's a non sequitur or we are incorrectly assuming that Nvidia became the largest company.
Do you personally grow larger when you have more money in the bank? When more of your friends get elected in the senate? When you hire someone? When you buy a new house?
OP said "biggest", and meant "largest valuation". This happens to be incorrect -- nVidia was never the highest-valued public company -- but they were the second-largest, and came very close to first.
If you did not know what OP meant immediately from awareness of business news, you still should have considered "valuation" as one of the obvious possibilities. If you did not, then you might be lacking adequate context for this conversation, and might be better served by asking questions instead of demonstrating your confusion via misplaced pedantry.
Size is not a metric. You can measure size with a metric and you can measure value with another metric. Measuring both the same way only leads to nonsense. I think we're getting to the bottom of the confusion now.
> misplaced pedantry
Pedantry is the easiest way of dismantling comments that try to turn nonsense into an argument by being intentionally vague. Should you argue directly against vague statements, the speaker can retroactively make them mean whatever they want to. You'll be chasing moving goalposts. Employ pedantry until they well and truly nail themselves down, and then explain why whatever is left is nonsense. Worked like a charm.
Also, to get ahead of any further personal attacks, this pedantry absolutely is fun to me. I wouldn't be here otherwise.
You are simply wrong. Being condescending and wrong is a fatal mix.
Size is a unitless dimension. A category of metrics, if you must. OP's word of "bigger" can be applied to population, area, weight, importance, memorability, and yes, valuation.
Can be, and frequently is, among humans. Zero humans are confused.
> Pedantry is the easiest way of
... demonstrating that you're a jerk. Nothing else.
> this pedantry absolutely is fun to me
Got it. My mistake for assuming good faith.
> I wouldn't be here otherwise
That's the most disappointing thing I've read in a while.
Just make size a category of dimensions and I'd underwrite that. It certainly doesn't refer to a single dimension.
Mathematically valuation would absolutely be a size/magnitude, but we're clearly not speaking in mathematical terms, given how the terminology is being abused. Mathematically plenty of things that are a magnitude/size do not constitute a metric space, and the singular would be wrong anyways.
I'm taking metric to mean "standard of measurement", which is why size is still not a metric. Saying "size is a category of metrics" would be getting close enough I suppose, but really we're talking about the actual dimensions.
Now that we've got that out of the way, I'm still firmly grouping valuation as a measurement of value, and not a measurement of size. I'm also standing by the assertion that not having these two be disjoint sets only leads to confusion and nonsense.
> OP's word of "bigger" can be applied to population, area, weight, importance, memorability, and yes, valuation.
Nice try. They applied it to "company". You can do that, but now we're not talking about a company's value. We have the adjective valuable for that.
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.
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.
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.
The linux kernel team should offer a fixed compatibility layer for drivers. And for user applications too, while we are at it.
> 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.)
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.
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.
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
GPL requires any code linked against it which fundamentally requires it to be useful (Nvidia/zfs linked into the linux kernel to be used in linux) to also be licensed as GPL or GPL compatible. To my knowledge that was the major stopper for zfs and a major stopper for me to use any GPL code in software I plan to distribute. IANAL but GPL is vague enough that it can be argued either way. The "dubious license" terminology was incorrect from me, I was referring to it not being GPL compliant or at least there is skeptocism about whether it is. The BSD license does not have these restrictions and is fine.
Regarding the compat shim, if it has to link to any kernel APIs stability isn't guaranteed, if you want a reasonable guarantee of stability then as one of the above comments mentioned and I alluded to. Do the legwork to allow userspace drivers in the linux kernel, nobody said it's easy and it seems like the consensus is to just keep the shim up to date instead of trying to push that but if you want a stable API to code against that's your path. As was mentioned in this comment section Linus has publicly stated where possible userspace APIs are to be treated as sacred.
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
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.
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.
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.
Because I don't remember seeing any in the source code... But ist be looking at the wrong place.
you're correct, only firmware tree have binary blobs.
You are right, in the firmware tree, not in the pure kernel itself.
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?
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.
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.
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.
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.
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.
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!
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
[1] http://kroah.com/log/blog/2018/02/05/linux-kernel-release-mo...
no, they do it for you for free - you just have to make sure the quality is high enough to merge into mainline.
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.
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.
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.
And created an entire category of new ones.
They wouldn't have to, that would be done for them, for free, if they got their code into the kernel...
Once you mainline it, making improvements, supporting new devices and features become 10x slower.
With a stable ABI, it would be better than everything. But we can't have it because of ideological reasons.
That's how you can use a random 25 year old peripheral on multiple versions of Windows without anyone having to update a driver.
For windows you can usually download a binary from some 20 year old website and it'll work.
Avoiding that mess for some notion of beauty or purity only gets you so far.
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.
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.
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.
depends; but may i suggest starting at kernel.org then look at 'linux from scratch'/gentoo then maybe slackware; surely not ubuntu
- 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.
There's a reason all other kenels have adopted a stable driver API and ABI.
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.
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.
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.
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
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.
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.
Books Browsers Cameras Document readers File management Journals Mail Photos Presentations Spreadsheets Whiteboards Word processors
One hour 39 + 39 seconds in the demo
Didn't Google push for mainline integration at some point to completely avoid the need for manufacturer specific BSPs?
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.
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".
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/
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)