| These instructions will help you build upstream Mesa binaries for DB845c/RB5 |
| and prepare linaro vendor-package. |
| |
| |
| Build and boot upstream Mesa (freedreno) with AOSP: |
| --------------------------------------------------- |
| * Build AOSP with upstream Mesa: |
| |
| $ mkdir $AOSP |
| $ cd $AOSP |
| $ repo init -u https://android.googlesource.com/platform/manifest -b master --repo-rev=stable |
| $ repo sync -j`nproc` |
| $ cd $AOSP/external/mesa3d |
| $ git checkout aosp/upstream-main |
| $ cd $AOSP |
| $ . build/envsetup.sh |
| $ lunch db845c-trunk_staging-userdebug |
| $ make TARGET_BUILD_MESA=true -j`nproc` |
| |
| * Boot the DB845c/RB5 in fastboot mode and flash the images: |
| |
| $ cd $AOSP/out/target/product/db845c |
| $ fastboot flash super ./super.img flash boot ./boot.img \ |
| flash vendor_boot ./vendor_boot.img reboot |
| |
| |
| Updating the Mesa prebuilt binaries in linaro vendor-package: |
| ------------------------------------------------------------ |
| * Before we update and ship the new set of Mesa prebuilt binaries, please make |
| sure that there are no new or obvious regressions when we test run |
| CtsGraphicsTestcases, CtsDisplayTestCases and CtsSystemUiTestCases on DB845c and |
| RB5 with the new binaries. |
| |
| Report any breakages or regressions at https://gitlab.freedesktop.org/mesa/mesa/-/issues |
| |
| * Copy new Mesa binaries over from AOSP build: |
| |
| $ git clone git@gitlab.com:LinaroLtd/linaro-aosp/linaro-vendor-package |
| $ cd linaro-vendor-package/src/db845c/mesa_prebuilt/ |
| $ ./copy_bins.sh # This script will copy Mesa prebuilt binaries from \ |
| $ANDROID_PRODUCT_OUT pre-set by "lunch db845c-userdebug" \ |
| or user need to set it explicitly to $AOSP/out/target/product/db845c |
| |
| Run "git status" to look for modified binaries. Discard any new *_dri.so in |
| ./lib{,64}/dri/ directory which are usually just a symlink to libgallium_dri.so. |
| Commit the changes with detailed change log and update top-level src/README |
| accordingly. |
| |
| |
| Preparing linaro vendor-package for AOSP: |
| ----------------------------------------- |
| * Follow instructions in src/README_PrepareVendorPackage to prepare linaro |
| vendor-package for AOSP. |
| |
| |
| Troubleshooting: |
| ---------------- |
| * Upstream has a new dependency on meson version >= 0.54 and Python (3.x) |
| mako module >= 0.8.0 now, and that broke the build on Ubuntu 20.04.5. |
| So install python3-mako and update meson: |
| |
| $ sudo apt install python3-mako |
| |
| $ sudo add-apt-repository ppa:ubuntu-support-team/meson |
| $ sudo apt update |
| $ sudo apt install meson |
| h/t: https://launchpad.net/~ubuntu-support-team/+archive/ubuntu/meson |