# PVRTrace on Windows

**URL:** <https://forums.imgtec.com/t/pvrtrace-on-windows/1465>\
**Category:** PowerVR Insider\
**Tags:** pvrvframe, pvrtrace\
**Created:** [July 4, 2012, 12:37pm UTC](https://forums.imgtec.com/t/pvrtrace-on-windows/1465 "2012-07-04T12:37:39Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![presbywf](https://avatars.discourse-cdn.com/v4/letter/p/ecb155/32.png) [@presbywf](https://forums.imgtec.com/u/presbywf)\
**Post date:** [July 4, 2012, 12:37pm UTC](https://forums.imgtec.com/t/pvrtrace-on-windows/1465/1 "2012-07-04T12:37:39Z")

</div>

I’m having a bit of trouble getting PVRTrace to run on Windows with PVRFrame; I am using OpenGL 1.1.&nbsp; My application runs fine with libEGL.dll and libGLES\_CM.dll - have both of these in my %SYSTEMDIR% path.  
  
To use PVRTrace I add the 4 required dll’s into my executable directory:&nbsp; libEGL.dll, libgles\_cm.dll, libGLESv1\_CM.dll, and PVRTrace.dll.&nbsp; I then create a pvrtrace.cfg file and point EglLibraryPath and Es1LibraryPath to the %SYSTEMDIR% versions of the files.  
  
Then when I run, I get an error that says “The ordinal 204 could not be located in the dynamic link library libGLES\_CM.dll”.  
  
Using dumpbin.exe it’s clear that this ordinal does not exist in the PVRTrace version of the DLL, but does exist in the PVRFrame version.&nbsp; In face, PVRTrace.dll only has ordinals up to ~170, while PVRFrame goes up to ~220.  
  
Am I setting this up wrong?&nbsp; I must be missing an important step.

---

<div class="post-metadata">

**Author:** ![dgonzalez](https://avatars.discourse-cdn.com/v4/letter/d/76d3ee/32.png) [@dgonzalez](https://forums.imgtec.com/u/dgonzalez)\
**Post date:** [July 4, 2012, 12:58pm UTC](https://forums.imgtec.com/t/pvrtrace-on-windows/1465/2 "2012-07-04T12:58:14Z")

</div>

Hi presbywf,

Could you print your pvrtrace.cfg file please?

I think you could have a problem with the dll used:

_Example:_

EglLibraryPath = Z:PVRFrameReleaseOGLES2libEGL.dll  
Es1LibraryPath = Z:PVRFrameReleaseOGLES1libGLES\_CM.dll  
Es2LibraryPath = Z:PVRFrameReleaseOGLES2libGLESv2.dll

Please, check the name and we recommend to set Es2LibraryPath too, even if your application does not use it.

Regards,

David

---

<div class="post-metadata">

**Author:** ![presbywf](https://avatars.discourse-cdn.com/v4/letter/p/ecb155/32.png) [@presbywf](https://forums.imgtec.com/u/presbywf)\
**Post date:** [July 4, 2012, 1:07pm UTC](https://forums.imgtec.com/t/pvrtrace-on-windows/1465/3 "2012-07-04T13:07:36Z")

</div>

Hi David.&nbsp; My pvrtrace.cfg is as follows:  
  
EglLibraryPath = F:OpenGLPVRVFrame\_REL\_2.10@869778.tarPVRVFrameOGLES-1.1Windows\_x86\_32libEGL.dll  
Es1LibraryPath = F:OpenGLPVRVFrame\_REL\_2.10@869778.tarPVRVFrameOGLES-1.1Windows\_x86\_32libgles\_cm.dll  
Es2LibraryPath = F:OpenGLPVRVFrame\_REL\_2.10@869778.tarPVRVFrameOGLES-2.0Windows\_x86\_32libGLESv2.dll  
  
TraceFile = trace.pvrt  
RecordData = 0  
StartFrame = 0  
EndFrame = 100  
  
  
I am pointing to the DLL’s directly from the PVRVFrame download from this website.&nbsp; I have tried other directories as well, such as %SYSTEMDIR%libEGL.dll, etc.

---

<div class="post-metadata">

**Author:** ![dgonzalez](https://avatars.discourse-cdn.com/v4/letter/d/76d3ee/32.png) [@dgonzalez](https://forums.imgtec.com/u/dgonzalez)\
**Post date:** [July 4, 2012, 1:53pm UTC](https://forums.imgtec.com/t/pvrtrace-on-windows/1465/4 "2012-07-04T13:53:54Z")

</div>

Hi presbywf,

Is your app using glCurrentPaletteMatrixOES?&nbsp;

To use any extension you should get the pointer with eglGetProcAddress() and not calling directly the function.&nbsp;

PVRVFrame allows to calls some functions directly but it is not going to work on the devices (they are DEV-Backdoors).

Is this your case?

Regards,

David

---

<div class="post-metadata">

**Author:** ![presbywf](https://avatars.discourse-cdn.com/v4/letter/p/ecb155/32.png) [@presbywf](https://forums.imgtec.com/u/presbywf)\
**Post date:** [July 4, 2012, 3:34pm UTC](https://forums.imgtec.com/t/pvrtrace-on-windows/1465/5 "2012-07-04T15:34:52Z")

</div>

Hi David - you are right, we were directly calling glCurrentPaletteMatrixOES.&nbsp; I changed the code to use eglGetProcAddress and everything works fine now.  
  
Thanks for your help!

---

<div class="post-metadata">

**Author:** ![presbywf](https://avatars.discourse-cdn.com/v4/letter/p/ecb155/32.png) [@presbywf](https://forums.imgtec.com/u/presbywf)\
**Post date:** [July 4, 2012, 3:43pm UTC](https://forums.imgtec.com/t/pvrtrace-on-windows/1465/6 "2012-07-04T15:43:00Z")

</div>

I spoke too soon.&nbsp; The TTY output prints:  
  
Error loading library eglBindTexImageError loading library eglBindTexImage  
Error loading library eglReleaseTexImageError loading library eglReleaseTexImage  
Error loading library eglSurfaceAttribError loading library eglSurfaceAttrib  
Error loading library eglSwapIntervalError loading library eglSwapInterval  
Error loading library eglBindAPIError loading library eglBindAPI  
Error loading library eglCreatePbufferFromClientBufferError loading library eglC  
reatePbufferFromClientBuffer  
Error loading library eglQueryAPIError loading library eglQueryAPI  
Error loading library eglReleaseThreadError loading library eglReleaseThread  
Error loading library eglWaitClientError loading library eglWaitClient  
PVRTrace EGL - ERROR: failed to load entry points from host library  
Please check library paths in pvrtrace.cfg  
PVRTrace EGL - ERROR: failed to load entry points from host library  
Please check library paths in pvrtrace.cfg  
  
PVRTrace - aborting  
  
PVRTrace - aborting  
  
  
The app will then crash when calling eglGetDisplay.  
  
This is expected output?

---

<div class="post-metadata">

**Author:** ![dgonzalez](https://avatars.discourse-cdn.com/v4/letter/d/76d3ee/32.png) [@dgonzalez](https://forums.imgtec.com/u/dgonzalez)\
**Post date:** [July 5, 2012, 7:14am UTC](https://forums.imgtec.com/t/pvrtrace-on-windows/1465/7 "2012-07-05T07:14:27Z")

</div>

Hi presbywf,

We think there is a problem with the libEGL.dll used.

Could you try to use the  
&nbsp;OGLES2  
&nbsp;libEGL.dll  
version?

EglLibraryPath = F:OpenGLPVRVFrame\_REL\_2.10@869778.tarPVRVFrameOGLES-2.0 Windows\_x86\_32libEGL.dll  
Es1LibraryPath = F:OpenGLPVRVFrame\_REL\_2.10@869778.tarPVRVFrameOGLES-1.1Windows\_x86\_32libgles\_cm.dll  
Es2LibraryPath = F:OpenGLPVRVFrame\_REL\_2.10@869778.tarPVRVFrameOGLES-2.0Windows\_x86\_32libGLESv2.dll

Thank you.

Regards,

David
