Direct (close-to-the-metal) open-source SGX driver


warmi said:
Pickle said:
Zoxc said:
You could of course just write an OpenGL (ES 2.0) driver ontop of libsgx, but maciek_urbanski has no intension to do so.

adventus is doing this, its more of a wrapper though.

Why would anyone want to do that ?

There are already implementations available for Windows and Linux ( Img Tech and ATI)

TI didnt license the full opengl driver, so what we have is the opengl es 1.1/2.0 driver. With the existing driver we dont have the full opengl specification. If this attempt by adventus works we can run more opengl titles with less work. (Im not denying that writing a software to the es spec would not be more efficient)
I believe the one fault with pandora (maybe more with omap) was the TI licensing of opengles. It has the hw to do the full spec, would have cost that much more? It sure would make life easier with software ports, and make a lot more software accessible. But maybe we can undo that with things like nanogl and adventus's wrapper.
 
More than the lack of full desktop opengl, what I'm more concerned is about composite support for X11. The hardware is capable, but I hope there is support in the binary drivers. And I'm not talking about fancy 3D desktop effects, but only translucent windows (I'll need them for an important project I'm working on)
 
There are already implementations available for Windows and Linux ( Img Tech and ATI)
Are you refering to the OpenGL ES 2.0 to OGL2 emulators? I'm wrapping the other direction, OGL2 to OGLES 2.0.

Possibly The reason TI licenced only the OGLES2 driver may be because the OGL driver is not very mature and they don't want people bitching about it. This kind of hardware is fairly different / new, and may not be as suited to full OGL implementations, it'll probably take awhile before a high performance full OGL driver is available. Its much easier writing a fast ES driver, most of the performance is in the hands of the ES developer.
 
Adventus said:
There are already implementations available for Windows and Linux ( Img Tech and ATI)
Are you refering to the OpenGL ES 2.0 to OGL2 emulators? I'm wrapping the other direction, OGL2 to OGLES 2.0.

Uhh .. you mean you want to be able to compile and run OpenGL apps on a device running OGLES 2.0 ?

PS... Never mind ... looking at the source code I see what are you trying to do.

The part with emulating combiners with a shader looks pretty impressive ... I am not sure how well it will translate in terms of performance (things like discard etc ) but it looks pretty useful.
 
maciek_urbanski said:
Laurent said:
What about sharing what you already have so that people with hardware can pick it up where you left it? Kind of like the nouveau project for nVidia
Sorry, but no. I want to be on top of things to the end - in other words: I want design and fine-tune CTM API. I have my design methodologies that drive my co-workers mad, but as a result - the resulting API is lean & clean. I'm not suggesting anything about you folks, but it's a pet project and I want it to be done my way. When API and initial implementation will be done (proverbial "seed" is planted) I will share code for you all to improve it.

Sorry, but I have to admit that I don't understand your point. Basically, you said that thanks to your own reverse-engineering efforts, you obtained some knowledge of the SGX instruction set and the innards of USSE, but there still remains some work to be done in order to gain a deeper understanding of the SGX. Afterward, you plan on creating a barebone driver that will enable users to directly interface the core. Unfortunatly, you lack spare time and hardware so you have to halt your project temporarly. Please correct me if I'm wrong. Honestly, I don't see any reason to keep the information private. Providing it to other people will in no way prevent you from creating your own driver and if it's good, people will still use it. It will only ease access to the SGX for other folks out there, giving them the opportunity to tinker with the beast by themselves. Hopefully, they'll discover more about it which in return, shall help you for your own project. No need to provide positive examples of such initiatives, as they're countless and I'm sure you already know about them. So, what are you seeking? Fame perhaps? Please clarify so I don't get a wrong opinion of you.

What follows is an open question. Is there anybody who need/would like to have low-level informations about the SGX for their own project? I plan to reverse the Linux driver and write some specs (only out of pure interest for PowerVR products in general), but I won't perform this demanding task if it's not beneficial to anybody else than myself. And yes, help will most certainly be welcome.
 
He doesn't want to share the code because he wants it to be his project. Imagine starting work on a puzzle, doing the borders, filling in some of the middle pieces, going to work, and then coming home to find that someone else has put the rest of it together for you. I feel the exact same way with my projects. I like putting the puzzle together, it's challenging and fun, and the thought of someone else finishing my work before I have a chance to does not appeal to me. And then, when it's done, you can release the source for others to examine and tweak. Or not, some people just don't like their source being available (some with very good reasons).
 
WizardStan said:
He doesn't want to share the code because he wants it to be his project.

If you read more carefully, I was talking about releasing the SGX hardware information (registers/instruction set/etc) he gathered from the Linux driver binaries. There is absolutely no code involved here. Still, I do understand your point about "petting" personnal projects as I tend to do the same thing myself.
 
Back
Top