[PATCH v4 00/15] Extend IGT to support Android

Jeevaka Prabu Badrappan jeevaka.badrappan at intel.com
Wed May 7 16:01:33 UTC 2025


The primary objective of this proposal is to extend the functionality of
IGT to Android environments.

Enabling IGT on Android will allow developers to perform comprehensive
testing of graphics drivers, ensuring robustness and reliability across
different platforms.

By providing stub implementations for libraries that are not natively
supported on Android, we will bridge the gap between Android and Linux
environments, promoting code reuse and reducing development time.

Changes done:
- Create stub implementations of GLib, libunwind, libprocps, and
other necessary libraries to satisfy IGT dependencies on Android.
- Replace glib hash table with igt hash implementation

Note:
- Incase of linux systems, system libraries will be used whereas for
Android stubs will be used with reduced test coverage.
- Support will be provided to maintain Android support.

Jeevaka Prabu Badrappan (14):
  lib: Include local igt procps, glib and unwind header for Android
  tests: Include local igt_glib header for Android
  runner: Include local igt_glib header for Android
  tools: Include local igt_glib header for Android
  tools/gputop: find program name from command line
  lib/igt_dummyload: Avoid pthread_cancel use by introducing an exit
    flag
  lib/xe/xe_spin: Avoid pthread_cancel use by introducing an exit flag
  lib/igt_core: Add print_backtrace placeholder for Android
  lib/igt_core: Conditionally define __noreturn for non-Android
    platforms
  tools/intel_gpu_top: Replace index with strchr
  tests/intel/xe_create: Conditionally define PAGE_SIZE for non-Android
    platforms
  lib/igt_device_scan: Replace return value of devs_compate to int
  lib/igt_device_scan: Replace rindex with strrchr
  lib/igt_device_scan: reuse igt hash

Sapna (1):
  Add stub for libunwind, procps and glib

 lib/igt_aux.c              |  4 ++
 lib/igt_chamelium.c        |  4 ++
 lib/igt_core.c             | 15 +++++++
 lib/igt_core.h             |  2 +
 lib/igt_device_scan.c      | 82 +++++++++++++++++++-------------------
 lib/igt_dummyload.c        |  6 +--
 lib/igt_dummyload.h        |  2 +
 lib/igt_glib.h             | 47 ++++++++++++++++++++++
 lib/igt_procps.h           | 46 +++++++++++++++++++++
 lib/igt_rc.h               |  4 ++
 lib/igt_unwind.h           | 25 ++++++++++++
 lib/intel_batchbuffer.c    |  4 ++
 lib/meson.build            |  1 +
 lib/xe/xe_spin.c           |  2 +-
 runner/executor.c          |  4 ++
 runner/settings.h          |  4 ++
 tests/intel/api_intel_bb.c |  4 ++
 tests/intel/gem_ccs.c      |  4 ++
 tests/intel/xe_ccs.c       |  4 ++
 tests/intel/xe_create.c    |  2 +
 tests/intel/xe_intel_bb.c  |  4 ++
 tests/testdisplay.h        |  4 ++
 tools/gputop.c             | 13 ++++--
 tools/igt_dp_compliance.h  |  4 ++
 tools/intel_gpu_top.c      |  2 +-
 tools/intel_pm_rpm.c       |  4 ++
 tools/lsgpu.c              |  4 ++
 27 files changed, 253 insertions(+), 48 deletions(-)
 create mode 100644 lib/igt_glib.h
 create mode 100644 lib/igt_procps.h
 create mode 100644 lib/igt_unwind.h

-- 
2.34.1



More information about the igt-dev mailing list