⚠️ EXPERIMENTAL · UNSUPPORTED · USE AT YOUR OWN RISK
This is an unofficial, experimental CoreELEC 22 build. It is NOT an official
CoreELEC release and it is NOT a supported CE22 port. I am not a CoreELEC 22
port maintainer, and I will not be providing support, bug fixes, updates, or
ongoing maintenance for this build.
The only purpose of this build is to give Amlogic AM9 Pro-class users a more
complete Dolby Vision experience than stock CoreELEC 22, by carrying a set of
custom Kodi features I built for my own device. That is the entire scope.
READ THIS BEFORE YOU FLASH ANYTHING
- USE ENTIRELY AT YOUR OWN RISK. There is no warranty of any kind, express
or implied. It may fail to boot, misbehave, break Dolby Vision, or do nothing
useful on your hardware. - BACK UP YOUR CURRENT INSTALLATION FIRST. Take a full CoreELEC backup
(Settings → CoreELEC → Backup) and/or image your existing boot media before
you install anything from here. Assume you may have to restore it. - Prefer a SEPARATE SD card or USB stick you can boot from, instead of
overwriting a working internal (eMMC) install. - Do NOT report problems with this build to the CoreELEC team or forums.
This is not their build; it is not their responsibility. Do not ask them to
support it. - I am also not offering support. If it breaks, you keep both pieces.
By downloading or using any file in this release you accept all of the above.
Install
- Clean install (recommended): flash the
*.img.gzto an SD card or USB with
balenaEtcher (or the Amlogic USB Burning Tool for eMMC), then boot from it. - In-place update: copy the
*.tarto the/storage/.updatefolder on an
existing CoreELEC install and reboot. (Back up first — see above.) - Verify your download against the SHA256 sums below before flashing.
What's changed in this update
This is an incremental update to
v22.0-samurihl-20260809151125
(see that release and its predecessors for the standing feature set: Blu‑ray disc
menus, HDR10+ → Dolby Vision conversion, DV → HDR10 that stays in HDR10, FEL
profile‑7 reconstruction on non‑DV displays, VS10 output on non‑DV displays, VSVDB
override, tone‑mapping target controls).
Two Blu‑ray fixes — one of them a regression this build introduced two releases
ago — and one audio sync fix for DTS and TrueHD.
⚠️ Still experimental and completely unsupported — see the disclaimer above.
Back up your current install before flashing.Dolby Vision still requires
dovi.ko(the CE22 5.15 build) installed on your
device — it is not bundled; install it yourself as on stock CoreELEC 22. You do
not need to modify it — this build corrects it automatically at boot.
📀 The end of a title was being cut off when a disc returned to its menu
The symptom. You are watching something from a Blu‑ray's own menu. It reaches
the end, the disc returns to its menu — and the last few seconds never played. On
demo and compilation discs, where short clips hand back to the menu repeatedly, it
looks like every clip is clipped short. It is easy to write this off as just how a
particular disc behaves.
What was wrong. When playback crosses between a menu and a title, the player has
to decide what to do with the video it has already read ahead into memory. If you
pressed the Menu button, you have abandoned what was playing and that read‑ahead
should be thrown away, so the menu appears immediately instead of after another
twenty seconds of a film you have walked away from. But if the disc returned to its
menu on its own, that read‑ahead is the ending — and it has to be played out.
The check for "has the viewer pressed Menu recently?" was broken in a way that always
answered yes. It compared the current time against a marker meaning "never", and
that comparison silently overflowed and produced a nonsensical result that read as
"pressed it a moment ago". So the read‑ahead was discarded every time — every natural
return to a menu lost the end of whatever was playing.
Pressing the Menu button once, anywhere in a session, replaced the "never" marker
with a real time and the behaviour corrected itself twenty seconds later. That is
why it came and went, and why it was never reproducible on demand.
How long it has been there. Since 21 July, in every release since. Reviewing
debug logs from the box found it happening ten times across four viewing sessions
on 28 July and 4 August, on both menu types (HDMV and BD‑J). It never produced an
error, a crash or a warning — the only evidence was content quietly ending early.
Verified fixed on a Spears & Munsil disc that had always cut its clips short:
the clip now plays to its end and hands off to the menu cleanly. Pressing Menu
mid‑playback still drops the read‑ahead as it should, so menus still open promptly.
📀 Concert and compilation discs list all their tracks again
The symptom. On a disc where nothing is longer than about half an hour — concert
discs, featurette collections, calibration and demo discs — Kodi's Blu‑ray title list
showed only one or two entries instead of the whole disc.
This one is ours, and it is recent. It was introduced in
20260808164352 and also affected 20260809151125. If you were on either of those,
this is the fix.
Those releases corrected a real problem in the opposite direction: during a library
scan such a disc was being added as a single movie with dozens of "versions", one per
playlist. The correction worked, but it also applied to the interactive title list,
which wants the opposite — there, showing the whole disc is the entire point. Both
requests looked identical to the code underneath.
The two now state what they want separately: browsing a disc lists everything, while
a library scan keeps the narrow set that stopped the version explosion. Neither
behaviour is a compromise between the two.
🔊 DTS and TrueHD could sit permanently out of sync, by up to about 80 ms
The symptom. On a DTS, DTS‑HD MA or Dolby TrueHD soundtrack, sound could sit
slightly out of step with the picture and stay there for the whole title. Seeking
re‑rolled it — sometimes better, sometimes worse — which made it feel random. Kodi's
own debug statistics showed nothing wrong.
What was wrong. When bitstreamed audio starts or restarts, the player needs a
starting value for its internal clock. It was taking an estimate — the current
timestamp plus however much delay the audio device reported at that instant — and
treating it as authoritative. Whatever error that estimate happened to carry was then
baked in permanently.
Stock Kodi uses that same estimate, but only as a temporary stand‑in, replacing it
with the real timestamp from the disc as soon as one arrives. This build had promoted
the stand‑in to the real thing.
The error could not correct itself afterwards: the safety net that pulls a drifting
clock back ignores anything under 100 ms on DTS and TrueHD, and the reported
sync error is calculated from the same clock, so a constant offset cancels out of the
measurement exactly. That is why this never appeared in the statistics, and why it
was never seen on Dolby Digital, whose threshold is 10 ms.
The fix keeps the estimate as an immediate stand‑in — there must be a usable clock
if the next frames carry no timestamp — but re‑seeds from the disc's own timestamp as
soon as one arrives, which is exact rather than estimated.
Measured on a Ugoos AM9 Pro with DTS‑HD MA, same title and same nine seek points
before and after:
| worst offset | past the ~45 ms audible threshold | sync corrections | |
|---|---|---|---|
| before | 77.5 ms | 1 of 9 | 7 |
| after | 0.9 ms | 0 of 9 | 0 |
The problem was always in the tail rather than the average, which matches how it was
reported: intermittent, clearly audible when it landed, and gone after a seek.
🔍 Under the hood: two blind spots closed
Both fixes above were hidden by the same thing — the code made a decision and left no
record of it. Two traces were added, and neither changes playback.
Blu‑ray menu transitions now log which decision was taken and why
(BD queue decision - title->menu with no recent user menu call - draining the feature tail). The inputs were previously impossible to reconstruct from a log, because the
internal "in a menu" flag is set from two different events and only one of them says
"menu" in its name. That ambiguity caused two wrong diagnoses while this was being
chased.
Audio sync now records the standing offset about once a second whenever audio
debug logging is on, instead of only at the instant a correction fires. Everything
below the correction threshold was previously silent by construction — which is
exactly where the fault above lived.
A third trace covers Blu‑ray Java (BD‑J) menu graphics. The player expires a menu
image shortly after the disc stops redrawing it, to clear leftovers that some discs
never clean up themselves. Which images qualify is decided by how fast they are being
redrawn rather than by what they are, so a fast‑animating menu that settles into a
static screen could in principle be cleared while still meant to be on screen. That
has never been seen on any disc tested, and nothing about the behaviour has changed —
but if a menu ever does vanish, the log will now say so plainly instead of leaving it
a mystery.
Source
- CoreELEC (distro):
SamuriHL/CoreELECtagv22.0-samurihl-20260810192712 - Kodi:
SamuriHL/coreelec-xbmctagv22.0-samurihl-20260810192712
Checksums (SHA256)
18012b11d26b6a4780aed678ddf3fdb9d7c275f2a65161c8cf6affe784bc3c48 CoreELEC-Amlogic-no.aarch64-22.0-Piers-samurihl-EXPERIMENTAL_20260810192712.tar
f9e98f1b86445f001c49ad9702ed26a472d9a5aea80ce3a3e26a651640f3a3e4 CoreELEC-Amlogic-no.aarch64-22.0-Piers-samurihl-EXPERIMENTAL_20260810192712-Generic.img.gz