Skip to content

[Package]: Oboe #29318

@ferrumclaudepilgrim

Description

@ferrumclaudepilgrim

Why is it worth to add this package?

Oboe is Google's C++ library for high-performance audio on Android. It wraps AAudio (Android 8.1+) with automatic fallback to OpenSL ES on older devices, handling vendor-specific quirks internally.

PulseAudio's SLES (OpenSL ES) backend has vendor-specific linking failures on a growing number of devices, each requiring a different LD_PRELOAD workaround:

In #28861, the suggestion was to modify the SLES backend to use Oboe instead, since Oboe handles backend selection and vendor quirks internally. This is the same direction discussed in #29074 (the AAudio
source module PR, currently open), where the longer-term path of rewriting both PulseAudio backends with Oboe was raised.

I have a working build.sh that builds on all 4 architectures in the termux-packages Docker environment and passes on-device verification on two devices (Samsung S26 Ultra on Android 16 and Google Pixel 10
Pro on Android 17 Beta). I would like to submit a PR adding Oboe as a package if the maintainers are open to it.

Scope would be the Oboe library only. PulseAudio Oboe backend modules would be a separate follow-up PR.

Home page URL

https://github.com/google/oboe

Source code URL

https://github.com/google/oboe

Packaging policy acknowledgement

  • The project is actively developed.

  • The project has existing packages and is "well known".

  • Licensed under an open source license.

  • Not available through a language package manager: cargo, cpan, dotnet tool, gem, npm, pip, etc.

  • Not taking up too much disk space (< 100MiB per architecture, exceptions can be made)

  • Not duplicating the functionality of existing packages.

  • Not serving hacking, malware, phishing, spamming, spying, ddos functionality.

  • I certify that I have read Termux Packaging Policy and understand that my request will be denied if it is found lacking.

Additional information

I have a working build.sh that compiles cleanly on all 4 architectures in the termux-packages Docker environment. Tested on device (Samsung S26 Ultra, Android 16 and Google Pixel 10 Pro, Android 17 Beta).

Build notes:

  • Builds shared library only (BUILD_SHARED_LIBS=ON)
  • Includes hand-written pkg-config and CMake config files (upstream does not provide install(EXPORT) or .pc templates)
  • Upstream sets -Ofast in Release builds, which triggers a deprecation warning on current clang. I did not patch it to minimize divergence.

Happy to adjust the recipe to whatever conventions maintainers prefer.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions