Skip to main content

android-emulator-trace

Run or debug lavatube Vulkan captures on an Android emulator using tests/android_emulator_trace.sh.

Source facts

Repository
ARM-software/lavatube
Last source activity
October 14, 2026 at 15:48
Detected SKILL.md language
English
Stars
9
Forks
5

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
android-emulator-trace
description
Run or debug lavatube Vulkan captures on an Android emulator using tests/android_emulator_trace.sh.
# Android emulator traces Use desktop tools from `build/` and an Android-built layer matching the emulator ABI. A desktop `build/libVkLayer_lavatube.so` cannot be loaded on Android; a missing `libstdc++.so.6` in logcat commonly indicates that mistake. Check `adb devices` and `adb -e shell getprop ro.product.cpu.abi`. Typical layer paths are `build_android_x86_64/libVkLayer_lavatube.so` and `build_android_arm64-v8a/libVkLayer_lavatube.so`. Check the build configuration/dependencies as well as the ELF architecture; `file` output alone does not prove Android compatibility. Build the needed desktop tools and matching Android layer when stale or absent. For an existing x86_64 setup, the capture command from the repository root is: ```bash tests/emulator_setup.sh tests/android_emulator_trace.sh build_android_x86_64/libVkLayer_lavatube.so build/lava-replay VkLayer_lavatube.json ``` The trace script targets the emulator, changes its debug-layer settings and local calendar data, and replaces `calendar.api` in the working directory. Use a disposable test emulator and preserve any existing output needed by the user. Run `tests/emulator_cleanup.sh` when finished with an emulator you started for the task. Verify the captured trace, not just script completion: ```bash build/packtool print metadata.json calendar.api | rg 'VK_ANDROID_frame_boundary|VK_EXT_frame_boundary' build/lava-print calendar.api | rg 'vkFrameBoundaryANDROID|vkCreateDevice' ``` For missing output or layer failures, inspect logcat for `VkLayer_lavatube`, `vulkan`, `dlopen`, and `lavatube`. If ADB waits indefinitely, establish that an emulator has booted before retrying. Report capture/metadata verification separately from replay validation.
View on GitHub