cancel
Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

erflo
Journeyman III

libEGL.so from the GLES SDK is bugged and unusable under Linux ( always segfault )

I'm wondering if I'm missing something or AMD just released an unusable library.

In this case with the GLES sdk there is a general misleading idea of what a programmer is supposed to code, no documentation is provided, nothing about how to use this library, what the dependencies are ( it's too much to ask for a text file where you describe what configuration is needed to run this library ? Under which environment is tested and verified inside AMD ? ), what ABI is supporting, what kernel/X/X11 versions supports, with which compiler is generated and so on; the samples are also offered as "C++" code where infact are just plain old C functions with primitive types, and there is no appropriate use of the extern keyword to properly treat C binding in this "C++" code.

But there is more, this library doesn't work and always goes into segfault ( apparently because of a pointer set internally to 0/NULL ).

I tried to compile a simple EGL snippet and it compiles fine, I even linked the final object properly, but looks like this libEGL.so is nothing more than a wrapper for fglrx_dri.so ( a really bad bad move I should say, both the use of libdl and this kind of "linkage", and libdl it's not even mentioned anywhere, no doc about it ) and I honestly don't get the logic of this, even more, the symbols are defined in both libEGL.so and fglrx_dri.so, this 2 libraries define pretty much the same tokens/symbols ( try objdump or readelf ), it's 2 times the original workload and the result is that no one of them works.

It also looks like that there is no support for the DRI2 infrastructure using any fglrx driver, with pretty much any version of this drivers. I also tried the LTS and the 13.10 versions of Ubuntu amd64 with the same result.

Since there is no documentation at all for this SDK, I don't even know how AMD is conceiving the use of this piece of software, but after some digging I really think that there is a segfault, and is internal to the libEGL and/or the fglrx_dri.so library, and the lack of the DRI2 support doesn't really help either.

Considering this, AMD can possibly provide a working example for EGL using this exact SDK or documentation about how a programmer is supposed to use this product ?

I also wish that AMD will raise its own standards in terms of code quality because a segfault, the lack of documentation and C code compiled in the C++ way, are not exactly a good example of how a company should provide support to who buys its own products.

Thanks.

0 Likes
4 Replies
nou
Exemplar

there is sample in SDK and I could compile and run it.

0 Likes
erflo
Journeyman III

I can't see how this post relates to my question.

What is your platform ? What is your configuration ? Are you sure you have everything linked to the libraries that came with the GLES sdk and not with the mesa ones ? Your drivers are supporting the DRI2 infrastructure ?

Please add the important details and how you have debugged your application at both runtime and compile time.

0 Likes

if you mean this SDK http://developer.amd.com/tools-and-sdks/graphics-development/amd-opengl-es-sdk/ then there is sample and some documentation. It works on Ubuntu 12.04 with installed catalyst driver.

0 Likes
erflo
Journeyman III

Ok we are not going anywhere with this.

The libEGL.so library needs libdl and this is not documented and it's also essential to link this library when compiling any EGL piece of code.

Then what ? What are the other piece of software or configurations that this library needs ?

If no one from the AMD team is willing to reply to this, please delete this discussion, it makes no sense otherwise, and for the future consider to inform and document the software that you are providing.

0 Likes