"Hardware vendors being unwilling to make the drivers they write open source" is a pretty fundamental reason.
Which is worse, a phone where you can't update kernel because of the closed drivers or a phone where you can update the kernel, with closed drivers? I don't think that realistically there's a third option. The open source community is not, for example, going to make their own high performance gpus.
>Which is worse, a phone where you can't update kernel because of the closed drivers or a phone where you can update the kernel, with closed drivers?
Neither of those are good options because even in the second case, there are still vast swaths of code that upstream is not going to touch out of fear of breaking things, the end result being that you still get stuck with unfixable kernel and driver bugs.
>The open source community is not, for example, going to make their own high performance gpus.
The open source community includes a lot of companies. The high-performance GPU companies are welcome to join this community any time they like.
Every Nvidia and Intel competitor (AMD) is probably already reverse engineering their binary drivers and binary libraries trying to steal their IP, so Intel and Nvidia’s fears are imo justified.
If NVIDIA or Intel could easily protect their open source code from being stolen from AMD, the story would be different. But you can’t prevent somebody from reading even GPL code, being “inspired” by it, and writing something different enough that does the same thing with the same ideas. Like just look at the LLVM project were people look at what GCC code does every now and then for “inspiration”.
Intel's GPU drivers are free software, they even contribute them themselves, same goes for AMD.
I think NVIDIA's different because they have the Apple mentality of them being the real innovators, (regardless of fact) and building their internal culture on secrecy, closeness even to other teams within the company etc. I think they consider it as part of their 'coolness factor', together with the CEO being on stage dressed like a rock star from the 80s.
The fact that they benefit from Linux massively and that having an open driver would win them massive goodwill is not directly measurable in terms of their balance sheet, at least in the short term, plus it would remove some of the secrecy.
So no that isn't decent enough, and I only keep it like this, because it is just a little travel laptop that I keep on using until it eventually dies.
I don't get this constant obsession with mentioning how 8 years ago this and this on Linux sucked. Yes, it did, things improved considerably since then.
If you're only willing to run Linux on ancient, underpowered hardware and then complain about the experience, be my guest, but I think you'd be better served by a Mac.
There's a whole class of people who run Linux on shitty little laptops and then compare the experience to their brand new iMac. I guess somewhere there's still the mentality that since one's not paying for Linux, it's not for my serious hardware, only second hand.
As much as I'd have liked for AMD to get their shit together sooner, I am glad they eventually did and are improving amdgpu at a decent speed.
Indeed, that is why this Linux laptop is the surviving one that still runs Linux on bare metal, everywhere else I just VMs, if at all.
I can't figure out what you mean by "sabotage their competitors". The term sabotage indicates that they are performing actions to actively harm their competitors, how is that related to keeping your source, which cointains your IP, private?
The open source community includes a lot of companies. The high-performance GPU companies are welcome to join this community any time they like.
It is nice to hear that they are welcome :p. Which they would even feel more so, if there were actual incentives being offered rather than trying to make their life artificial difficult.
I think we should lower the entry threshold first. The open source and free GPU project was the first thing that came to my mind when I saw http://llhd.io/. After all, one of the main problems with OpenHardware projects is the closed FPGA ecosystem.
Still a long way to go of course, but I'm pretty positive about the direction things are heading.
IOMMUs solve this problem by giving hardware devices their own virtual address spaces.
A phone in which the kernel never needs to be updated, like with the seL4 microkernel.
A third solution could be to require device manufacturers to share their source code with a trusted third party (such as google/certification authority). This third party will make sure that the driver does not include any harmful code and provide signed binaries. Binaries could also be updated for newer versions that way, even if the original manufacturer loses interest/goes bankrupt. If the IP gets stolen, the device manufacturer could sue this third party, therefore business people will also feel secure.
It is not ideal, but I could be able to live with this solution.
Of course it will.
https://github.com/felsabbagh3/Vortex https://news.ycombinator.com/item?id=22492902 https://libre-riscv.org/3d_gpu/
Another crucial thing is texture mapper. That thing is really fast and usable even in the compute pipeline. Image support is (was?) largely optional in OpenCL.
Also I remember the last time people talked about this. PS3 was not originally supposed to have a GPU at all because the Cell processor was so powerful. In the end they had to ram in an actual GPU. While the Cell was just fine for vertex processing it did choke terribly in rasterization due to lack of TMU and dedicated HW rasterizer.
EDIT: I also want to emphasize the difference of target markets. On AMD one can go to the Nanite path for some of the rasterization. One must remember that it is a non battery powered device.
Memory bandwidth is really power hungry. For mobile, the likely target market for the Vortex and similar, one really wants to do tile based rendering. Ideally the way IMG does it. Even though theoretical flops of modern mobile GPU’s is higher than some old discrete ones their memory bandwidths are way lower, so no running Crysis on modern mobile even though flops would indicate it would match a good discrete GPU back in the days.
'21 years ago we got a new thing. Why on Earth do you think we're going to get something new ever again?'
'21 years ago we got yet another new thing. What makes you think we'll ever get a new thing again?'
Seriously?
Citation needed.
I think the mounting cost of e-waste is a far bigger deal. Think of the unimaginable amount of carbon impact from the millions of trashed Android phones out there. Do we really want to continue down this path, until there's billions of obsolete machines sitting in landfills (there probably already is)? Updatability can save devices for much longer, and now people are upgrading less often, there's a huge opportunity for impact there.
Disclosure: I work for Google, but not on the Android OS or Fuchsia.
I'm skeptical of this. People buy new phones because they are faster, or because they did update and the new version of the OS is very slow on old hardware. People buy new hardware because they want new hardware.
Most non-tech people I know actively avoid updating their phones because it's annoying. They will ignore the notifications and choose older software over the inconvenience of updating and rebooting their phone.
Avoiding updates and ignoring notifications could stem from a different reasons. People may not want to take the time and maintain their phones. I consider myself a techy person, but I also put off updating my phone, taking good care of it, upgrading it. I also dread tidying up my room, getting a hair cut, shopping for clothes, eating healthy, sleeping well etc. It could be a personality trait.
Avoidance conserves energy :)
These days Linux has better hardware support (imo) than Windows. Solving it for laptops was about creating the right incentives for hardware manufacturers. It can happen for mobile too.
For example, as of now, the hardware sensors on my x590 board are not recognized.
LED control is not a thing, even on most old/established boards (you can argue if LEDs are nice or ugly, but if they are there I want to control them).
Even enterpriseish devices, like Lenovo's X1 laptops, that are CERTIFIED by both Red Hat and Ubuntu, have limited hardware support at best. Fingerprint scanners on 3 year old models are still not recognized, and there seems to be zero will from synaptic to ever support it. Sleep states were terrible for a long long time, finally fixed in a fashion that requires different firmware for optimal sleep performance on Windows or another one for Linux.
So no, my experience is that still hardware vendors are not giving me as a Linux user the support and value for the good money I pay for their products. Obviously they don't deliver the expected level of support any reasonable consumer would expect, and most probably won't deliver it in the future either, since they get away with it so easily.
I agree, and hence my claim - Linux have excellent support for the hardware it supports, but in general it is not lagging behind Windows in that dimension due to restricted access to required information.
> any improvement that could be added to Fuschia could be added to Linux
This is not necessarily true. Some things certainly. But linux is constrained by keeping a backwards compatible user-space interface, and being mostly posix-compliant. For example, fuchsia doesn't have fork or exec (it has a single spawn function/syscall instead). Linux could add a new spawn syscall, but has to keep fork, clone, execv, etc. forever. And even if most new code moves to use the new syscall, the complexity around the old ones will be around forever.
But it has.
* I remember having major issues with printer drivers on Linux 10 years ago. Nowadays thanks to IPP support I don't need any drivers any more. I had to help my dad with installing a windows driver while on my Linux laptop it just worked.
* My Laptop from 13 years ago didn't have free network drivers. I had to jump through hoops to install them. Now they are all free.
* AMD has started maintaining really good open source driver support for their GPUs
* Even for Android there is improvement, with e.g. free Mali drivers being built. It's slow and not enough, but improvement.
I believe its meant in context of Android.
Still waiting for them to reach parity for my laptop GPU, it used to be OpenGL 4.1 with hardware video decoding, nowadays I just get OpenGL 3.3 with the open source driver, the antithesis of really good.
Not easily. If Linux has gone down a path far enough, it may be hard to reverse, especially if it is of fundamental design. For example, the separation of kernel space and user space is different. I am not an operating system engineer, but I would bet that certain things would be hard to change --- deep structural decisions mentioned in the article, like:
- the kernel primitives are exposed to applications as object-capabilities
- applications can interact only with the objects to which they have been granted access explicitly
- applications interact with each other and the system using message passing
> use proven ideas
I would say in the realm of software there are still competing ideas, even if you narrow it to the subset of ideas that are good (secure, maintainable, fast, etc.). Linux chose some good ideas, but if you want to try out different ones, you may have to start from a clean slate.
my wife do not care about updates, she will not hesitate a second to get iPhone once she knows her social media or pictures is not safe on her android device, this is the issue Android have and Fuchsia have to fix.
Windows has a stable binary ABI which means that my drivers don't go stale when Microsoft pushes out a minor rev to the NT kernel. Windows does its updates and my peripherals [mostly] work just fine.
Certainly not as good as Apple, but I believe that's the best you can find in Android land.
An open source driver written once will work for all future versions of Fuschia. Right? That reduces the effort for open source developers enormously.
Most security flaws come in above the driver level. Right? Being able to update the OS, despite the hardware manufacturer's laziness, is a huge boon for everyone.
Fuschia is open source. Drivers written for one Fuschia (say, the one Google controls) should work for another Fuschia (say, the one you and your friend forked.) Right? That's a huge win for you.
Whatever incentives you have imagined that hardware manufacturers have, time has proven those incentives don't work. It's far better to take as much control away from them as possible. They will do the minimum amount of work necessary (write new drivers). Then we can all exploit the hardware + driver + Fuschia system.
It has always, and will always, be possible to build propriety drivers. This is minimizing the blast radius of them never being updated, as much as possible.
For these reasons and more, we should all hope Fuschia is successful.
The Android developers who have tried to live on top of Linux are sick of the problems that Linux brings them. Fuschia is an open source direct response to those limitations. It's stunning to me that you would wish them to fail.
"then any improvement that could be added to Fuschia could be added to Linux". Explain to me why we still have BSD? Not all problems are solved by Linux. The sooner you accept that, the better off we will all be.
It's like you're wishing Clang would die, because we can always just improve GCC. That's demonstrably false. Just like saying everything good in Fuschia can be added to Linux. No, it can't.
"We don't need a new operating system whose only advantage is that it's easier to write proprietary drivers."
Wait, if it's easier to write propriety drivers, doesn't that lower the barrier to making low-cost phones? Well, Christ, sign me up. Do you have any idea how many billion people have a low-cost smart phone as their first computing device? If we lower the cost even more, that will broaden the reach even more.
Do you seriously not get that the other major phone OS is completely closed source? Maybe put a little faith in the people who have developed the most successful competing operating system that's open source?
Lost you already. Since Fuchsia uses a pushover license instead of a copyleft license, the vendors' drivers aren't going to be open source. Look how many companies today don't open-source their Linux drivers, and they're breaking the law by not doing so. It's going to be so much worse when there's "nothing" wrong with keeping them proprietary.
This is great term for it, thank you.
So, when an open source driver exists, Fuschia will make it useful for a long time.
Further its entirely possible for a device to require signed drivers and their is even a security incentive to doing so. They don't have to ever let you have your own drivers for their hardware.
Hardware running software that is either proprietary or based on permissively licensed software is everywhere. It's usually impractical or impossible to run your own software on such devices. There is no particular reason to trust Google any more than any other big company. Corporate persons judged by the moral standards one would apply to people are nearly always bad people even wherein most of the people therein are OK to good. Trusting them beyond their own self interest is nearly always a mistake.
Therefore, your criticism is completely without merit, and should be ignored entirely.
1) Fuschia doesn't have a property. (It doesn't compel hardware vendors to provide open source drivers.)
2) No other operating system can possibly have that property either.
3) Therefore Fuschia should die, to help one of those other operating systems succeed.
Do you not see the flaw in this argument?
As an alternative I suggest you look at actual Linux devices even if they are objectively worse if they are more open.
Linux has not compelled Nvidia to produce good OpenGL drivers.
No, really, walk me through this.
I think the principal is that if Google had licensed Fuchsia in such a way as to require release of source code to kernel modules that companies would rightly fear being sued for violating the copyright of a mega corp like google in a way that GPL violators don't fear say the free software foundation.
I think this proves GP's point.
You wonder if you can install a new android or other Linux based OS can be installed on your hardware unfortunately no gpu drivers exist for Linux so again you are forced to give up. The only software you can run is the official software from your OEM. In theory the OS you run is open source but if anyone who isn't a major OEM builds an alternative version it works as expected without proprietary bits and binaries signed by the manufacturer your device wont talk to your email provider, your bank, netflix, spotify. Instead of free as in beer or free as in libre its free as in bullcrap.
The point is without the onus being on OEMs to provide source for their drivers people have only as many options as OEM's opt to give them.
Creating a new OS, that is also GPL will not encourage Nvidia more to do the thing they already aren't doing.
I'd love to see a list of the problems you have with Fuschia or how Fuschia is being managed. Maybe as a new top-level post on HN?
They have a lot more leverage than we FOSS supporters do.
In a competitive market, open source drivers win. Look at the desktop market -- nearly everything is open source, and the biggest holdout is nVidia, because for a while there nobody was challenging them on performance. Now that AMD has competitive GPUs again, not only does that provide a competitive option with open source drivers, nVidia is now losing market share to them.
OEMs don't really like proprietary drivers. They're a pain. Whenever new driver versions come out, it becomes the OEM's problem to test and distribute them instead of having the Linux kernel team deal with that hassle. The open source drivers also generally have fewer bugs (because anybody can fix them), which leads to fewer support calls and more satisfied customers who make repeat purchases.
And customers naturally prefer hardware with longer hardware support, when it's available.
What we need is more competition for Qualcomm. Google could do that if they wanted to -- throw some money at making competing phone chips. Apple does it, why can't they? And then publish open source drivers and sell the chips to anybody.
We also have AMD as a dark horse now. The Ryzen 4000 series goes down to 10 watts -- it's so power efficient you could squeeze it into an Android tablet as-is (and then be a lot faster than most tablets), and it wouldn't take much on AMD's part to do something that could work in a phone. Android is an open source system with apps that run on the JVM, so the architectural difference shouldn't matter much.
Or we could get the antitrust authorities to stop letting Qualcomm buy every competitor that springs up, which they've been doing for years.
But you solve the competition problem and you get open source drivers. Along with all the other benefits of real competition.
Meanwhile the low end is more sensitive to price than quality, so competition there pushes things towards things cut costs rather than things that improve the experience, or even things that reduce long term costs at the expense of short term costs.
Android apps run on ART, not the JVM (different bytecode, similar idea): https://en.wikipedia.org/wiki/Android_Runtime
Many apps have native code as well, and Intel put a lot of time and money into automatic binary translation some years ago to make such apps work on x86 Android: https://www.anandtech.com/show/5770/lava-xolo-x900-review-th...
AMD might be able to build on that, but it was probably specific to Intel's mobile CPUs of the time (which didn't really succeed), and I don't know what's happened since.
And yet I find this idea total BS.
The reason I could even migrate to Linux when I was a teen was compatibility. It's because free softwares (VLC, Firefox, OOo...) were ported to Windows, a proprietary plateform, so that I could then feel at home later on Linux. And I made a definitive switch thanks to Ubuntu, because it made using most hardware easy, by accepting to use proprietary drivers when required.
Strong arming the industry into Libre never worked. The GPL is one of the least popular licences for this very reason. I, myself, never uses it.
Representing close source as evil doesn't work either.
It's like being vegetarian (which I am) and guilt triping people about meat. It's completly counter productive.
The result we got is that the year of Linux on the desktop never happened, because playing on Linux is hard, because the last cool gadget doesn't work, because you have to carefully chose your laptop to be sure it will work with it (E.G: my XPS 2-in-1 webcam doesn't work on Linux).
It also adds a lot of work to the kernel devs to try to keep up with the outter world, but they have a limited bandwith.
So Linux BT still sucks (even more than regular BT). Wifi is still not on part with the XP on other OS. Batter life is abysmal (I'm dual booting, and the difference is X2).
All for an ideal we never reached anyway.
Help and encouraging for FOSS makes a better world.
Being pushy about it hurts us.
More broadly though: what kind of world do you want to live in? A world where it's easy for companies to create new proprietary software, or a world where it's easy for the users to shape their computing experience?
Look around you, at the consumer devices you own. Can you name one that's: 1) aimed at consumers (i.e. not a dev board, Raspberry Pis and such don't count here) and 2) that you have most or all of the source code to?
Look, if your goal is just "make better software" in general, maybe permissive open source has been a success. But if your goal is to increase practical user freedom, it's been an abject failure. It's just helped companies to make proprietary software more cheaply. And sure, there's some interesting technology that comes out of that for developers, but in the vast majority of cases the users don't see the benefits! Surveillance capitalism marches on, bolstered by the free labor of the community.
This is why I've been so disheartened that parts of the community have turned so anti-copyleft recently. In a world of permissively licensed software, the incentives are stacked against free software for end users. In a world of GPL'd software, you can release your code as GPL too, or you can pay more to write it all yourself.
Of course, but I think you can thank phones, the internet and the economy of scale for that. Not strong arming.
You will always find examples of times where something worked. But each one I can see 10 examples of companies that said "nope" during one of my mission.
> what kind of world do you want to live in? A world where it's easy for companies to create new proprietary software, or a world where it's easy for the users to shape their computing experience?
It's a false dichotomy. It's not us vs them.
There is no them. It's just all us.
> Surveillance capitalism marches on, bolstered by the free labor of the community.
That's a sociological problem, you won't solve that with software. Or licences.
For that you need to get into politics or business.
> This is why I've been so disheartened that parts of the community have turned so anti-copyleft recently.
I haven't see that at all. Open source has never been so popular. Creative common as well.
What I do see is a complexification of software, that requires more and more resources, which the FOSS world has a hard time to keep up with.
What I do see is a mass of people comming to software that don't care at all about those topics, but only about usability, which the FOSS world has a hard time to keep up with.
I'm glad VLC didn't decide that they couldn't read DVD, or OOo read .doc because there were proprietary formats, otherwise they wouldn't have been the popular softwares of today.
Today LibreOffice is replacing MS office in many administrations and schools. The alternative would have been Google doc.
You think making Linux more restrictive would have forced industrials to be more conciliant?
No, they would just have used more proprietary softwares. The entire stack if necessary, and we would never have had Linux on mobile. Instead, we would have had a black box.
The open source mouvement is not "free to everyone to use and modify, except the ones that don't contribute and profit from it".
That would be a very bitter point of reaction, not positive action.
In many contexts I would agree, but not here. Say I buy a device, and people discover later that it has surveillance code in it. Why can I not just remove it myself? Who do I need to talk to? The developer of that proprietary code. That's "them."
>That's a sociological problem, you won't solve that with software. Or licences.
>For that you need to get into politics or business.
There are many different angles you can take to approach a problem. One of which is politics, sure: we could outlaw software that surveils its users without consent. That's one approach. But a technical approach is also valid: if all software were free, do you really think users would just accept big tech companies surveilling them? Don't you think we'd have people removing the tracking code, and telling their friends how to do the same?
And by the way, one of the things we see over and over again from the business world is that incentives matter. No, I don't think all companies would have freed their code if the GPL were prevalent, but if it's significantly easier to make their code free than it is to make it proprietary, certainly more of them would. Just look at the state of Linux drivers on x86: how many of them are free these days, and how many of them are proprietary? There are a few high-profile proprietary drivers, but by and large most of them are free. That's meaningful progress! How many of your drivers are free on Windows?
>I haven't see that at all. Open source has never been so popular. Creative common as well.
"Open source" has had a surge in popularity, sure, but its current popularity has more to do with corporate interests than an interest in user freedom - which, of course, was why the term was coined in the first place. As a percentage of that software, the use of copyleft licenses has declined in recent years.
>I'm glad VLC didn't decide that they couldn't read DVD, or OOo read .doc because there were proprietary formats, otherwise they wouldn't have been the popular softwares of today.
Of course supporting existing proprietary formats for the purposes of drawing users to free software is a good thing! I just don't think we should be contributing to the development of more proprietary software. VLC and LibreOffice are both extremely valuable free software projects. (And by the way, they're both copyleft - OpenOffice isn't, but most development has shifted to LibreOffice these days.)
>The open source mouvement is not "free to everyone to use and modify, except the ones that don't contribute and profit from it".
Of course not! Anyone is free to use and modify any free software, including copyleft software. But I think copyleft is a valuable tool to help us build a software commons.
GPL is the only reason Linux still exits, not for long though, when even Linux Foundation has decided to go with something else for IoT, namely Zephyr, which is neither Linux based, nor under GPL license.
In about 20 years we will be back at shareware and public domain, enjoy what is left while it lasts.
It doesn't matter if Fucschia is a success, Android is already like this, since Project Treble, Linux drivers are "legacy" drivers on Android, all new drivers use a microkernel approach with Android IPC, basically how Fuschia drivers work.
Whatever non-copyleft licenses allow for, it was already available via public domain and shareware like licenses.
Yes, GPL makes is very hard for certain kinds of business models like games or desktop software in general, however when people complain about its existence, most seem to blind to the fact that they only have Linux and GCC because of GPL, and clang wasn't around until 2007.
Had it not been for them, and most likely all commercial UNIXes would still be around.
If I was Linus, I might also avoid raising a stink because the Linux foundation does a few things that need to be done, and the damage it is doing might be less bad than what happens after discrediting it.
Linux is full of security bugs. It is ludicrous to suggest Linux is high quality. OpenBSD, maybe. Not Linux.
Seriously, all software has bugs, how do you judge the quality of an operating system that is not finished?
https://events19.linuxfoundation.org/wp-content/uploads/2017...
https://outflux.net/slides/2019/lss/kspp.pdf
Slides from 2018 and 2019 talks.
I think it is a horrible thing and a reason to deter hardware vendors from supporting Linux at all. Even with the best intentions and open source drivers, it adds maintenance burdons to the hardware manufacturers. And some hardware vendors cannot go open source at all, as they might have licensed other code to implement their drivers or have other valid concerns not to open up their drivers entirely, like for IP protection.
>> This would allow for a much more competitive, and higher quality, software, and hardware ecosystem on mobile platforms.
I have no idea why you think that. Any proof? How would you measure it?
>> It makes it possible to build proprietary drivers
End users do not care about opensource vs closed source, they care about the user experience. Based on your thesis, Linux would be the best operating system with the most market share out there because it features everything you say, yet it has a negligible share on desktop. Empirically proving your thesis being wrong.
Even worse, Fuchsia aims to be BSD License, not GPL. Fuchsia is a complete disaster for hobby OS makers.
In a couple of years the same people will understand why it exists in first place.
I guess they are having fun running FreeBSD on their PS4s, thanks to Sony, hence why they aren't paying attention.
This is a massive step back for open source. The fact that Linux doesn't have a binary-compatible driver interface is a good thing: It means hardware vendors have a very strong incentive to get their drivers upstream into the kernel. And indeed, on servers and laptops and desktop machines, this has largely happened. But on mobile platforms, with Android, it has not happened. For various reasons, but nothing fundamental.
We would all benefit if Android hardware drivers were upstreamed. This would allow for a much more competitive, and higher quality, software and hardware ecosystem on mobile platforms.
But Fuschia is going in the exact opposite direction: It makes it possible to build proprietary drivers. It's for this reason that I hope Fuschia is not successful. We already have a high quality kernel: Linux. If Fuschia is "not a science experiment", but instead intended to use proven ideas, then any improvement that could be added to Fuschia could be added to Linux. We don't need a new operating system whose only advantage is that it's easier to write proprietary drivers.