GPU binary blob question.


7 posts
by ArgentsQuest » Thu Dec 29, 2011 1:33 pm
Will the GPU binary blob be OS agnostic, or will it only work with Linux?  I'd like to use GPU acceleration without any OS,  and to see other OS's being ported like RiscOS having graphic acceleration.
Posts: 13
Joined: Mon Nov 28, 2011 3:09 pm
by jamesh » Thu Dec 29, 2011 2:58 pm
ArgentsQuest said:


Will the GPU binary blob be OS agnostic, or will it only work with Linux?  I'd like to use GPU acceleration without any OS,  and to see other OS's being ported like RiscOS having graphic acceleration.


Although much has been said about the GPU, I'm not sure this particular point has been covered. Which in itself is a miracle.

Anyway...the GPU blob is indeed agnostic. As long as you have a driver on the host side that talks the correct messages to the GPU you can use it. There is an example driver in the kernel. HOWEVER..(there is always one of those), the Linux libraries that then use this driver are currently closed source, so you have no way of knowing which messages do what. It is hoped that the closed nature of these lib (OpenGL ES for example) will change. I'm not sure how the RiscOS people are handling acceleration - but they do have a Broadcom engineer on the team.

The second HOWEVER; my information on the Linux libraries may be slightly out of date. If anyone has more recent information, please add it.
Soon to be employed engineer - Hurrah! Volunteer at the Raspberry Pi Foundation, helper at PiAcademy September 2014.
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 11893
Joined: Sat Jul 30, 2011 7:41 pm
by jamesh » Thu Dec 29, 2011 3:01 pm
I would add that using acceleration from a non-supported OS is not a trivial task even once you know all the messages and formats - there is a lot of work in those libraries to make OpenGL work nicely, and you would need to replicate that - even in typing time that's many man months.
Soon to be employed engineer - Hurrah! Volunteer at the Raspberry Pi Foundation, helper at PiAcademy September 2014.
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 11893
Joined: Sat Jul 30, 2011 7:41 pm
by liz » Thu Dec 29, 2011 8:50 pm
I've just checked, Jamesh, and you're absolutely up-to-date on this. (And I too am astounded that there's something about the GPU that we haven't discussed already!)
--
Head of Comms, Raspberry Pi Foundation
User avatar
Raspberry Pi Foundation Employee & Forum Moderator
Raspberry Pi Foundation Employee & Forum Moderator
Posts: 4109
Joined: Thu Jul 28, 2011 7:22 pm
by shamilton » Sat May 26, 2012 4:45 am
Can someone please explain what a GPU binary is? My only understanding of that term was user code compiled for GPU execution.
Posts: 1
Joined: Sat May 26, 2012 4:44 am
by felix123 » Sat May 26, 2012 6:26 am
shamilton wrote:Can someone please explain what a GPU binary is? My only understanding of that term was user code compiled for GPU execution.

It's the start.elf file on the sd card
Posts: 153
Joined: Tue May 15, 2012 6:06 am
by Bakul Shah » Sat May 26, 2012 8:26 am
jamesh wrote:HOWEVER..(there is always one of those), the Linux libraries that then use this driver are currently closed source, so you have no way of knowing which messages do what. It is hoped that the closed nature of these lib (OpenGL ES for example) will change.


Not quite the impression I got when I asked Eben about this at the Maker Faire but he did say to talk to him if I get to a stage where the rest of the OS is working. It'll be really great this happens! As you point out this is a non trivial amount work to implement even if one had all the information and it would be a complete waste of effort to redo this. Given the limited amount of memory & non realtimeness (or soft realtime at best) of lInux, it may make sense to kick out linux if the raspi is used for a very specific purpose. Open sourcing would be the best option for these kind of uses.
Posts: 293
Joined: Sun Sep 25, 2011 1:25 am