Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Source code? #79

Closed
Midar opened this issue Aug 10, 2012 · 7 comments
Closed

Source code? #79

Midar opened this issue Aug 10, 2012 · 7 comments

Comments

@Midar
Copy link

Midar commented Aug 10, 2012

I'm quite confused: I can't find any sourcecode anywhere, but the license notice of all Broadcom stuff reads pretty similar to a BSD license. Did Broadcom release sources under a BSD-style license, which the Raspberry Pi foundation then took and adjusted for the Raspberry Pi, but did not release the changes?

@asb
Copy link

asb commented Aug 10, 2012

No, that would be ridiculous. All the headers and example code in /opt/vc/src is under a BSD license. You're right that the license for the binary only files is roughly similar to BSD (but with references to source removed). This is chosen because it's short, easy to understand, and matches the legal requirements for distributing the binaries. Similar licenses are used for e.g. Intel wifi firmware.

@Midar
Copy link
Author

Midar commented Aug 10, 2012

So this means the actual libs, firmware etc are closed source? Are there any plans to open source them, or is the Raspberry Pi basically a closed non-free device like any modern smartphone using a broadcom SoC?

@asb
Copy link

asb commented Aug 10, 2012

As it stands, yes, they are closed source. It would be correct to say that currently the GPU firmware and userspace libraries are no more open than that of other vendors.

@Midar
Copy link
Author

Midar commented Aug 11, 2012

Wait, you say the GPU firmware and userspace libraries - does that mean there is no blob in the kernel?

I have read that the GPU firmware loads the kernel - is this correct? After that, how is the GPU used? Through communication with that said firmware? What do the userspace libraries do?

What I'm interested in is: Is a kernel with only open source modules able to run on the Raspberry Pi and if so, can it take advantage of the GPU? If not, which parts would need reverse engineering?

I'm really missing specs on the Raspberry Pi - did I just not find them or aren't there any? Is the Linux port considered the "architecture specification" for the Raspberry Pi? Currently it looks like Linux is the only supported OS.

@asb
Copy link

asb commented Aug 12, 2012

There are no closed source kernel modules. The vchiq module is GPL licensed, and provides a message passing interface used by the userspace libraries (and the in-kernel ALSA implementation actually). Just don't install the /opt/vc/lib libraries and you'll have a fully working system with no closed source kernel or userspace code. You just won't be able to use GLES, OpenMAX etc.

@Midar
Copy link
Author

Midar commented Aug 12, 2012

Ok, that's interesting. Is there some documentation available?

So, basically, in /opt/vc/lib are libraries that pass messages to the firmware? Or where do they pass them? The GPU directly? Doesn't that mean that rewriting these means the OS does not need to have any closed-source components and that then only the firmware would be closed? Writing a library to pass messages doesn't sound too hard. And this would allow porting other operating systems like Haiku, which might be a much better fit as a desktop OS for the slow Raspberry Pi.

@popcornmix
Copy link
Contributor

Closing. I think a discussion like this is better handled on the forums.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants