Fixed bug 2983 - Update Android.readme to include Tegra Graphics Debugger compatibility tip

Michael Labbé

NVidia has released some pretty nice Tegra profiling tools for their Android devices. The NVidia Tegra Graphics Debugger works by providing an interposer library that intercepts ES2 and EGL calls.  You must link against these libraries.

Unfortunately, this quietly fails with SDL2 because libEGL and libGLES2 are dynamically loaded with dlopen().

NVidia offers a secondary approach to using the Tegra Graphics Debugger: root your device and install a global interposer library.  Almost no devs will try this first if they don’t have a rooted device.

I propose an update to the Android readme that explains why the static linking approach recommended by NVidia doesn’t work.
diff --git a/docs/README-android.md b/docs/README-android.md
index da6f1d5..a867995 100644
--- a/docs/README-android.md
+++ b/docs/README-android.md
@@ -420,6 +420,15 @@
     adb shell setprop wrap.org.libsdl.app ""

 

 ================================================================================

+ Graphics debugging

+================================================================================

+

+If you are developing on a compatible Tegra-based tablet, NVidia provides Tegra Graphics Debugger at their website.  Because SDL2 dynamically loads EGL and GLES libraries, you must follow their instructions for installing the interposer library on a rooted device.  The non-rooted instructions are not compatible with applications that use SDL2 for video.

+

+The Tegra Graphics Debugger is available from NVidia here:

+https://developer.nvidia.com/tegra-graphics-debugger

+

+================================================================================

  Why is API level 10 the minimum required?

 ================================================================================