⚠️ 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 update follows
v22.0-samurihl-20260923134829.
It changes how Blu‑ray subtitles and disc menus are drawn on HDR output. PGS subtitles
now show their authored colours on native HDR10 output. HDR disc menus are no longer
clipped to GUI white. BD‑J menu animations run smoothly again.
⚠️ 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.
🛠️ Fixed: PGS subtitle colours wrong on native HDR10 output
With HDR10 or HDR10+ sent to the TV natively (Dolby Vision VS10 HDR10 set to
Off), Blu‑ray (PGS) subtitle colours could come out wrong. On a colour‑bar test
pattern, yellow showed as red and neighbouring shades of red merged into one. Thanks
to the user who reported it.
The cause. On that route the box's video hardware converts the whole GUI layer from
SDR to HDR on its own. HDR‑authored subtitle colours, including anything brighter than
SDR white or outside the SDR colour range, could not survive that conversion.
The fix. A small kernel change adds a switch that lets Kodi's own HDR GUI pass
through that stage unchanged. This is the same GUI output the Dolby Vision route
already used. Kodi turns the switch on for native HDR10/HDR10+ output, and PGS reaches
the TV as authored. On the test chain (LG G6) the colour bars now match the Dolby
Vision route exactly. HLG output keeps the previous behaviour.
🛠️ Changed: HDR disc menus are shown as authored
On HDR and Dolby Vision discs, menu graphics (standard HDMV menus and BD‑J/Java menus)
used to be converted down to SDR and then back up to HDR with the GUI. That clipped
every colour at GUI white, about 200 nits, could shift hues, and made menu brightness
follow the HDR GUI brightness setting.
Menus now take the same route as HDR subtitles. On HDR output they are drawn exactly as
the disc authored them. On SDR output they are tone‑mapped to SDR while keeping their
hue. HDR GUI brightness no longer changes disc menus, which is intended.
🛠️ Fixed: BD‑J menus freezing, then popping in (e.g. Superman UHD)
While testing the menu change above, one BD‑J menu (Superman UHD) froze for about
four seconds when a menu clip changed. The background showed, and then the menu
appeared all at once instead of sliding in. HDR graphics were being drawn in a way
that stalled the box's GPU. They now get their own drawing surface, and the longest
pause between frames fell from about 3.7 seconds to 0.15 seconds.
The same work fixed a long‑standing choppiness in BD‑J menu animations. Java menu
graphics were tied to frames the decoder had not yet shown, about 0.7 seconds early
and in bursts. They are now drawn as they are at the moment each frame is displayed,
so animations run evenly.
⚠️ Still wanted
- SDR output. Subtitles and menus on SDR TVs, and Dolby Vision titles converted to
SDR, use the tone‑mapping route. That route was changed for menus and has not yet
been checked on screen. Reports welcome. - HDR disc menus in general. Brightness and colour now follow the disc instead of
the GUI setting. If a menu looks wrong compared to the previous build, a photo and a
debug log help.
Under the hood
- Kernel (common_drivers patch 0016): new amvecm parameter
osd_pq_passthrough,
default 0. When set, the OSDSDR_HDRprocess becomes a transfer/gamut bypass with
the BT.2020 RGB→YUV matrix. Kodi sets it only on native PQ output when the parameter
exists; older kernels keep the previous scalar‑trim route. - HDMV IG/PG palettes and BD‑J ARGB on PQ playlists are flagged
m_isHDROverlay(raw on
HDR out,ConvertPQPaletteToSRGBtone‑map on SDR out) instead of being pre‑inverted
throughPQGraphicsTransform. - Amlogic: HDR overlays render into a dedicated FBO that the GUI composite shader layers
under the GUI in one full‑screen pass. Before, they were drawn straight onto the OSD
back buffer, which stalled the Mali GPU for about 3.7 s on the first draw after a clip
change. - BD‑J ARGB flushes (libbluray pts −1) are marked present‑latest and picked up in
PrepareOverlayson every displayed frame. HDMV IG/PG and subtitles stay on the video
timeline. - PGS SDR‑peak 1.0 hold now applies only to a PQ‑coded palette drawn as‑is. A palette
converted to sRGB takes the GUI peak again.
Source
- CoreELEC (distro):
SamuriHL/CoreELECtagv22.0-samurihl-20260923165125 - Kodi:
SamuriHL/coreelec-xbmctagv22.0-samurihl-20260923165125
Checksums (SHA256)
f4daa2d553a9c249f745634073ddbfed615f3ed515e7bbdead435a9a9ddb204a CoreELEC-Amlogic-no.aarch64-22.0-Piers-samurihl-EXPERIMENTAL_20260923165125.tar
ceb721f89f969858636ede025d40d995af1acd333fd7ef2fd53f465be347fead CoreELEC-Amlogic-no.aarch64-22.0-Piers-samurihl-EXPERIMENTAL_20260923165125-Generic.img.gz