summers
Posts: 63
Joined: Mon Jan 30, 2012 4:27 pm

Open Sourcing the drivers

Fri Jun 01, 2012 10:27 am

I'll start off by saying that I'm not having a go at anyone here - the world is the way it is, and lets live with it.

Anyway, the question, linux is only just starting out in a big way on arm cpus, so comparing it to the x86 linux its going though much of what x86 did 15 years ago or so. Mainly I'l think about how much drivers through to hardware are open sourced.

Now with my panda board, it faces many of the same issues as the RPi, in that panda: arm based cpu and closed SGX540 graphics, RPi: arm cpu and closed VideoCore IV graphics.

Now was nice with panda, is the TI arm that its based on. Whats good is that there seem some TI employees that are activly driving open source linux drivers through to the underlying OMAP functions. So people like Rob Clark, developing thinks like the omapdrm, and the DSS module for enabling interfaces to the graphics (e.g. framebuffer and Video). But the SGX540 stays as closed as ever ...

Now broadcom is also clearly supporting the RPi, and open sourcing some thing, though great people like dom. What I was wondering is how much is this supporting just new users getting used to the RPi hardware, and how much is broadcom developing open source Linux interfaces to enable access to SoC? I guess much of this work goes on behind the scenes - so just as Rob Clark at TI is behind the scenes, are there Boardcom people also working behind the scenes?

Just interested really, watching how linux is moving into the arm based hardware, and watching how the market place manages its relationship with the open source community ....

User avatar
AndrewS
Posts: 3625
Joined: Sun Apr 22, 2012 4:50 pm
Location: Cambridge, UK
Contact: Website

Re: Open Sourcing the drivers

Fri Jun 01, 2012 11:23 am

I think one of the differences is that TI is much more supportive of the "hobbyist market" - their chips are available in small volumes. But Broadcom is geared up much more towards the industrial/mobile phone market - their chips are only available in large volumes. But from what's been said, it looks like with the release of the RPi that may be changing?
summers wrote:Now broadcom is also clearly supporting the RPi, and open sourcing some thing, though great people like dom. What I was wondering is how much is this supporting just new users getting used to the RPi hardware, and how much is broadcom developing open source Linux interfaces to enable access to SoC? I guess much of this work goes on behind the scenes - so just as Rob Clark at TI is behind the scenes, are there Boardcom people also working behind the scenes?
IIRC dom, eben, jamesh and gert actually all work for Broadcom...

lewmur
Posts: 405
Joined: Sun Dec 25, 2011 3:20 pm
Contact: Website

Re: Open Sourcing the drivers

Fri Jun 01, 2012 11:37 am

AndrewS wrote:I think one of the differences is that TI is much more supportive of the "hobbyist market" - their chips are available in small volumes. But Broadcom is geared up much more towards the industrial/mobile phone market - their chips are only available in large volumes. But from what's been said, it looks like with the release of the RPi that may be changing?
summers wrote:Now broadcom is also clearly supporting the RPi, and open sourcing some thing, though great people like dom. What I was wondering is how much is this supporting just new users getting used to the RPi hardware, and how much is broadcom developing open source Linux interfaces to enable access to SoC? I guess much of this work goes on behind the scenes - so just as Rob Clark at TI is behind the scenes, are there Boardcom people also working behind the scenes?
IIRC dom, eben, jamesh and gert actually all work for Broadcom...
First of all, what you are dealing with aren't drivers. They are video codecs and ALL video codecs are proprietary. And they aren't in the ARM CPU but rather the GPU. The Foundation has paid the license fee for some of the codecs, but to keep the cost within the $25 target, they haven't paid for them all. This is not like Windows or x86 Linux where you pay for the codecs when you spend gobs of money on a video card.

summers
Posts: 63
Joined: Mon Jan 30, 2012 4:27 pm

Re: Open Sourcing the drivers

Fri Jun 01, 2012 12:44 pm

lewmur wrote:
AndrewS wrote:I think one of the differences is that TI is much more supportive of the "hobbyist market" - their chips are available in small volumes. But Broadcom is geared up much more towards the industrial/mobile phone market - their chips are only available in large volumes. But from what's been said, it looks like with the release of the RPi that may be changing?
summers wrote:Now broadcom is also clearly supporting the RPi, and open sourcing some thing, though great people like dom. What I was wondering is how much is this supporting just new users getting used to the RPi hardware, and how much is broadcom developing open source Linux interfaces to enable access to SoC? I guess much of this work goes on behind the scenes - so just as Rob Clark at TI is behind the scenes, are there Boardcom people also working behind the scenes?
IIRC dom, eben, jamesh and gert actually all work for Broadcom...
First of all, what you are dealing with aren't drivers. They are video codecs and ALL video codecs are proprietary. And they aren't in the ARM CPU but rather the GPU. The Foundation has paid the license fee for some of the codecs, but to keep the cost within the $25 target, they haven't paid for them all. This is not like Windows or x86 Linux where you pay for the codecs when you spend gobs of money on a video card.
Well its not just graphics hardware, which complicates the issue.

Companies like TI develop the OMAP line of chips, Broadcom there own versions. Now each of these has various interfaces, e.g. say for power management etc, and these have eveolved out of the low powered cpu market (e.g. mobile phones) rather than connection with the x86 world. How much of these hardware interfaces make it into open source kernel drivers?

Graphics hardware hasn't really followed the same direction, even in the x86 world, there nvidia and ati develop there own drivers for linux - and its not the open source world. Its maybe not surprising if broadcom etc go the same way - e.g. these graphics silicon have serious gunt to them, and the interfcaes through to them can become very integrated. This makes it hard for the open source model - code is too large to manage easilly outside a company which has people working on it all the time.

lewmur
Posts: 405
Joined: Sun Dec 25, 2011 3:20 pm
Contact: Website

Re: Open Sourcing the drivers

Fri Jun 01, 2012 2:05 pm

summers wrote: Well its not just graphics hardware, which complicates the issue.

Companies like TI develop the OMAP line of chips, Broadcom there own versions. Now each of these has various interfaces, e.g. say for power management etc, and these have eveolved out of the low powered cpu market (e.g. mobile phones) rather than connection with the x86 world. How much of these hardware interfaces make it into open source kernel drivers?

Graphics hardware hasn't really followed the same direction, even in the x86 world, there nvidia and ati develop there own drivers for linux - and its not the open source world. Its maybe not surprising if broadcom etc go the same way - e.g. these graphics silicon have serious gunt to them, and the interfcaes through to them can become very integrated. This makes it hard for the open source model - code is too large to manage easilly outside a company which has people working on it all the time.
You seem to be missing the point. We have the driver for the GPU. What we are missing are some of the codecs for decoding video formats. Do you get the difference? It isn't a question of Broadcom giving them to us. Broadcom doesn't own them. In order for Broadcom to implement them for the RPi someone has to pay for them. Do you really think Broadcom is going to do that? Not no but h*ll no. And for the Foundation to do it would have overpriced the RPi.

note: In most Linux distros, the codecs are implemented in software and not hardware accelerated in the GPU. That can be done in the RPi but with its limited resources, it's problamatic how well it will work. It is handled in hardware in most phones because licsensing cost are not a factor.

summers
Posts: 63
Joined: Mon Jan 30, 2012 4:27 pm

Re: Open Sourcing the drivers

Fri Jun 01, 2012 2:20 pm

lewmur wrote:You seem to be missing the point. We have the driver for the GPU. What we are missing are some of the codecs for decoding video formats. Do you get the difference? It isn't a question of Broadcom giving them to us. Broadcom doesn't own them. In order for Broadcom to implement them for the RPi someone has to pay for them. Do you really think Broadcom is going to do that? Not no but h*ll no. And for the Foundation to do it would have overpriced the RPi.
My point was I was questioning open source development against closed source. I wasn't discussing avaiablity. Yes we have a VideoCore IV driver blob, that is closed source. That wasn't what I was talking about, its about open source development.

So I'm not saying that the GPU driver should be open sourced, or even come to that that its avaiable as closed source. I'm not saying anyone should give us anything, thats not what open source is about. I was wondering what open source development is going on, probably funded by broadcom. Now yes, broadcom is a company with a need to make a living, so it doesn't have any pressing commercial need to develop anything open source, this doesn't however mean that it doesn't do it ...

lewmur
Posts: 405
Joined: Sun Dec 25, 2011 3:20 pm
Contact: Website

Re: Open Sourcing the drivers

Fri Jun 01, 2012 2:41 pm

summers wrote:
lewmur wrote:You seem to be missing the point. We have the driver for the GPU. What we are missing are some of the codecs for decoding video formats. Do you get the difference? It isn't a question of Broadcom giving them to us. Broadcom doesn't own them. In order for Broadcom to implement them for the RPi someone has to pay for them. Do you really think Broadcom is going to do that? Not no but h*ll no. And for the Foundation to do it would have overpriced the RPi.
My point was I was questioning open source development against closed source. I wasn't discussing avaiablity. Yes we have a VideoCore IV driver blob, that is closed source. That wasn't what I was talking about, its about open source development.

So I'm not saying that the GPU driver should be open sourced, or even come to that that its avaiable as closed source. I'm not saying anyone should give us anything, thats not what open source is about. I was wondering what open source development is going on, probably funded by broadcom. Now yes, broadcom is a company with a need to make a living, so it doesn't have any pressing commercial need to develop anything open source, this doesn't however mean that it doesn't do it ...
But MOST video codecs are proprietary!! When you play video in XYZ format, that format is the Intelectual Property of someone and you have to pay that someone to use it. There are people who develope "converters" that change XYZ format to play on your ABC device, but most of the time that is done illegally. The RPi is licensed to play some video formats natively. Just not all formats. If Broadcom were to develope an OpenSource video format, it still wouldn't play proprietary formats legally. You are talking apples and oranges.

summers
Posts: 63
Joined: Mon Jan 30, 2012 4:27 pm

Re: Open Sourcing the drivers

Fri Jun 01, 2012 2:50 pm

lewmur wrote:But MOST video codecs are proprietary!! When you play video in XYZ format, that format is the Intelectual Property of someone and you have to pay that someone to use it. There are people who develope "converters" that change XYZ format to play on your ABC device, but most of the time that is done illegally. The RPi is licensed to play some video formats natively. Just not all formats. If Broadcom were to develope an OpenSource video format, it still wouldn't play proprietary formats legally. You are talking apples and oranges.
Exactly. Thats why I'm not talking about video codecs, I'm talking about open source developments on interfaces, probably kernel modules, through to RPi hardware.

So you are talking apples, and I'm talking oranges. What I'm not saying is that apples should be oranges, I'm ok with any or all video codecs being closed source. Full stop.

What I'm talking about is open source development - its a different subject, so lets stop talking about video codecs as though thats all there is ...

ghans
Posts: 7890
Joined: Mon Dec 12, 2011 8:30 pm
Location: Germany

Re: Open Sourcing the drivers

Fri Jun 01, 2012 10:02 pm

@summers
I'm not sure if I am understanding you correctly, but dom and the others (so far as i know) are trying to open-source the userspace libraries (OpenVG , OpenMAX , OpenGL etc.). As usual no promises , no ETA.

The Blob will remain closed -source. Why ?
Firstly , the GPU is neither ARM nor x86 . It is a proprietary architecture with about 200 instructions and much other internally documented mojo (and a special toolchain of course)
Secondly , The VideoCore was developed over decades (thousands of paid man-hours involved) , and the VideoCore 5 just builds up on the enginnering investment of the years , and so will the VC 6..
A trade secret .

So there is room for dialogue , but you cannot expect Broadcom to give away one of its greatest secrets for free.
• Don't like the board ? Missing features ? Change to the prosilver theme ! You can find it in your settings.
• Don't like to search the forum BEFORE posting 'cos it's useless ? Try googling : yoursearchtermshere site:raspberrypi.org

ghans
Posts: 7890
Joined: Mon Dec 12, 2011 8:30 pm
Location: Germany

Re: Open Sourcing the drivers

Fri Jun 01, 2012 10:31 pm

The shematics are open-source.The foundation wants clones. (Everybody waits for gerbers)

They are produced in a licensed manufacturing model. I risk to say , (currently) exclusive deals.

@lewmur
As for codecs , Theora and Webm sound like open-source to me.

It boils down to "Do you believe in patents ?" From a realistic legal perspective , you will have to honour them.
That doesn't mean that you cannot make a open-source implementation of x264 or MP3 or ...
Even OpenGL implementations can be open-source , but that doesn't mean cost-free (fees to be part of the Alliance).

Just my two cents.

ghans
• Don't like the board ? Missing features ? Change to the prosilver theme ! You can find it in your settings.
• Don't like to search the forum BEFORE posting 'cos it's useless ? Try googling : yoursearchtermshere site:raspberrypi.org

summers
Posts: 63
Joined: Mon Jan 30, 2012 4:27 pm

Re: Open Sourcing the drivers

Fri Jun 01, 2012 11:20 pm

ghans wrote:@summers
I'm not sure if I am understanding you correctly, but dom and the others (so far as i know) are trying to open-source the userspace libraries (OpenVG , OpenMAX , OpenGL etc.). As usual no promises , no ETA.
Yes that was what I'm asking, what open source activity specific to RPi hardware is taking place :)
The Blob will remain closed -source. Why ?
Firstly , the GPU is neither ARM nor x86 . It is a proprietary architecture with about 200 instructions and much other internally documented mojo (and a special toolchain of course)
Secondly , The VideoCore was developed over decades (thousands of paid man-hours involved) , and the VideoCore 5 just builds up on the enginnering investment of the years , and so will the VC 6..
A trade secret .
Well actually that true about processors as well, but there you get quite detailed instructions on how to use them.

What is often the case is by letting people know how to use your hardware they use it better. In the case of the RPi, the better it runs, including the video, the more attractive it is to punters, and the more that sell.

My gut feeling though, is that often that isn't what keep GPU interfaces in the hands of the GPU manufacturers - my gut feeling its becuase GPUs are wierd objects that do processing in ways that you don't expect. Huge great massive parallel processing etc. The GPU manufacturers know how to get the best out of their GPUs. When things like this try to go open source, they are so alien, and so large - that its nigh on impossible to get it into the mainstream kernel. Then it ends up becoming cultural. Hence why I don't have any big hang up on if the graphics interfaces are open or closed source - I can understand both have a case behind them.
So there is room for dialogue , but you cannot expect Broadcom to give away one of its greatest secrets for free.
And similarly you can't expect punters to buy something they can't use. There is room for give and take, but as said above I don't think this is what is driving GPU blobs being closed ...

tufty
Posts: 1456
Joined: Sun Sep 11, 2011 2:32 pm

Re: Open Sourcing the drivers

Sat Jun 02, 2012 5:56 am

summers wrote:And similarly you can't expect punters to buy something they can't use.
Punters buy stuff they can't use all the time. That's one of the basics of the consumer society. What are you, some sort of Communist?
Nothing wrong with being a Communist, of course. I am.
Simon

ghans
Posts: 7890
Joined: Mon Dec 12, 2011 8:30 pm
Location: Germany

Re: Open Sourcing the drivers

Sat Jun 02, 2012 8:33 am

summers ,
your last comment does confuse me a bit. Of course the foundation is trying to attract devs now.
If they really wanted , they could do the same like Ubuntu did to us : " Don't say general-purpose computer comparable to your i3 Desktop " - and the press should stop printing such BS comparisons.
It' s harsh , but im my eyes the only right way.

But for the educational release , the device will be usable for its purpose. That doesn't include full documentation for the GPU . Just because " you don't want to know , you don't need to know and everthing has been taken care of already"
Which i'm comletely okay with.
Only a few people at Broadcom "know " the GPU - and even for them , it's difficult.
It takes years to understand the architecture , and like you've guessed correctly its a completely alien multi-processor parallel computing beast.

ghans
• Don't like the board ? Missing features ? Change to the prosilver theme ! You can find it in your settings.
• Don't like to search the forum BEFORE posting 'cos it's useless ? Try googling : yoursearchtermshere site:raspberrypi.org

summers
Posts: 63
Joined: Mon Jan 30, 2012 4:27 pm

Re: Open Sourcing the drivers

Sat Jun 02, 2012 2:18 pm

I think thats why I wanted to talk far wider than just GPU software interafces to hardware interfaces. As GPUs are a complex area.

So lets back off a bit. The operating system that is based to run on the RPI is GNU/Linux - both open source developments. The open source nature of both GNU and Linux is was is driven each in the direction they've gone in, expanding from work stations to x86 machine, to ARM and RISK machines, to MMU less macines etc. This has spun out to become thinks like Android phones etc.

Now one can discuss the worth of the open source community, and wether its a good thing or not - however that wasn't really what I was getting it - its that the RPi is based on an open source operating system, and thats one of the things that means it can be sold at the price point it is.

However given that RPi is running GNU/Linux systems, the question is how good can we make it - can the OS acces all the bits of hardware, and can it access it in the best possible way. Now one of the bits that is needed to do this, is the low level software that accesses through to the hardware interfaces for the various bits of harware; typically bits that live in the kernel and take hardware interfaces through to the user interface. Now such bits can only easilly be developed by people that understand the hardware interafces, either becuase they work with them, or more usually becuase they have access to the specifications.

Now there are two ways of developing such kernel objects, either as open source - where the community can contibute to maintaining the code, and keeping it as best it can be and working in latest kernel releases. Alternativly bits code being developed as closed source, where typically only a few people work on it, and only at one time - but tyically with people inside the industry who are very knowledgable.

The question I asked originally is are these low level interface developemnts going on, and are they open or closed source.

And its not comunism as such - that is not what open source is about - its about making something, in the case the RPi, as good as it can be - which will never be a desktop computer, but that isn't what it was ever intended to be.

summers
Posts: 63
Joined: Mon Jan 30, 2012 4:27 pm

Re: Open Sourcing the drivers

Sun Jun 03, 2012 8:58 am

Just noticed that Rob Clark of TI (well seems he's also linarno) has a blog. Its worth reading his post of Saturday, April 14, 2012 - just his view of someone hacking about with arm based boards, and more relevent someone doing something about it:

http://bloggingthemonkey.blogspot.co.uk/

I guess the RPi slant that I didn't mention, IIRC there was some minor modifications of tyhe linux kernel needed to get it to boot on the RPi, back in the early days. Did these mods ever get upsteamed into the main kernel?

User avatar
AndrewS
Posts: 3625
Joined: Sun Apr 22, 2012 4:50 pm
Location: Cambridge, UK
Contact: Website

Re: Open Sourcing the drivers

Sun Jun 03, 2012 6:38 pm

This old blog post is relevant to this discussion too http://www.raspberrypi.org/archives/592
summers wrote:I guess the RPi slant that I didn't mention, IIRC there was some minor modifications of tyhe linux kernel needed to get it to boot on the RPi, back in the early days.
Yup, and this work is still on-going too: https://github.com/raspberrypi/linux
Did these mods ever get upsteamed into the main kernel?
AFAIK, not yet. But I wouldn't expect them to, while they're still being worked on.

summers
Posts: 63
Joined: Mon Jan 30, 2012 4:27 pm

Re: Open Sourcing the drivers

Sun Jun 03, 2012 8:35 pm

AndrewS wrote: Yup, and this work is still on-going too: https://github.com/raspberrypi/linux
Ta - thanks, most interesting post so far. Hard to dig into github - but shows activity, which is good.

Odd how much is focsued on the GPU - yes I guess its what most people are interested in - but there is so much more hardware out there.

Anyway shall dig through github, and see whats going on - and see if I can help, if I ever get a RPi, and get my low level OSs runing on it ...

Return to “General discussion”