hnelles
Posts: 4
Joined: Thu Sep 15, 2011 3:06 pm
Contact: Website

Re: gpu propietary

Fri Sep 16, 2011 7:49 am

I believe to have read somewhere that there is propietarity information in the for booting used gpu. What does this mean? conformity with open source?

ShiftPlusOne
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 6043
Joined: Fri Jul 29, 2011 5:36 pm
Location: The unfashionable end of the western spiral arm of the Galaxy

Re: gpu propietary

Fri Sep 16, 2011 8:07 am

It means that the GPU core by itself doesn't do anything. Computer hardware is junk without the software. The particular code which run on the GPU belongs to Broadcom, so it can't be open. This kind of firmware is pretty much never open as it would reveal the whole architecture of the chip to the competitors and the grey market.

The drivers which are used to interface with that firmware are open source.

So when the raspi is turned on, the GPU loads the firmware required to make it work from the SD and then hands control over to the linux kernel or the boot loader. When the operating system loads the drivers (which are open), you can communicate and control the chip without needing to know it's physical design.

Does that make sense?

CORRECTION:
Quote from eben on August 1, 2011, 23:19
The GPU interface is via a closed-source userland module, which communicates via a proprietary (but GPL'd) stream interface in the kernel to a RISC core on the GPU side.

stuporhero
Posts: 125
Joined: Fri Aug 19, 2011 2:02 pm

Re: gpu propietary

Fri Sep 16, 2011 9:42 am

(shift) +1 for the clarification - haven't seen it put better than that anywhere else. (I always think nVidia on Linux, and even they eventually made their own firmware!)

NB: eventually = years of effort. I don't see the same happening for the RasPi!

ShiftPlusOne
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 6043
Joined: Fri Jul 29, 2011 5:36 pm
Location: The unfashionable end of the western spiral arm of the Galaxy

Re: gpu propietary

Fri Sep 16, 2011 10:13 am

Sorry, I misinterpreted an old post (thanks, obarthelemy). Seems like there will indeed be a closed user-space module.

User avatar
Jongoleur
Posts: 1179
Joined: Thu Aug 11, 2011 12:47 pm
Location: O'erlooking the sea, and all those effin windfarms...

Re: gpu propietary

Fri Sep 16, 2011 1:48 pm

In the context of the Raspberry Pi, is the openness of the graphics driver such a big issue? The fact that this little computer can, with the current OS, play movies and some games rather well, is mainly icing on the cake. For the purpose for which it was designed, to provide a not easily broken computer for children to experiment on, then a blob that might not be updated for later operating systems in a few years time isn't, as far as I'm concerned, a big problem.

I've another ARM based educational computer - the Archimedes 3010. The firmware for this 12Mhz ARM 250 based system hasn't been updated since 1994. It still seems to work just fine! :-)
I'm just a bouncer, splatterers do it with more force.....

jamesh
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 23918
Joined: Sat Jul 30, 2011 7:41 pm

Re: gpu propietary

Fri Sep 16, 2011 1:52 pm

Quote from Jongoleur on September 16, 2011, 14:48
In the context of the Raspberry Pi, is the openness of the graphics driver such a big issue?


I don't think so but others do. Personally I think I'm right. I'm sure some of the more strident OSS advocates think they are right too.

What it comes down to is...without some closed source code, this product would not exist in its current form.
Principal Software Engineer at Raspberry Pi (Trading) Ltd.
Contrary to popular belief, humorous signatures are allowed. Here's an example...
“I think it’s wrong that only one company makes the game Monopoly.” – Steven Wright

Svartalf
Posts: 596
Joined: Fri Jul 29, 2011 6:50 pm

Re: gpu propietary

Fri Sep 16, 2011 4:21 pm

Quote from jamesh on September 16, 2011, 14:52
I don't think so but others do. Personally I think I'm right. I'm sure some of the more strident OSS advocates think they are right too.

I'm one of those "more strident" advocates...just so you know. ;)

I also know generally when to pick my fights, unlike many of them. This isn't one of those fights you're going to win (not even close...) at this time, so I broached the subject ages ago and dropped it. There'll be time again for perhaps doing it again down the line. As it stands, you guys aren't the ones to be taking the case to- it's Broadcom. And, as I've said in earlier threads, unless you've got a million unit plus purchase you're not going to even get the time of day on this subject with them. We're not looking at this anytime soon with the R-Pi Foundation, so there's really nothing productive to discuss on the subject, especially with the Foundation as they've got no ability to get anywhere on the subject in question.


What it comes down to is...without some closed source code, this product would not exist in its current form.

Not at this time, no.

willrandship
Posts: 51
Joined: Tue Sep 13, 2011 5:08 pm

Re: gpu propietary

Fri Sep 16, 2011 5:42 pm

Personally, I'm glad to hear the GPU is closed-source. It means it's good enough to warrant being so, and therefore is at least somewhat competetive. At the moment, there are very few open source hardware devices, and they generally aren't cost-effective, either.

I'm pretty sure the beagleboard's GPU is the same way, same for the pandaboard.

stuporhero
Posts: 125
Joined: Fri Aug 19, 2011 2:02 pm

Re: gpu propietary

Fri Sep 16, 2011 6:35 pm

The only downside of the GPU would be that if there is a bug for the driver, we would have to wait for Broadcom to release a fix. However I believe that's potentially negated by the RasPi teams good links with Broadcom.

jamesh
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 23918
Joined: Sat Jul 30, 2011 7:41 pm

Re: gpu propietary

Fri Sep 16, 2011 7:12 pm

Quote from stuporhero on September 16, 2011, 19:35
The only downside of the GPU would be that if there is a bug for the driver, we would have to wait for Broadcom to release a fix. However I believe that's potentially negated by the RasPi teams good links with Broadcom.

It's unlikely you would have to wait long, if indeed bugs are found. These drivers are (or will) be used in a lot of mobile devices, where they get quite a thorough testing by both Broadcom and the device manufacturer.

For example, the Khronos group provide test suites for all their API's which the drivers need to pass - if they don't pass, they get fixed.

That said, I'm sure the odd corner case will turn up, but for the vast majority of users, everything should work fine out of the box.
Principal Software Engineer at Raspberry Pi (Trading) Ltd.
Contrary to popular belief, humorous signatures are allowed. Here's an example...
“I think it’s wrong that only one company makes the game Monopoly.” – Steven Wright

User avatar
abishur
Posts: 4477
Joined: Thu Jul 28, 2011 4:10 am
Location: USA
Contact: Website

Re: gpu propietary

Fri Sep 16, 2011 7:25 pm

I just mentioned this on another thread about the GPU, but it's more relevant here so it bears repeating.

One thing to keep in mind (which everyone in this thread seems to have done so ;) ) is that the ultimate goal of the r-pi is to get a low cost computer into the hands of children to help improve computer literacy across the globe. Now as a very cool by-product of this goal, we hobbyist are being allowed to purchase the board and use it for our nefarious devices (mwa ha ha ha!).

Now the r-pi team has spent a *TON* of their unpaid free time in designing this top notch product and amazingly come up with a board that is (IMHO) within the reasonable definition of open source. Which, frankly, is astounding. It literally wasn't something they had to do, they're just that awesome.

So as discussions occur about the binary blob on the GPU or the lack of sata ports, or VGA, or whatever have you, just continue to keep in mind that the goal of the project is children education and accept it with dignity when the goal of the R-pi team conflicts with the desired addition of your desire ;)

Thanks again for being respectful in this thread guys!
Dear forum: Play nice ;-)

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

Re: gpu propietary

Sat Sep 17, 2011 4:06 pm

The thing that worries me is not the GPU firmware itself (which can happily stay closed source as far as I'm concerned), but the aforementioned "closed-source userland module". Unless there's some documentation out there as to how exactly it communicates with the GPU, it kills the idea of running anything other than Linux on the RasPi and hoping to get video output. It may well also mean that you're stuck with a particular kernel (or range of) version if the kernel module ABI changes or required functions are deprecated.

It's the first thing that kills me, as I'm hoping to drop a very low-level realtime kernel on RasPi as the core of my hypothetical scheme system.

jamesh
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 23918
Joined: Sat Jul 30, 2011 7:41 pm

Re: gpu propietary

Sat Sep 17, 2011 4:24 pm

Quote from tufty on September 17, 2011, 17:06
The thing that worries me is not the GPU firmware itself (which can happily stay closed source as far as I'm concerned), but the aforementioned "closed-source userland module". Unless there's some documentation out there as to how exactly it communicates with the GPU, it kills the idea of running anything other than Linux on the RasPi and hoping to get video output. It may well also mean that you're stuck with a particular kernel (or range of) version if the kernel module ABI changes or required functions are deprecated.

It's the first thing that kills me, as I'm hoping to drop a very low-level realtime kernel on RasPi as the core of my hypothetical scheme system.

I think it depends on what you want to do. If you happy with just the Arm processor (Can you get a 700 MHz arm board for $25?), and don't need the GPU facilities, I *think* you will probably be OK (The only bit you need to get working is the framebuffer and I think that's simple a matter of writing to memory). I *think* things like Ethernet and USB are standard kernel drivers. If you want to use GPU acceleration you might struggle. I really don't know how much of the drivers to access that will remain closed.
Principal Software Engineer at Raspberry Pi (Trading) Ltd.
Contrary to popular belief, humorous signatures are allowed. Here's an example...
“I think it’s wrong that only one company makes the game Monopoly.” – Steven Wright

ShiftPlusOne
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 6043
Joined: Fri Jul 29, 2011 5:36 pm
Location: The unfashionable end of the western spiral arm of the Galaxy

Re: gpu propietary

Sat Sep 17, 2011 5:29 pm

Yup, Liz has also mentioned that it's a matter of writing the right data into the right memory location to get a framebuffer display working. So that shouldn't be that much of a problem. It's the rest of the multimedia that would be problematic. However, if you're writting your own OS, you'd be lucky to get to a stage where that sort of thing matters.

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

Re: gpu propietary

Sat Sep 17, 2011 6:46 pm

Quote from ShiftPlusOne on September 17, 2011, 18:29
Yup, Liz has also mentioned that it's a matter of writing the right data into the right memory location to get a framebuffer display working.
If that works without requiring the presence of the low-level drivers, that's good enough for a start.

It's the rest of the multimedia that would be problematic. However, if you're writting your own OS, you'd be lucky to get to a stage where that sort of thing matters.
Not sure about the last bit, writing an OS kernel isn't much more difficult than writing any other piece of software. In many ways, it's easier, especially if you're targetting one piece of hardware, or a family of closely related devices. But even so, it makes porting things like the *BSDs, Minix, or anything that doesn't use the Linux kernel pretty damned problematic. If you only have a framebuffer and no acceleration, you might as well forget doing anything graphically intensive.

hnelles
Posts: 4
Joined: Thu Sep 15, 2011 3:06 pm
Contact: Website

Re: gpu propietary

Sun Sep 18, 2011 8:18 am

when I raised the questions I knew almost nothing which has not changed very much. New questions grow up during reading the answers.
- Can a community founded for education publish closed source software?
- For launch time of the system a Debian distribution is announced. Is it acceptuell to name it
Debian if the booting system is closed source?
- I am no teacher. But as a teacher for mathematics I would insist that for a Cauchy Sequence
there is a proof of convergence and the value of convergence. The used algorithm should be
completely documentated. Should this not als be a guidance for a firm in the field of education?
-

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

Re: gpu propietary

Sun Sep 18, 2011 9:20 am

- Can a community founded for education publish closed source software?
Why not? Most educational software and software used in education is closed source.
- For launch time of the system a Debian distribution is announced. Is it acceptuell to name it
Debian if the booting system is closed source?
Sure. My understanding is that the GPU does its thing in terms of loading its binary firmware, kicks off "some other code" (in this case a debian kernel) and then goes away. Think of the GPU being the same as your BIOS / EFI / OpenFirmware.

Once you're into Linux, having a default-installed binary driver talking to the GPU might be problematic; the situation is the same as NVidia, and debian doesn't install NVidia's closed-source drivers by default. Definitions of "free" and all that jazz. Personally, though, and pragmatically speaking, I'd prefer the binary drivers to be installed by default.
proof ... documentated. Should this not als be a guidance for a firm in the field of education
Probably. Unfortunately, formal proof of correctness of general software is basically impossible, so that's out of the window. Documentation is great, but, pragmatically speaking, requiring documentation would mean that the majority of SoC solutions are totally out of the question, as they *all* have closed source parts one way or another. No SoC = no RasPi, or at least not without massive funding.

obarthelemy
Posts: 1399
Joined: Tue Aug 09, 2011 10:53 pm

Re: gpu propietary

Sun Sep 18, 2011 11:10 am

- Can a community founded for education publish closed source software?
Is there any other choice or example ? Has any "community founded for education" ever used 100% free software + hardware ? Would it be better to do nothing ? Can't you learn of a closed-source textbook , lab equipement, even OS and compiler (and ours are OPEN !) It' a graphics driver for **** sakes !
Also, we're not really publishing it, just reluctantly using it because there's not alternative.

- For launch time of the system a Debian distribution is announced. Is it acceptuell to name it Debian if the booting system is closed source?
The booting system is not closed source, just a small (though key) part of it. Again, it's pretty much always the case: x86 BIOSes are overwhelmingly proprietary, too. Debian are OK with it, and I'm guessing lots if not most of Debian/Ubuntu/... installs also use proprietary drivers (graphics, wifi...) and/or firmware (graphics, BIOS, radio...). Closed source drivers are a necessary evil, most people, even the distro developers, have learned to deal with it, though as reluctantly as us.

- I am no teacher. But [...]
A closed graphics driver prevents that how ? (playing dumb here, sorry ^^). More seriousy, software can be audited but is rarely fully proven (all those bugs that pop up months/years later). Also, you might as well give up right now, because all of this is running on proprietary hardware anyway, so correctness is not "provable" and on top of that that hardware sometimes does have bugs.

Your criteria seem to disqualify all computers, pocket calculators, and lab equipement. That leaves pen and paper. Is ready-made OK ? Ink formulas are proprietary I think.

jamesh
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 23918
Joined: Sat Jul 30, 2011 7:41 pm

Re: gpu propietary

Sun Sep 18, 2011 11:52 am

The entire UK IT teaching curriculum uses Microsoft software. Can't much more closed than that!!
Principal Software Engineer at Raspberry Pi (Trading) Ltd.
Contrary to popular belief, humorous signatures are allowed. Here's an example...
“I think it’s wrong that only one company makes the game Monopoly.” – Steven Wright

hnelles
Posts: 4
Joined: Thu Sep 15, 2011 3:06 pm
Contact: Website

Re: gpu propietary

Sun Sep 18, 2011 2:16 pm

In November RaspberryPi will be selling machines and SD/SDHC with
operating systems like Debian. Debian can be booted on a lot of machines. On which machines the sold RaspberryPi Debian can be booted? Only on this BMC3825 ? Is it possible (if I am clever enough...)
with the publically available information to write an OS for e.g.
Pascal (with graphical additions). Will it be a stand alone system or as Java under MicrosoftWindows, MacOS or Linux with RaspberryPi as host?
The Broadcom Video GPU Code is closed-sourced. After booting the
GPU will load the ARM Code for booting Debian. Will this part of the code be open-sourced?

obarthelemy
Posts: 1399
Joined: Tue Aug 09, 2011 10:53 pm

Re: gpu propietary

Sun Sep 18, 2011 2:52 pm

I think it's very simple and not really closed source:
1- the GPU starts, runs some initialization stuff (itselt, SD card...)
2- the GPU initializes the ARM core and passes control to it
3- the ARM loads the OS from the SD and runs it.

In step 3-, it can be any OS really, the boot process is actually very standard once the GPU has finished its dance.
The one issue about the "any OS" part is that the OS still does need graphics drivers to work, and Broadcom is only supplying those for Linux. There seems to be hope for a very barebones API to have access to the GPU without that proprietary driver: Liz mentioned a RAM buffer from which the GPU could take commands and data, that may be documented. But that's very barebones and slow for anything else than experimenting for fun.

Edit: I'm not aware of Pascal being an OS, just a programming language running on all sorts of OSes ? There seems to be a Pascal compiler available for debian-armel, see my sig.

User avatar
Jongoleur
Posts: 1179
Joined: Thu Aug 11, 2011 12:47 pm
Location: O'erlooking the sea, and all those effin windfarms...

Re: gpu propietary

Sun Sep 18, 2011 5:58 pm

Lets not get into a religious war over definitions of "open" and sour the atmosphere, eh? We've still a couple of months before the Pi goes on general release and the way it boots and the status of the graphics device driver have been well rehearsed. Lets wait until we can ALL get our hands on an example of the little bugger!

Pascal as an operating system? Nah, but I do recall that UCSD Pascal was essentially a front end to the UCSD p-System ( http://en.wikipedia.org/wiki/UCSD_Pascal ). The OU ran this on their computer systems for a computing module (TM222, but I may be mistaken) To access it, you had to go to a local FE college and request the key to a big box. This contained a huge DEC teleprinter terminal, a GPO dial telephone and an acoustic coupler base...

Hmmm..... Perhaps it would be fun to simulate this on the Pi. :-)

(Wheeeee!!!!! A Whortleberry at last!)
I'm just a bouncer, splatterers do it with more force.....

jamesh
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 23918
Joined: Sat Jul 30, 2011 7:41 pm

Re: gpu propietary

Sun Sep 18, 2011 7:29 pm

No souring please- couple of other thread around if you want sour!

I remember doing a lot of my first year course work on a BBC model B which had the ISO Pascal compiler (on two sideways ROMS) - still got the Pascal book from Acornsoft staring at me from the shelf. Used the BBC instead of the university MicroVax because that was too slow - too many people
using it and it thrashed all the time.

Second year we learned C, and had access to first gen Macs. Sun workstations in the third year...Good 'ole days...
Principal Software Engineer at Raspberry Pi (Trading) Ltd.
Contrary to popular belief, humorous signatures are allowed. Here's an example...
“I think it’s wrong that only one company makes the game Monopoly.” – Steven Wright

hnelles
Posts: 4
Joined: Thu Sep 15, 2011 3:06 pm
Contact: Website

Re: gpu propietary

Mon Sep 19, 2011 4:52 pm

Waiting for November
At the moment for me the most fascinating component in the new machine is the GPU in the BMC2835.
Will it be possible to program the GPU? Is there something like CUDA? Is there documentation for the GPU available?

ked
Posts: 42
Joined: Thu Aug 04, 2011 9:18 am

Re: gpu propietary

Mon Sep 19, 2011 5:14 pm

FYI, not quite a "Pascal OS" but a line can be traced from Pascal through Modula-2 to Oberon and arriving at (but not finishing at) Oberon OS:

http://en.wikipedia.org/wiki/O.....ing_system
http://www.oberon.ethz.ch/

Return to “Off topic discussion”