Skip to content

[EXPERIMENTAL] CoreELEC 22 · samurihl DV build (20260721183344)

Pre-release
Pre-release

Choose a tag to compare

@SamuriHL SamuriHL released this 21 Jul 22:39
· 495 commits to samurihl-ce22 since this 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.gz to an SD card or USB with
    balenaEtcher (or the Amlogic USB Burning Tool for eMMC), then boot from it.
  • In-place update: copy the *.tar to the /storage/.update folder 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-20260721094610
(see that release and its predecessors for the standing feature set: VS10 on
non-DV displays, VSVDB override, tone-mapping target controls, disc-menu
playback, the disc-menu review + libbluray BC fix, reference-player capability
registers). The headline this time: HDR10+ discs and files can now be played
as Dolby Vision
, with real per-scene tone-mapping — plus a cluster of
black-screen and playback-wedge fixes on Dolby Vision discs, and a fix for
the DV settings menu going missing on some boxes.

⚠️ 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.


🎬 New: play HDR10+ as Dolby Vision (real-time HDR10+ → DV 8.1)

HDR10+ content — discs and files — can now be converted to Dolby Vision
profile 8.1
on the fly. Instead of your display falling back to HDR10's single
static tone curve, the player reads the HDR10+ dynamic metadata and builds a
Dolby Vision RPU from it, so the Dolby Vision engine does scene-by-scene
tone-mapping — the whole point of dynamic HDR.

  • What it does: turns an HDR10+ stream into a valid DV 8.1 stream. The picture
    itself is untouched (HDR10+ and DV 8.1 share the same BT.2020 / PQ base image) —
    only the dynamic tone-mapping metadata is added, so there's no color-space
    conversion involved.
  • Works on files and discs. The converter confirms HDR10+ from the actual
    bitstream before engaging, so a plain-HDR10 title with no HDR10+ metadata just
    plays as HDR10 — it never gets falsely flagged as Dolby Vision.
  • Off by default. Enable Settings → System → "Convert HDR10+ video to DV
    profile 8.1 during playback"
    (Advanced settings level). A second control,
    Peak Brightness Source, chooses how per-scene peak brightness is derived.
  • Requires a Dolby-Vision-capable box and display. Validated on-device: the DV
    core engages off the synthesized metadata and updates the tone-map per scene.

(Credit: the conversion is ported from pannal's HDR10+→DV implementation and
adapted to the CE22 / HW5 Dolby Vision path. This is new and needs eyes — see
"How to help".)

📺 Dolby Vision titles now offer HDR10 output on non-DV screens

If you run a Dolby-Vision-capable box into an HDR10 (non-DV) display, the
per-source "Dolby Vision video" output picker previously only offered SDR
there was no way to send HDR10, so DV movies were stuck downconverting to SDR.
It now offers HDR10 whenever your panel accepts it, so DV sources map to
HDR10 on those displays instead of SDR.

🛠️ The DV / VSVDB settings menu no longer goes missing

Some users found the entire Dolby Vision settings block (VS10, VSVDB override,
Smart CMv4.0, L5) absent. The cause was a boot-timing race: the check for
Dolby Vision hardware support ran once at startup, and if the DV kernel
module hadn't finished coming up at that instant, the box was treated as non-DV
and every DV setting stayed hidden until the next reboot. The support check is
now resilient to that race — it waits briefly for the hardware to report in and
never latches a premature "no", so the menu shows up reliably. (A genuinely
non-DV display was already handled and was never the cause.)

⬛ Black video fixed on dual-layer DV discs at menu entry and seeks

On profile-7 (dual-layer) Dolby Vision discs, entering a title from a menu — or
seeking within one — could play black while audio ran normally. The disc's
index only tracks the base layer, so a windowed entry or a seek cut off the
enhancement-layer data for the target frame; the enhancement decoder then
started mid-scene and Dolby Vision composed a black picture for the rest of the
session. Two coordinated fixes: libbluray now recovers the enhancement-layer
frame
at those entry points, and the player pairs the two layers strictly by
timestamp
(discarding true orphans) instead of blindly alternating. Validated
on the Spears & Munsil UHD Benchmark Disc 2 demo/montage titles, which were
black on every entry before.

⬛ Black screen fixed on mixed DV + HDR10 discs

Discs that mix Dolby Vision demos with native HDR10 titles (again, the S&M
UHD Benchmark) could go black when you selected an HDR10 title: the box had
pre-engaged Dolby Vision for the disc and held the DV HDMI signal, so a native
HDR10 decode played under a stuck DV signal — a black screen that survived a
Kodi restart and needed a full reboot. Dolby Vision engagement now follows the
title you actually selected
, releasing the DV hold when a non-DV title opens.

🔧 Disc playback no longer wedges on non-zero-start timelines

On discs whose timeline doesn't start at zero (the S&M menus live around the
600-second mark), a flush during a menu/title transition could leave the
playback clock synced to 0 against frames stamped minutes ahead — the renderer
waited forever and playback locked up. The player now defers clock sync until a
stream reports a real start time
(bounded so it can never hang), fixing the
wedge.

🔩 Under the hood

  • libbluray HDMV capability compare (BC) aligned with upstream MR 76. A
    follow-up to last release's BC-instruction fix, adopting Hendrik Leppkes'
    exact expression from the upstream merge request. All known discs test one
    capability bit at a time, where the two forms are identical — this keeps us in
    lock-step with upstream once it merges.

How to help

The new HDR10+ → Dolby Vision path especially wants real-world eyes: enable
it, play HDR10+ titles (files and discs), and check that dark scenes and bright
highlights tone-map cleanly with no flashing at scene cuts, no crush, and no
black-outs — then compare against the same title's native HDR10. Also still
wanted: the dual-layer DV disc entry/seek cases above on discs beyond the S&M
benchmark, and the standing target-luminance / FEL / TrueHD-sync checks from
earlier releases. When something misbehaves, grab a debug log
(kodi-send --action=ToggleDebug, or the overlay-free advancedsettings.xml
loglevel), note the disc/title, and report it. "Worked perfectly" reports help too.

Known rough edges (still open)

  • VC-1 discs still don't play (endless busy spinner) — known, open.
  • 3D Blu-rays (MVC) don't decode — known, open.
  • A ~1/3-second stream-start trim remains at title start (matches stock player).
  • The HDR10+→DV conversion is brand new and unvalidated beyond initial on-box
    testing; deep-shadow tone-mapping in particular is worth a critical eye.

Install

  • Clean install: flash the Generic *.img.gz (SD/USB via balenaEtcher, or the
    Amlogic USB Burning Tool for eMMC).
  • Update in place: drop the *.tar in /storage/.update and reboot.
  • Verify your download against the SHA256 sums below before flashing.
  • On other Amlogic-no boards (Odroid / Khadas / Radxa): use the *.tar update, or
    your board's own image.

Source

  • CoreELEC (distro): SamuriHL/CoreELEC tag v22.0-samurihl-20260721183344
  • Kodi: SamuriHL/coreelec-xbmc tag v22.0-samurihl-20260721183344

Checksums (SHA256)

947574139dbbfccddf679c22b839c716ac083d53e1d9c63f10a82266e2e62261  CoreELEC-Amlogic-no.aarch64-22.0-Piers-samurihl-EXPERIMENTAL_20260721183344.tar
07f2dc2bed3f26f1fcc00e9c68d6322a79a9283b3d9c404bac63c2d5b169fe92  CoreELEC-Amlogic-no.aarch64-22.0-Piers-samurihl-EXPERIMENTAL_20260721183344-Generic.img.gz