Adreno

Adreno

The Adreno is a series of GPUs developed by Qualcomm. Is used in the Galaxy Nexus 4 and 7 (2013).

Profiler Installation Instructions

Get the Adreno SDK by visiting https://developer.qualcomm.com/software/adreno-gpu-profiler and choosing the Linux option. They require you to register an account before accessing the tool. Download it and extract it to somewhere in your home directory.

The profiling applications require Mono to function. Install its dependencies with

    sudo apt install mono-complete

once that has completed, you can run the profiling tool with:

    cd bin
    mono AdrenoProfiler.exe

It will pop up a Connect dialog. Now time to configure the Ubuntu Touch device.

Device configuration

Your Touch device must have developer mode enabled, and be connected to your PC with a USB cable. Use adb shell for the following commands.

First need to set an android-side variable to enable the profiler. Do this by editing /var/lib/lxc/android/pre-start.d/10-no-adbd and add the line:

    echo "debug.egl.profiler=1" >> $LXC_ROOTFS_PATH/default.prop

The path to the profiler library is incorrect in the driver binaries, so need to patch them (unsure if this necessary). First need to get write access to them:

    mkdir temp
    mount /var/lib/lxc/android/system.img temp
    cd temp/lib/egl

You should be in the directory with the driver binaries. Correct the paths with:

    sed -i 's|/vendor/lib/egl/libq3dtools_adreno.so|/system/lib/egl/libq3dtools_adreno.so|g' libEGL_adreno.so
    sed -i 's|/vendor/lib/egl/libq3dtools_adreno.so|/system/lib/egl/libq3dtools_adreno.so|g' libGLES_android.so
    sed -i 's|/vendor/lib/egl/libq3dtools_adreno.so|/system/lib/egl/libq3dtools_adreno.so|g' libGLESv1_CM_adreno.so
    sed -i 's|/vendor/lib/egl/libq3dtools_adreno.so|/system/lib/egl/libq3dtools_adreno.so|g' libGLESv2_adreno.so
    sed -i 's|/vendor/lib/egl/libq3dtools_adreno.so|/system/lib/egl/libq3dtools_adreno.so|g' libplayback_adreno.so

Reboot for good measure, and ensure the usual Touch UI appears ok.

Now run the AdrenoProfiler on your machine, and try the Connect dialog. An entry for each graphical application on the device should appear.

Note I found that it doesn't always notice a profilable application is running, and sometimes starting a new application helps it detect it (e.g. ubuntu-app-launch webbrowser-app).

Touch/GPU profiling/Adreno (last edited 2015-10-02 16:40:45 by gerboland)