PowerVR SDK_2016_R1.2 examples cannot be executed

Hello All,

I have the following problem. I was given a new laptop DELL Precision M4800 which uses NVIDIA Quadro K2100M and Intel HD Graphics 4600 display adapters in my work place. In my previous computer, I have written one OpenGL ES 2.0 application and I was able to run it with the PowerVR SDK and simulation (not sure what version was I using there). I installed the latest PowerVR SDK (2016_R1.2) on my new laptop and I tried to run that application. This time it failed with Access Violation Error. I decide to run the example applications, provided with the SDK (01_HelloAPI). Again, it crashed with Access Violation Error. I tried in both Release and Debug configuration but no luck. I am using Visual Studio 2013 Express. When I added some breakpoints and debugged, I saw that the application crashes when it executes this line of code

eglContext = eglCreateContext(eglDisplay, eglConfig, NULL, contextAttributes) - line 330;

[attachment file=54737]

Also tried to run some other examples and I saw that the following Warning is printed in PVRVFrame

[attachment file=54738]

I tried to change the Context Creation Mode to Loose and this time it passed executing of eglCreateContext() but this time it failed in the next statement - eglMakeCurrent()

Here is the Call Stack from Visual Studio, when I run the app in Strict mode

[attachment file=54739]

Please, let me know if you need any additional information or if there is same thread in the forum already

Best Regards

Hello Ahmed,

Are you using the integrated chipset or your dedicated NVIDIA card to run these applications?
Could you please provide your NVIDIA card driver version?
Cheers,
Theo

Hello Theo,

Thanks for your reply. Honestly, I am not sure which one of both display adapters is used to run the applications. Is there any way to find out? All I see in the Device Manager of my computer is this:

[attachment file=54793]

The driver version of the Intel Graphics card is 9.18.10.3257

The driver version of the NVIDIA card is 9.18.13.1183

Let me know if you need any additional information.

Best Regards,
Ahmed K.

hello ahmed since your laptop support two graphics card there should be a way to force to a particular card. Have you tried this before running the example?
also when you get past the eglCreateContext you application should out put a log.txt file it is normally in the same folder where your visual studio project file. could you send that to us please
also is this the only example you have tried? have you tried running on any other systems?

Hello Theo,

First I tried to force a particular graphics card to be used from the NVIDIA Control Panel. I tried with both Integrated and NVIDIA card but the problem remained the same.

Second, when I run the HelloApi example it does not create any log.txt file. However, with the other examples it does, I have taken two logs - one when the Context creation mode is set to Strict and one for the Loose mode. They are taken when I ran the Skinning example in the Advanced section.

I have tried other examples like “Skinning” and “Glass” and all of them failed.

Best Regards,
Ahmed

this is strange…
could you run introducingPVRShell with this following code in the initApplication function

setApiTypeRequired(pvr::Api::OpenGLES2);

so your initApplication function should look like this. This will force opengles2. This one should be supported. if not then your installation went bad,

pvr::Result initApplication()
{
// what ever
setApiTypeRequired(pvr::Api::OpenGLES2);
}

I added that line of code, but the result is still the same :frowning: I have installed and unistalled the API like 5 times already. No errors or some other problems are introduced during the installation. Wondering if I have a problem with my display card’s drivers

Best Regards,
Ahmed

I also think the driver is worth investigating.
Can I ask you what Opengl version is shown in the Host section of PVRFrameGUI when running introducingPVRShell? (Context info tab)

Actually nothing is printed in the Context Info tab. I tried in both Strict and Loose modes. In case of the Loose mode, I see the following thing printed in the PVRVFrame GUI Console window (not sure if this is helpful):

Hardware profile: None
PVRVFrame version 10.3

Best Regards,
Ahmed

Investigating further could you please:

  1. Try an older version of the sdk (available from the github repository - checkout branch 3.5):
    https://github.com/powervr-graphics/Native_SDK/tree/3.5

  2. Send me the binary, (generated with SDK R1.2) for introducingPVRShell.

Regards,
Theo

Hello Theo,

I have attached the binary file. I downloaded the Native SDK 3.5 version, but I uninstalled the PVRVFrame, together with everything, that was installed previously. Then I realised, that no PVRVFrame was included in the files, I downloaded and I was not able to run the example. Do I have to use the PVRVFrame from the latest release or is there any other, which is related to versiopn 3.5?

Best Regards,
Ahmed

Hello Ahmed,

The native SDK 3.5 includes all the necessary to build and run the examples.
More precisely, the library required are located in:
Native_SDK/Builds/Windows/x86_32/Lib
Native_SDK/Builds/Windows/x86_64/Lib

As a curiosity could you check the opengl version supported by your NVIDIA card?
This tool can do that for you: http://www.realtech-vr.com/glview/

The binary you sent me runs just fine on my computer.
Please could you try the sdk R1.2 on another machine?

Cheers
Theo

Hello Theo,

I tried to run with SDK 3.5 but I still have the same problem :frowning: I checked the supported OpenGL version and it is 4.3. See below

[attachment file=54861]

I see that there is a newer driver for this card so I can try to install it. It is my last hope.

Best Regards,
Ahmed

Ok Ahmed,
Let me know if updating the driver changes anything.
Theo

Hi Theo,

Today I figured out what was wrong. It is really strange or at least strange to me. Usually I keep my laptop on a docking station and I have connected to extern monitors to it. Somehow this setup messes with the OpenGL or does something else happens. When I took my laptop of the station and everything started to work just fine. My only concern now is that I will have to present some OpenGL examples using beamer and connecting it to my laptop my cause the same problem. If you have any idea why connecting to a docking station and external monitors causes problems, I will be glad to hear it.

Best Regards,
Ahmed

It is really likely that the problem is OS related and not caused by the framework.

I would advice you to have a look at the display and power saving configurations.

Have you tried using another machine?

Theo