Imagination PowerVR SDK Blog

unable to install SDK on linux

pvrvframe

#1

I’ve downloaded the latest SDK onto a Linux system running Ubuntu 12.04. However, I can’t seem to get it to install (see below).



doug@pandaboard:~$ cd Downloads/

doug@pandaboard:~/Downloads$ chmod +x PowerVRSDKSetup-3.0r2.run-x86

doug@pandaboard:~/Downloads$ sudo ./PowerVRSDKSetup-3.0r2.run-x86

[sudo] password for doug:

./PowerVRSDKSetup-3.0r2.run-x86: 1: ./PowerVRSDKSetup-3.0r2.run-x86: Syntax error: “(” unexpected



I’ve seen other posts about installing ia32-libs, but this seems to be for 64 bit systems and mine is 32 bit, so I don’t think this is the issue. Any ideas?


#2

Hi Deep



Can you try temporarily configuring Ubuntu to use bash as the system shell by running ‘sudo dpkg-reconfigure dash’ and selecting “No”.



Then try running the installer again and let us know if it works? Afterwards you can switch your shell back using the same command.


#3

I think I see at least part of the problem



doug@pandaboard:~/Downloads$ file PowerVRSDKSetup-3.0r2.run-x86

PowerVRSDKSetup-3.0r2.run-x86: ELF 32-bit LSB executable, Intel 80386, version 1 (GNU/Linux), statically linked, stripped



The SDK is built for Intel and I’m running on an ARM system. Is there an ARM version of the SDK? On the install page I see only 32 and 64 bit options for Linux.


#4
Hi Deep

Can you try temporarily configuring Ubuntu to use bash as the system shell by running 'sudo dpkg-reconfigure dash' and selecting "No".

Then try running the installer again and let us know if it works? Afterwards you can switch your shell back using the same command.


When I try this I get the following:

doug@pandaboard:~/Downloads$ sudo ./PowerVRSDKSetup-3.0r2.run-x86
./PowerVRSDKSetup-3.0r2.run-x86: ./PowerVRSDKSetup-3.0r2.run-x86: cannot execute binary file

Please see my post above.

#5

Hi Deep,



Currently, we only provide installers for the x86 architecture. The reason for this is that our Utilities are, currently, only built for x86. I’ll talk with our web team so we can make our download page clearer.



The SDK can target ARM platforms running Linux or Android (as discussed here). If you run the installer on an x86 platform, you can download the packages you need to run our Examples on your Pandaboard.



Thanks,

Joe


#6

Thanks for the clarification on the installer. However, I guess I must still be missing something. In the link you referenced it says the SDK supports Linux on ARMv7 w/ OpenGL ES 2.0, which is what I’m running. So how do I get the necessary components for this platform? I have the Windows PC emulator installed on another system, so obviously I could copy the example source over and try to compile it. But what about the libraries? Under builds in the Windows install, I see EGL and GLESv2 libraries for Linux_x86_32 and Linux_x86_64, but nothing for arm. Do I need to obtain these from the hardware vendor? If so, what about the PVR texture library? We were using this to load PVR textures.


#7

Hi Deep,



We do not provide graphics drivers in our SDK. You’re correct - these must come from the platform provider. As discussed in the Pandaboard FAQ here, the Linux Pandaboard graphics drivers can be found here.



The libraries in the Windows SDK package are shim libraries that are linked against during builds. The PVRVFrame emulation libraries can then we used on x86 Windows platforms to run our OpenGL ES 2.0 Examples.



Our SDK tools code (PVRTools), includes PVR texture loading code. You can use this to load textures in your applications.



Thanks,

Joe


#8

Joe,



Thanks for the info on the PandaBoard graphics drivers.



Wrt the PVR texture library (I link w/ PVRTexLib.lib on Windows), should I expect that a similar Linux archive will be included w/ the drivers (omap4_pvr perhaps)? If not, do I have an option to use PVR textures on PandaBoard? It’s great if the driver supports their use, but that won’t do me much good if I can’t load them.


#9

You don’t need the libraries - our PVRTools includes resource loading code for PVR files. We have a very permissive licence for the source code provided in the SDK, so you can use it as-is or make changes to it if you need to. All of our SDK Example applications that use textures use our PVRTools PVR loading code.



Thanks,

Joe


#10
You don't need the libraries - our PVRTools includes resource loading code for PVR files. We have a very permissive licence for the source code provided in the SDK, so you can use it as-is or make changes to it if you need to. All of our SDK Example applications that use textures use our PVRTools PVR loading code.


Joe,

Digging a little deeper into my problem, I see that I already have a PVR texture loader that does not depend on PVRTexLib. However, we also have code that would allow non-compressed textures to be compressed at load time, which was using PVRTexLib, specifically the Transcode method in PVRTextureUtilities.h. Can you confirm whether it is possible for me to do compression / decompression in my code on ARM, or is this capability something I just need to exclude for this platform?

#11

Hi Deep,



PVRTC compression is complex, and for this reason the compressor is quite costly to run. We do not provide a compressor for ARM CPUs as offline texture compression is a much most efficient solution.



Many developers compress to a number of formats offline and then select the most suitable textures at run-time. This can be done by creating GPU specific packages (i.e. package A contains PVRTC textures, package B contains ETC textures), downloading the files during installation/on a first run once the GPU is known or simply creating a single package that contains all compressed texture variations.



Thanks,

Joe