GPU binary blob question.
7 posts
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
ArgentsQuest said:
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.
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.
- Moderator
- Posts: 6481
- Joined: Sat Jul 30, 2011 7:41 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.
- Moderator
- Posts: 6481
- Joined: Sat Jul 30, 2011 7:41 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!)
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
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
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: 259
- Joined: Sun Sep 25, 2011 1:25 am