[EXPERIMENTAL] CoreELEC 22 · samurihl DV build (20260803202836)
Pre-release⚠️ 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-20260803114520
(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 crash‑class fixes and three Blu‑ray playback fixes. Boxes that rebooted at
random during Dolby Vision playback should stop doing so, and the DTS sync problem
the last release claimed to fix is now actually fixed — see the correction below.
⚠️ 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.
⚠️ Correction to the last release: the DTS fix did not work
The previous release said DTS soundtracks "no longer drift out of sync". They did.
Testing a DTS‑HD MA title on that build measured the same whole‑frame corrections at
the same rate as before — about twelve an hour, each one a visible frame of desync.
The description of the symptom in those notes was accurate. The diagnosis was not,
and so neither was the fix. Apologies — that release should not have gone out claiming
a fix that had not been measured on a box.
What follows is the real cause, found by comparing against CE21 builds, which never
had the problem.
🔊 DTS audio sync — the actual fix
The symptom is unchanged from the last notes: on DTS and DTS‑HD soundtracks the
picture would jump a whole frame every few minutes, then jump back, and never settle.
Dolby audio (AC3, E‑AC3, TrueHD/Atmos) was unaffected.
What was actually wrong. When the player needs to correct audio/video sync on this
path, the only correction it has is to move the picture by one whole video frame —
about 42 ms at 24p. It only does that when the error exceeds a threshold. This build
had narrowed that threshold to +20/−27 ms, which is smaller than the correction
it triggers. So every correction overshot to the far side of the window and left the
error sitting a few milliseconds from the opposite edge — which the next bit of drift
immediately tripped again. It could never settle, by construction.
Stock CoreELEC and CE21 builds use a 50 ms threshold. Correcting a 50 ms error with
a 42 ms step leaves about 8 ms — near zero — so the next correction is a whole drift
cycle away. That is why CE21 builds (and stock) never showed this and only CE22 ones
did: the narrowed threshold was carried over from a CE21 feature where it was
opt‑in, and made unconditional here.
The fix restores the 50 ms threshold. The previous release's change — tightening
the DTS codec's own tolerance to 10 ms — has been reverted, because measurement
showed the error still reached 27 ms with it in place, proving the codec was never the
source. The audio path now matches the configuration CE21 and upstream have shipped.
DTS was simply the codec that exposed it: TrueHD gets sub‑frame timing from its MAT
packing and AC3/E‑AC3 errors stay small, so none of them ever reached the threshold.
💥 Random reboots during Dolby Vision playback
The symptom. The box reboots, with no warning and no Kodi crash log, during Dolby
Vision playback. It could happen minutes in or hours in, and seeking around a title
made it more likely. If you looked, dmesg had a line about the kernel stack being
"corrupted" in the Dolby Vision module just before the reboot.
What was wrong — and it was never really a crash. Amlogic's dovi.ko is compiled
against Android's kernel, and it hard‑codes an address inside a kernel structure to
find its stack‑protection value. CoreELEC's kernel puts that value 136 bytes
elsewhere. So the module was reading an unrelated field and treating it as its
safety check. That field happens to be a list pointer that legitimately changes
whenever an unrelated process exits on another CPU core — and when it changed at the
wrong moment, the module concluded its stack was corrupt. Nothing was ever actually
corrupt. Because this all runs inside the display interrupt, the false alarm was fatal
and took the box down.
Two kernel safeguards that should have caught the mismatched module both let it
through: the version check skips the kernel version string for modules like this one,
and the checksum mismatch it does detect is configured to warn and continue.
The fix. This build corrects the address in memory at boot, before the module is
loaded. Your downloaded dovi.ko is never modified — a corrected copy is built in
RAM and used for that boot only. Nothing is written to disk, so if you switch to
another build there is nothing left behind to break it. If anything about your setup
is unexpected, it leaves the module completely alone and behaves exactly as before.
Validated over an hour of continuous Dolby Vision playback with zero events, on two
different boxes.
📀 Blu‑ray fixes
ISOs with copy protection intact would not play at all. A Blu‑ray ISO that still
contains its AACS/ directory failed to open in every non‑menu mode — "Play main
movie", "Show simplified menu", Automatic once a playlist is stored, and any resume.
Playback aborted outright. Only full menu mode worked.
Audio track changes did not stick. Outside menu mode, choosing a different audio
track appeared to work and was then silently reverted about a quarter of a second
later — the disc's own choice reasserted itself on every packet. Affected the same set
of modes as above.
Subtitle track changes and show/hide did not stick. The same defect on the subtitle
side, with the same cause and the same fix.
Known limitations
- On a long title you may still see the picture step by one frame, roughly once every
half hour. This is expected, it is not the bug above returning, and stock CoreELEC and
CE21 builds do it too. Your box's video clock and your AVR/TV's audio clock are separate
crystals and drift apart by about 20 parts per million — around 72 ms per hour. With a
bitstreamed soundtrack (DTS, TrueHD) the audio cannot be stretched to absorb that, so
once the error reaches 50 ms the player closes it in one frame. Measured on a 42‑minute
title: exactly one correction, with the drift rate identical before and after it, which
is what tells you it is absorbing drift rather than oscillating. The old bug did this
about twelve times an hour and each correction caused the next; this does not. - Dolby Vision requires
dovi.ko, which is not bundled. Install it as you would on
stock CoreELEC 22; this build corrects it at boot without modifying your copy. - The Dolby Vision reboot fix applies to boxes running this build's kernel. Other
CE22 builds carrying the same module have the same underlying issue.
Source
- CoreELEC (distro):
SamuriHL/CoreELECtagv22.0-samurihl-20260803202836 - Kodi:
SamuriHL/coreelec-xbmctagv22.0-samurihl-20260803202836
Checksums (SHA256)
bf12ba63178e2b9cf514c55afafefe3111d39e8c1f5026dd0ffa503eb28428dd CoreELEC-Amlogic-no.aarch64-22.0-Piers-samurihl-EXPERIMENTAL_20260803202836.tar
b8bd9e08c2ea9a7681c0bc85420b8c743817bc8841365a0d645038ca08890fde CoreELEC-Amlogic-no.aarch64-22.0-Piers-samurihl-EXPERIMENTAL_20260803202836-Generic.img.gz