Patch-maintenance repo for HiBy R1 Rockbox builds.
This repository does not vendor the full Rockbox source tree. Instead, it builds a HiBy R1 Rockbox release by:
overlay/patches/This patch set enables Bluetooth audio support for Rockbox on the HiBy R1, including:
It also includes a small USB/ADB patch so ADB is handled through the existing USB mode path.
On connect, Rockbox starts BlueALSA offering only SBC + AAC. This is deliberate: on the R1, BlueALSA's LDAC encoder negotiates a 96 kHz A2DP transport that the device cannot open for playback, which presents as "connected, but no audio." Restricting the offered codecs means the sink negotiates AAC (48 kHz), which plays cleanly. LDAC remains visible in the Codec menu but is not offered by the daemon on this hardware.
The audio data path uses a dedicated poll thread on a fixed interval, because BlueALSA does not implement ALSA async (SIGIO) handlers. (A poll-descriptor-driven variant was tried but regressed playback on this hardware, so the simple fixed-interval pump is used.)
usb mode setting, e.g. adb), which
reconfigures the gadget and interrupts audio. Charging while playing is not
currently supported; unplug and resume playback.patches/ — patch series applied on top of upstream Rockboxoverlay/ — new files not present upstreamscripts/build.sh — local reproducible build.github/workflows/ — CI and release automationbaseline/ — provenance for the captured on-device baselineA successful build produces:
rockbox.r1 — Rockbox firmwarebootloader.r1 — bootloaderr1_rb.upt — flashable update package, when a base r1.upt is providedrockbox-info.txt — Rockbox build infobuild-metadata.txt — build provenanceSHA256SUMS — checksums./scripts/build.sh
Artifacts are written to out/.
To also build a flashable .upt package:
R1_UPDATE_PATH=/path/to/r1.upt ./scripts/build.sh
Or:
R1_UPDATE_URL='https://example.invalid/r1.upt' \
R1_UPDATE_SHA256='<sha256>' \
./scripts/build.sh
If Rockbox is already installed, replace:
/usr/data/mnt/sd_0/.rockbox/rockbox.r1
with the built rockbox.r1, then reboot into Rockbox.
If a release includes r1_rb.upt, use that through the normal HiBy R1 local update flow.
For most users, r1_rb.upt is the simplest way to install a full packaged build.
GitHub Actions builds release artifacts automatically for version tags:
git tag v0.1.0
git push origin v0.1.0
22 commits
1 commits
C
72.1%
Shell
18.6%
Python
9.3%
Patch-maintenance repo for HiBy R1 Rockbox builds.
This repository does not vendor the full Rockbox source tree. Instead, it builds a HiBy R1 Rockbox release by:
overlay/patches/This patch set enables Bluetooth audio support for Rockbox on the HiBy R1, including:
It also includes a small USB/ADB patch so ADB is handled through the existing USB mode path.
On connect, Rockbox starts BlueALSA offering only SBC + AAC. This is deliberate: on the R1, BlueALSA's LDAC encoder negotiates a 96 kHz A2DP transport that the device cannot open for playback, which presents as "connected, but no audio." Restricting the offered codecs means the sink negotiates AAC (48 kHz), which plays cleanly. LDAC remains visible in the Codec menu but is not offered by the daemon on this hardware.
The audio data path uses a dedicated poll thread on a fixed interval, because BlueALSA does not implement ALSA async (SIGIO) handlers. (A poll-descriptor-driven variant was tried but regressed playback on this hardware, so the simple fixed-interval pump is used.)
usb mode setting, e.g. adb), which
reconfigures the gadget and interrupts audio. Charging while playing is not
currently supported; unplug and resume playback.patches/ — patch series applied on top of upstream Rockboxoverlay/ — new files not present upstreamscripts/build.sh — local reproducible build.github/workflows/ — CI and release automationbaseline/ — provenance for the captured on-device baselineA successful build produces:
rockbox.r1 — Rockbox firmwarebootloader.r1 — bootloaderr1_rb.upt — flashable update package, when a base r1.upt is providedrockbox-info.txt — Rockbox build infobuild-metadata.txt — build provenanceSHA256SUMS — checksums./scripts/build.sh
Artifacts are written to out/.
To also build a flashable .upt package:
R1_UPDATE_PATH=/path/to/r1.upt ./scripts/build.sh
Or:
R1_UPDATE_URL='https://example.invalid/r1.upt' \
R1_UPDATE_SHA256='<sha256>' \
./scripts/build.sh
If Rockbox is already installed, replace:
/usr/data/mnt/sd_0/.rockbox/rockbox.r1
with the built rockbox.r1, then reboot into Rockbox.
If a release includes r1_rb.upt, use that through the normal HiBy R1 local update flow.
For most users, r1_rb.upt is the simplest way to install a full packaged build.
GitHub Actions builds release artifacts automatically for version tags:
git tag v0.1.0
git push origin v0.1.0
22 commits
1 commits
C
72.1%
Shell
18.6%
Python
9.3%