- November 25, 2016 at 10:04 am #54961
Hello. I am trying to use PVRTrace from the latest SDK (PowerVR Tools & SDK 2016 R2, Recorder Version: 16.2@4278847) to dump the traces for analysis.
When I use the Linux_x86_64 version of the recorder, everything works as expected, large pvrtrace is created, I can open it and see all the OpenGL calls. However, on another device, when i use the the Linux_armv8_64 version of the recorder, with the same config file (only lib paths must be different), I always get only 205 bytes pvrtrace file, ie. no data inside. No error message, that i cannot see also in the x86 version (there are only some messages about missing EGL 1.5 functions on both x86 and arm, but these are not called, and also something about shader/program binaries, but I do not use binary shaders).
Similar thing happens when i try to remotely connect to the device with the PVRTraceGUI – I can connect and click start recording, but nothing is actually recorded, no trace to be downloaded.
Is there something I am doing wrong so that I get only 205 byte trace file, or is it some issue in the armv8 version of the recording libraries?November 29, 2016 at 9:10 am #54990
We are not aware of any bugs regarding PVRTrace on ARM, could you please run ‘ldd‘ on your application for ARM architecture and post the results here so we can rule out issues with libraries.
Thanks ShaunDecember 5, 2016 at 10:02 am #55038
Hi. We found the issue, thanks for the hint with ldd.
I did not originally think about problems with loading of libs, because empty trace was created, so i supposed that the recording libraries were correctly loaded. Wrong :). My application only uses libEGL.so and libGLESv2.so, but these were not loaded, because the application is linked to libEGL.so.1 and libGLESv2.so.2.
But – one of other external libs internally loads libGLES_CM.so, and does not call any function on it, so the trace file was created, but it was empty.
I just created symlinks to libEGL and libGLESv2 and it now works like a charm.