= 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'').