I’ve been fortunate to be able to piggyback off all the progress that was made getting Dolby Vision working on the Ugoos am6 & Minix u22xj by the CoreELEC team.
Dolby Vision (including DV FEL) is working on the FireTV 2nd gen Cube (s922x) in CoreELEC (cube development thread). The notable difference between the Cube and am6/u22xj is that it uses a 64bit kernel and DV module, allowing use of the main CE-NG 20/21 build line.
There isn’t any advantage to using the main CE build line unless you are using an add-on that requires a 64bit kernel. And a DV certified SOC is still required.
It’s possible that the Cube’s 64bit DV module could work on the am5/u22xj so I wanted to make a post for anyone interested in investing further. There has already been some preliminary testing of the Cube’s module on the u22xj, and while it loads, the screen is black during DV playback (DV status flag appears). Even on the Cube, the OSD (player controls and subtitles) are all black during DV playback.
To avoid violating any site rules, I’m sharing a direct firmware link to Amazon’s server. The DV module is located within at /vendor/lib/modules/dovi_vs10.ko.
Procedure for extracting the module in Linux
-
download the firmware bin, and rename .bin to .zip
-
unzip the following files from the firmware file:
vendor.new.dat.br
vendor.patch.dat
vendor.transfer.list -
Decompress brotli file (.br file) to sparse image (.dat file)
Install brotli [sudo apt-get install -y brotli].
brotli -d vendor.new.dat.br
- Convert sparse image to ext4 image (*.img file)
Download sdat2img
python sdat2img.py vendor.transfer.list vendor.new.dat vendor.img
- Mount ext4 image, and copy DV module /mnt/vendor/lib/modules/dovi_vs10.ko
sudo mount -t ext4 -o loop vendor.img /mnt
- Unmount image when done
sudo umount /mnt
Loading the DV module in CoreELEC
-
Download the latest nightly for CE-NG 20.4 or 21.
-
Rename the extracted dovi_vs10.ko file, to dovi.ko and place it at /storage/dovi.ko on the CE USB stick. This will supersede dovi.ko on the am6/u22xj vendor partition. Reboot.
dovi will be listed under lsmod, and DV options will appear under Settings/System/CoreELEC/ if the module has successfully loaded. All the DV code from CE-NG-DV is present in CE-NG and will be active when the DV module is loaded.
Kernel source code for the 2nd gen Cube can be found here.