[EXPERIMENTAL] CoreELEC 22 · samurihl DV build (20260803114520)
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 a small incremental update to
v22.0-samurihl-20260728200740
(see that release and its predecessors for the standing feature set: Blu‑ray disc
menus, PQ‑correct menu and subtitle graphics, 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).
One user-facing fix this cycle: DTS soundtracks no longer drift out of sync.
Everything else is an upstream package refresh.
⚠️ 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.
🔊 DTS audio no longer drifts out of sync
The symptom. On DTS and DTS‑HD soundtracks, audio and video gradually slid
apart. Every few minutes the player would notice and yank the picture a whole
frame to compensate — visible as a small hitch — then drift again, and the next
correction would go the other way. Seeking backwards made it look fixed for a
while because it reset the drift. It never actually settled.
Titles with Dolby audio (AC3, E‑AC3, TrueHD/Atmos) were unaffected, which is the
clue that led to the cause.
What was wrong. Two parts of this build's audio timing disagreed about how
tight is tight enough. The passthrough layer that re-times audio was allowing DTS
to wander up to 100 ms before doing anything about it, while the player above
it reacts to any A/V error beyond about 20–27 ms. A tolerance wider than the
gate it sits inside cannot ever settle: the audio clock roams inside its own slack,
trips the player's alarm, and the only correction the player has is to move the
picture by a whole video frame — about 42 ms — which overshoots to the opposite
edge. Then it happens again in reverse, forever.
The measurement that confirmed it: a 4‑hour DTS‑HD MA title logged 44 of these
whole-frame corrections, all exactly ±41708 µs, and the audio-vs-clock offset
wandered between −218 ms and −380 ms across the film. The E‑AC3 title played
immediately afterwards on the same box logged zero corrections and held its
offset flat at −135 ms ±1 ms.
The fix. DTS now uses the same 10 ms tolerance as AC3 and E‑AC3, which sits
comfortably inside the player's gate, so corrections stop being triggered at all.
- Applies to DTS, DTS‑HD MA, DTS‑HD and DTS core passthrough.
- TrueHD/Atmos deliberately keeps the wider tolerance. It shares the same
code path but never had the symptom, because its MAT packing supplies
sub‑frame timing information that DTS has no equivalent of. Its behaviour is
byte‑for‑byte unchanged. - AC3 and E‑AC3 were already at the tighter value and are unchanged.
This corrects the timing at its source rather than by loosening the player's sync
gate, which would have undone an earlier fix for slow passthrough drift.
not yet been confirmed on a long DTS title in the field — that is the main
reason this build exists. If you have a DTS or DTS‑HD title that used to drift,
please try it. With debug logging enabled you can check it directly: search the
log for CDVDClock::ErrorAdjust. Dozens of those lines over a film means the
problem is still present; near zero means the fix is working.
📦 Upstream refresh
Rebased onto current upstream CoreELEC. The Kodi side has no Amlogic-relevant
changes since the last release, but the distro side picks up a substantial batch
of package updates:
- libCEC 8.1.1, including an upstream fix for setups with multiple CEC
adapters - glibc 2.44, binutils 2.47, libtool 2.6.2, systemd 261.2
- mbedTLS 3.6.7, SQLite 3.53.4, libmicrohttpd 1.0.7, libdisplay-info 0.4.0
- refreshed bundled addons (system-tools, filebrowser, proftpd, oscam, ttyd,
squeezelite, fluidsynth and others) - removal of the unused p8‑platform / kodi‑platform packages
🧹 Under the hood
- The passthrough audio debug line now always reports which timing tolerance a
stream opened with (pt-dtshd: jitter threshold 10ms). It was previously
suppressed by a leftover condition from when this retiming was an optional
feature — it has been unconditional in this fork for a long time, and the
logging now says so.
🚧 Withdrawn before release
Two other changes were built this cycle and then removed again before this
release: a fix for dropped fractional refresh-rate switches, and a Dolby Vision
EDID override to allow 4K60 output on displays that under-report support. Both
were withdrawn after review found defects in them — including one that could have
hung the box, and one that could have left a display with no picture and no way
to reach the menu to undo it. Neither is in this build, in any form.
The underlying problems are real and are now much better understood; they are
listed under known limitations below and will be revisited properly.
Known limitations
Being explicit about what is not fixed:
- The DTS fix is not yet field-validated. See above — that's what this build
is for. - Fractional refresh-rate changes can still be dropped. When only the
fractional flag changes and the resolution stays the same, the switch may not
reach the display, so a 23.976 title can end up running on a 24.000 output (or
the reverse). The symptom is a repeated small stutter every ~40 seconds. The
cause is now understood; the attempted fix was withdrawn (above). - Re-plugging HDMI mid-playback drops the display to its preferred mode, and
nothing puts it back. Power-cycling an AVR during a 24p film can leave you at
2160p60 until you restart playback. - Occasional reboots during Dolby Vision playback are traced to the
dovi.ko
blob's own stack-protector reading a kernel structure offset that moved between
kernel versions, producing a bogus "stack corrupted" abort. It is a fault in the
closed-source module, not in this build, and there is no shipped fix here — a
candidate workaround is under test locally. - Graphics authored brighter than the GUI peak still clip. Raising
Settings → System → Display → GUI peak luminance raises the ceiling. - HDMV menu correction is validated on exactly one disc — the only one on hand
with HDMV menus on an HDR playlist. The SDR path is provably unchanged. - Player-led Dolby Vision cannot both lift shadows and keep letterbox bars
black — a hardware limitation confirmed on both G12B and S6. Display-led
(TV-led) output is unaffected. Set Level 5 (active area) mode to Source
for black bars, Zero for the shadow lift. - The CMv4.0 shadow improvement is display-led-first, for the same reason.
- Dolby Vision → HDR10 conversion can look over-bright if your display or EDID
advertises a peak at or above ~3000 nits. A cap is identified but not implemented. - A CoreELEC logo frame can still flash when a disc opens.
- 3D (MVC) and VC‑1 Blu-rays still don't decode. Both are upstream
Amlogic/CoreELEC limitations rather than anything this fork introduced.
Source
- CoreELEC (distro):
SamuriHL/CoreELECtagv22.0-samurihl-20260803114520 - Kodi:
SamuriHL/coreelec-xbmctagv22.0-samurihl-20260803114520
Checksums (SHA256)
b7f5e55a55939558886697ced8e98aa00014e50c1d0c9907c3266f20c5cd2c7c CoreELEC-Amlogic-no.aarch64-22.0-Piers-samurihl-EXPERIMENTAL_20260803114520.tar
dcf76cf4be6e0feca177d5699740ceeed731bf4f5332f8d52c04a2d4fe386b47 CoreELEC-Amlogic-no.aarch64-22.0-Piers-samurihl-EXPERIMENTAL_20260803114520-Generic.img.gz