Skip to content

Draft: enable testing mesa under Android using cuttlefish and the latest llvmpipe driver

Antonio Ospite requested to merge ao2/android-ci-improvements into main

This MR enables testing mesa under Android using cuttlefish and the latest llvmpipe driver.

This makes it possible to spot regressions when running mesa under Android.

This is achieved by:

  • using prebuilt llvm libraries for Android which are needed to build the llvmpipe driver for Android
  • using prebuilt cuttlefish images that are tailored to use the llvmpipe from upstream mesa

For the curios, the cuttlefish images for llvmpipe are built by using upstream mesa in the AOSP tree, and integrating these changes in the cuttlefish project: https://gitlab.freedesktop.org/ao2/cuttlefish/-/merge_requests/2

The following commands can be used to test the changes:

git clone -b ao2/android-ci-improvements https://gitlab.freedesktop.org/ao2/mesa.git
cd mesa
./bin/ci/ci_run_n_monitor.sh --target android-llvmpipe

NOTE: by using the guest_swiftshader GPU mode in cuttlefish, mesa is only exercised on the Android guest and not on the linux host too.

TODO for the MR:

  • Make the android-llvmpipe job pass.
  • Get the prebuilt llvm libraries for Android from an S3 bucket
  • Get the cuttlefish images from and S3 bucket
  • Clean up how meson uses the prebuilt llvm libraries from android using a wrap file
  • Medium-term: build the llvm libraries from Android in a CI job and upload to S3
  • Medium-term: build the cuttlefish images in a CI job and upload to S3
Edited by Antonio Ospite

Merge request reports

Loading