Will The Gpu/cpu Of The Pandora Have Open Source Drivers?


Last I heard, he had no interest in posting his work until it had reached a certain level of... professionalism? Completeness? Something he can be proud to say he worked on, I imagine, rather than just a bunch of hacking around and scribbled notes which someone else completes. I can respect that.
 
darkblu said:
he did reverse-engineer the driver to considerable depths, but his interests lay mainly in the ISA (USSE), and that's where he focused. i believe that if we asked him politely, he'd either (a) continue with the work (once he has his pandora), or (b ) pass on the project to others.

You know, I was just thinking about this. OpenGL ES 2 requires that you're able to upload binary shaders, correct? So you can circumvent OpenGL ES 2 and GLSL entirely without having to modify it or create drivers. If he has reverse engineered USSE and would have released the information by now then someone could have already written an assembler, and for a lot of shaders writing them in assembly isn't really that much harder than writing them in something like GLSL. It's just much less portable, of course. But this could give access to whatever features the USSEs have that are not exposed to GLSL and are not easily/often generated via optimization. And you'd be able to avoid invisible pitfalls that come from using operations that the ISA isn't good at. Not to mention avoid compiler deficiencies.

Really I don't understand why PowerVR doesn't make the USSE ISA open, with a freely available assembler. Maybe they will eventually.. but right now they're just shooting themselves in the feet, because they're almost definitely capping performance on something this way. It looks like the industry has convinced themselves that assembly language never helps for anything, even something as tight and specialized as shader code. And without an opportunity to it's going to be hard for anyone to prove them wrong. It really irritates me not knowing what my shaders will look like on the pipeline it's being executed on, especially when it could probably take minutes to write a better one in USSE ASM.

If maciek did succeed then maybe one of us could too? I'm sure he has more specialized knowledge than most of us but at least this isn't so 3D-centric as to make me utterly useless on it >_<

darkblu, you interested any? maciek WAS asked politely made it extremely clear that he's not giving anything to anyone. I don't hold this against him (also I feel bad for being such a douchebag in his thread back then ;p) but I don't know if it's really worth it to try much harder. Especially when he seems pretty gone now.
 
Last edited by a moderator:
I've gotta say the state of drivers for the SGX is simply abhorrent. Good luck even getting access to the binary blobs without signing your firstborn, and the next seven generations away in an NDA. The chip is capable of so much more, and yet we have to endure artificial limitations just so ImgTec can profit. I hope maciek gets somewhere eventually, and I'd be lag to lend him a hand, the SGX is becoming nigh ubiquitous, and its unacceptable to rely on hard to find Non-Free drivers.
 
Isn't that how all graphics cards work? (and a lot of other hardware). A lot of NVidia graphics cards for PCs are limited in software to the number of pipelines they can use/etc so they can sell them at different price points.

Don't forget that this is a TI chip, so ImgTec send the drivers to TI (as thats where the licensing is), and TI distribute (and possibly modify to suit) the drivers.
 
Exophase said:
You know, I was just thinking about this. OpenGL ES 2 requires that you're able to upload binary shaders, correct? So you can circumvent OpenGL ES 2 and GLSL entirely without having to modify it or create drivers. If he has reverse engineered USSE and would have released the information by now then someone could have already written an assembler, and for a lot of shaders writing them in assembly isn't really that much harder than writing them in something like GLSL. It's just much less portable, of course. But this could give access to whatever features the USSEs have that are not exposed to GLSL and are not easily/often generated via optimization. And you'd be able to avoid invisible pitfalls that come from using operations that the ISA isn't good at. Not to mention avoid compiler deficiencies.
i think that's a viable idea. i'm not sure the IMG binary shader format is just plain unencrypted binary blobs, but i also doubt there would be that much encryption present there. so, yes, given knowledge of the ISA, with a bit more effort an assembler could be viable.

Really I don't understand why PowerVR doesn't make the USSE ISA open, with a freely available assembler. Maybe they will eventually.. but right now they're just shooting themselves in the feet, because they're almost definitely capping performance on something this way. It looks like the industry has convinced themselves that assembly language never helps for anything, even something as tight and specialized as shader code. And without an opportunity to it's going to be hard for anyone to prove them wrong. It really irritates me not knowing what my shaders will look like on the pipeline it's being executed on, especially when it could probably take minutes to write a better one in USSE ASM.
while i wouldn't venture into IMG's motives here, i'm afraid in their case things may not be as simple even if they wanted to open it, as they're just the raw IP holder, not the product vendor. what if apple, for instance, would prefer those closed - would IMG go against their major clients (and shareholders)? ..i still want to murder somebody each time i remember how they treated VGP vertex shaders on the MBX.

If maciek did succeed then maybe one of us could too? I'm sure he has more specialized knowledge than most of us but at least this isn't so 3D-centric as to make me utterly useless on it >_<
not at all : ) to the best of my knowledge, and compiler tech aside, it's generic GPU stuff in there - various buffers traversing various routes, command lists and syncrinization mechanisms.

darkblu, you interested any? maciek WAS asked politely made it extremely clear that he's not giving anything to anyone. I don't hold this against him (also I feel bad for being such a douchebag in his thread back then ;p) but I don't know if it's really worth it to try much harder. Especially when he seems pretty gone now.
heh, if somebody should feel bad that's me, as i originally jumped onboard and then did next to nothing. but i'm generally optimistic on this one, as i believe maciek will likely resume his work once he gets his pandora. basically, last time we talked he was at a stage where he needed the drivers running, as opposed to just doing static analysis.

but yes, i'm interested and never ceased to be. i, too, though, may need my pandora to be able to be really useful here.

ps: i think it's time you cleaned up your pmessage box ; )
 
Last edited by a moderator:
darkblu said:
ps: i think it's time you cleaned up your pmessage box ; )

Sorry, I keep letting that happen :( I wish they'd allow for more than 100 messages, when you consider a person can make as many posts as they way I don't really see the problem.. 100 is just way too few.

There's room now though.
 
Last edited by a moderator:
I just remember it being increased at some point. Maybe it was 10 and it got increased to 100? I can't remember now.
 
Squidge said:
I just remember it being increased at some point. Maybe it was 10 and it got increased to 100? I can't remember now.
10 would have been an absolutely ridiculous amount, so I seriously doubt that.

(Unless, of course, the forum server's HDD wasn't larger than, say, 100 MiB at the time)
 
Last edited by a moderator:
jscinoz said:
Weren't there rumors at some point of Intel having an interest in buying ImgTec? I really hope they do, Intel's attitude towards Free Libre Open Source Software is one of the best of most hardware companies.
no. only recently did they actually get their OSS driver acts together, and only for some models of the GMA lineup. intel still have a lot to prove.

as of now, there is no 3d IHV that can be given as an example of a vendor of BOTH open AND vendor-supported hw. and frankly, i'd take something like the closed-source-yet-active support that ATI/NV provide to what intel currently do. of course, ATI/NV are deaf, dumb, blind and constipated outside of the x86 play-yard, so, i couldn't even give you a good example here. as i said, there's no such.
 
Last edited by a moderator:
Was there any other option to the GPU in the TI SOC with an open source driver?

It does seem very strange, what are the benefits in only having a closed-source binary blob driver for PowerVR or TI?
 
Dead1nside said:
Was there any other option to the GPU in the TI SOC with an open source driver?

It does seem very strange, what are the benefits in only having a closed-source binary blob driver for PowerVR or TI?
The usual reasons are:

1) If there are bugs in the silicon, they can work around them in the driver
2) The stuff is undocumented and known only to the person who designed it

At most of the companies where I've worked, it was the second case. There was no documentation, and if I didn't understand something, I had to talk to the person who wrote it. Generally the engineers were busy trying to meet deadlines and didn't write documentation. Occasionally documentation was promised to a customer, and management hated that because it meant time taken away from another project.
 
Last edited by a moderator:
Neko said:
The usual reasons are:

1) If there are bugs in the silicon, they can work around them in the driver
2) The stuff is undocumented and known only to the person who designed it

At most of the companies where I've worked, it was the second case. There was no documentation, and if I didn't understand something, I had to talk to the person who wrote it. Generally the engineers were busy trying to meet deadlines and didn't write documentation. Occasionally documentation was promised to a customer, and management hated that because it meant time taken away from another project.

Mmm, that does make a certain amount of sense; a company is unwilling to put time into creating the documentation that opening up the driver might require. However it seems contrary to my, admittedly biased view, of where most of these chips are ending up: Nokia N900, Pandora, iPhone - all of these have a relationship with open source software, I'm sure all of these projects would benefit from an open driver.
 
Last edited by a moderator:
Dead1nside said:
Mmm, that does make a certain amount of sense; a company is unwilling to put time into creating the documentation that opening up the driver might require. However it seems contrary to my, admittedly biased view, of where most of these chips are ending up: Nokia N900, Pandora, iPhone - all of these have a relationship with open source software, I'm sure all of these projects would benefit from an open driver.

What relationship does something like iPhone have with open source software? You've lost me on that one.

PowerVR has been licensing designs for mobile chipsets for a while now. In other words, they sell IP, not chips - if they made their IP open then what exactly is it they are selling anymore? Even if they only do so to an incomplete extent then it's still like darkblu said: the more open they make it the less their potential customers will want to buy it. Their customers being chip makers like TI, not end users like us (who mostly don't care about it being open either). And their level of revealed information is really no different from most other vendors. Intel can probably afford to be more open with their in-house line because they're really not competing with anyone. Granted, neither is PowerVR, but that's more because they're market dominators than because they're in a market others don't really care about. So you can see that what devices the chips including PowerVR IP end up in really has nothing to do with PowerVR, much less considering they're being released long after the chips were first made available.

Really SGX wasn't just the best choice, it was practically the only choice. If there are any open 3D chips on the market right now then I can just about guarantee you that they won't be competitive with anything PowerVR is currently selling, and something included in an SoC has to be very low power to even be a viable option.
 
Last edited by a moderator:
Exophase said:
What relationship does something like iPhone have with open source software? You've lost me on that one.

I meant that it runs on BSD, albeit a bastardised one.

Exophase said:
PowerVR has been licensing designs for mobile chipsets for a while now. In other words, they sell IP, not chips - if they made their IP open then what exactly is it they are selling anymore?

I see it's of hardly any interest for PowerVR to put themselves at a disadvantage that way.

So is there a closed-source driver for the SGX that presumably Apple and Nokia are licensing in addition to get the best performance out of their products?
 
Last edited by a moderator:
Dead1nside said:
So is there a closed-source driver for the SGX that presumably Apple and Nokia are licensing in addition to get the best performance out of their products?
in apple's case i'd assume they have their own fork; apple like improving on things - fixing here, enhancing there, occasionally killing important functionality (but always in the consumer's best interest!). in nokia's case - i highly doubt it. as a bonus you get intel - they have their tungsten relationship, and tungsten do everything their own unique way (even when it appears to be open-source).

ps: yes, i'm bitter tonight. just watch me get worse if i cannot get to decode a simple jpeg on the zii for another night.
 
Last edited by a moderator:
@darkblu to be fair, the only one of Intel's chips that hasn't had FOSS 3d support is the Poulsbo, and thats because its an ImgTec chip, not one of Intel's own like the rest of their lineup

In general, just because a FOSS driver exists, doesn't mean we magically understand every aspect of the inner workings of the chip. Obviously we'd understand a great deal more than we do now, but ImgTec would still have something to license.
 
jscinoz said:
@darkblu to be fair, the only one of Intel's chips that hasn't had FOSS 3d support is the Poulsbo, and thats because its an ImgTec chip, not one of Intel's own like the rest of their lineup
what's 'their own'? - intel never wrote a single FOSS/linux driver for their IGPs until recently (tungsten were doing that up until the 965), when they actually disclosed the complete hw specs of the later GMA models so people with the proper motivation could contribute. but they are not working on all of the GMA lineup - just select few chips. i'm not talking of the poulsbo - i'm talking of everything prior to the G4x/Q/965 series (gma900..3000, all desktop and atom-class variations alike) - those have abysmal drivers (albeit FOSS, oh the joy!) to this very day. those linux drivers never reached performance levels anywhere near the quoted - compared to intel's lovingly in-house developed windows drivers, you'd get anything between 1/2 to 2/3 (off the top of my head) drop in performance from the OSS ones. that's not what i call 'good product support to set an example for the rest'.

In general, just because a FOSS driver exists, doesn't mean we magically understand every aspect of the inner workings of the chip. Obviously we'd understand a great deal more than we do now, but ImgTec would still have something to license.
heh, now apply that same logic to intel's GMA lineup - see what i mean? supporting a chip does not end with 'here's the reg spec - you're on your own'. yes, the g45 series have had great support, particularly these days, in OSS form, at that. but that just shows what the rest of the GMA lineaup never received. again, i'm not even touching on the gma500.

actually, the best support one can find for the earlier GMA models is in a very closed shape, on a platform intel's FOSS act has had little effect over. yes, i'm speaking of apple's osx. apple are the only vendor in the world who support GLSL on GMA950 models. and it works, albeit suffering from the limitations of the hw. at the same time, the FOSS world is struggling to make the ARB_program support on those same chips useful. oh, the irony.
 
Last edited by a moderator:
Back
Top