5 ms·
That's not how open source works in SoC design. In fact it doesn't work at all an here's why: Google hasn't made the SoC and doesn't own the IP, it most likely
by ChuckNorris89 5y ago
That's not how open source works in SoC design. In fact it doesn't work at all an here's why: Google hasn't made the SoC and doesn't own the IP, it most likely bought a bunch of IP blocks from established vendors like Cadence, Synopys, Samsung, etc and fused them together to create a SoC.
All those IPs come with their own license terms and NDAs that limit what you can do with it. You can use it in your final product and make money selling it, but most most IP vendors in the semi space will not let you open source anything about their design, including drivers, as that IP is their golden goose.
If you want to blame someone for this sorry state of affairs, you can blame the entire semi industry starting from the EDA and IP vendors all the way to the fabs. It's pretty much a cartel and they all keep their cards close to the vest any way they can.
- eikenberry 5y agoHow do they use the GPL2'd Linux kernel then? It implements drivers in the kernel and the license requires that the source be released. Do they use tricks like nvidia and create a free software shim module ties in a userspace driver?
- quotemstr 5y agoEach major release of Android has an explicitly stable kernel internal ABI, meaning that shipping binary drivers is much more viable than it was before.
- eikenberry 5y agoDoesn't matter how easy it is if it is still illegal to do so.
- Unklejoe 5y agoNXP manages to do it fairly well though. Their chips have excellent upstream support.
- ChuckNorris89 5y agoThey do, though, their chips aren't on the bleeding edge of performance so I guess they're less fearful of competitors copying their IP since MediaTek, Samsung, Nvidia and Qualcomm steamroll anything in NXP's offering. That's why their chips are mostly in e-readers and IoT devices that don't need massive processing power. Still, I'm a fan of their approach.
- Unklejoe 5y agoTrue. NXP chips can also be found in devices made by vendors who are too small to get a response from Qualcomm or NVidia. Unless you're moving thousands/millions of units, those big dogs won't even entertain you with a quote.
- haukem 5y agoI haven't see this as a problem, but I am working for a consumer network equipment semiconductor company. I haven't worked with graphics drivers which could be different. Normally we get the driver code from Cadence and Synopsys under a permissive license, it can be integrated in what ever you want. The documentation and especially the RTL is under strict NDA. This driver code is often very self contained and does not use many or any Linux frameworks, it should be easy to integrate it into any operating system in any way. Normally you have to rewrite the driver code you get from Cadence and Synopsys to get it integrated in upstream Linux, because it does not meet the upstream Linux guidelines. This is a general problem with the out of tree drivers you get from the semiconductor industry. There are also big players in the semiconductor industry which demand that every code inside the Linux kernel they ship has to be under GPL for legal compliance. There is also not a single bad guy in the semiconductor industry which prevents upstream Linux support. Every player could do it, Google probably got most of the drivers in source for their Pixel phones and could have upstreamed them, but most of them probably need a rewrite. They could have offered Qualcomm some money to port support for the SoC used in a Pixel phone to a more recent major kernel version, I am pretty sure Qualcomm would have done it for the right amount of money.
- summm 5y ago"right amount of money" does not mean what it actually costs to write proper drivers, but the amount that Qualcomm expects to earn less when people buy smartphones less often, which is probably much larger.
- intricatedetail 5y agoDon't forget foreign actors constantly looking to steal designs. If government properly enforced IP laws and imposed sanctions on countries violating them then we wouldn't be in so much mess.