- Add PRODUCT_SOONG_NAMESPACES for external/mesa3d-panfrost - Switch gralloc from stock minigbm to gbm_mesa backend APEX (com.android.hardware.graphics.allocator.minigbm_gbm_mesa) - Add Mesa Panfrost GLES libraries (libEGL_mesa, libGLESv*_mesa, libgallium_dri) - Add com.android.hardware.vulkan.panfrost APEX (PanVK Vulkan 1.2) - Add OpenGL ES deqp level 2024-03-01 permission file - Set ro.hardware.egl=mesa and ro.hardware.vulkan=panfrost in vendor.prop - Keep ANGLE/SwiftShader installed for prop-flip rollback path Copyright (C) 2026 Brendan Szymanski <hello@bscubed.dev> |
||
|---|---|---|
| audio | ||
| bluetooth | ||
| hdmi | ||
| health | ||
| keylayout | ||
| light | ||
| media | ||
| overlay | ||
| ramdisk | ||
| seccomp_policy | ||
| sepolicy | ||
| suspend_blocker | ||
| usb | ||
| wifi | ||
| Android.bp | ||
| AndroidProducts.mk | ||
| aosp_tart.mk | ||
| BoardConfig.mk | ||
| bootanimation.zip | ||
| compatibility_matrix.xml | ||
| device.mk | ||
| framework_compatibility_matrix.xml | ||
| lineage_tart.mk | ||
| manifest.xml | ||
| mkbootimg.mk | ||
| mkimg.sh | ||
| product_manifest.xml | ||
| README.md | ||
| vendor.prop | ||
| wrimg.sh | ||
android_device_rockchip_tart
Device tree for building LineageOS 23.2 (Android 16, Android TV variant) for the Orange Pi 5 Ultra, codename tart.
Hardware
- SoC: Rockchip RK3588 (4x Cortex-A76 @ 2.4GHz + 4x Cortex-A55 @ 1.8GHz)
- GPU: ARM Mali-G610 MP4 "Odin" (Valhall, OpenGL ES 3.2 / Vulkan 1.2 / OpenCL 2.2)
- Ethernet: 2.5GbE via Realtek RTL8125BG (PCIe)
- WiFi/BT: WiFi 6E + Bluetooth 5.3 via Ampak AP6611S module (Synaptics SYN43711 chipset)
- Audio: Everest ES8388 codec (3.5mm jack, mic, HDMI eARC)
- Display: HDMI 2.1 out (8K60), 4-lane MIPI DSI out, HDMI 2.0 capture in
Status
This is an active bring-up port, not a finished build. Working/not-working status changes frequently — the authoritative, currently-maintained list lives in AGENTS.md and CLAUDE.md at the root of the parent project repo, not here. As of the last update to this README:
Working:
- Boots to Android on real hardware (kernel, all 8 CPUs, GPU/USB/PCIe detected)
breakfast tart+ plainmkabuild system/vendor/boot/ramdisk images- GPT image creation (
mkimg.sh) and flashing via U-Boot/extlinux
Not working / deferred:
- GPU acceleration — stock AOSP mesa3d only, no Panfrost yet
- SELinux enforcing (currently permissive)
- Camera, HDMI capture input, RTL8125BG Ethernet firmware, and WiFi/BT driver support are all unverified/in progress
This device has no Android recovery (TARGET_NO_RECOVERY := true) — it boots via U-Boot + extlinux.conf, not a recovery/OTA-zip flow. Use plain mka, not mka bacon (see BoardConfig.mk and the parent project's build docs for why bacon fails on this device).
Building and flashing
Full setup, sync, and build instructions live in the android_local_manifest README — this repo is just one of several projects (device tree, kernel, vendor blobs) that manifest pulls in.
Two scripts in this repo are used post-build:
mkimg.sh— assembles a flashable GPT image (U-Boot + FAT32 boot partition withextlinux.conf/kernel/DTB/ramdisk, plus system/vendor/metadata/userdata partitions) from the build output. Run from the source tree root aftermka, in the same shell used to build (needsTARGET_PRODUCT/ANDROID_PRODUCT_OUTfromlunch/breakfast). Do not run withsudo— it escalates internally per-command only where needed.wrimg.sh— writes individual partition images (boot/system/vendor) directly to an already-flashed physical device for fast dev-iteration re-flashes, without rebuilding the whole GPT image. Also supportswipe(reformat userdata) andwipe-metadata. Auto-detects the target block device by matching partition labels/sizes againstmkimg.sh's 5-partition layout.
License
Apache-2.0. Originally forked from KonstaKang's Orange Pi 5 Pro AOSP device tree and dvab-sarma's port; substantially modified for the Orange Pi 5 Ultra / LineageOS ATV port.