Dolby Vision - VS10 Engine on Ugoos AM6+

Cannot find any of your files.
Is it possible to share:
Train Night View Yamanote Line
Miyako Island - Healing Beach
Soratabi Okinawa Iyashi Drone Sightseeing
Planet4K - Our Planet in Ultra HD
Thank you.

Do you have a Plex account? If so DM me your email

I would love to see the videos too
but i havenā€™t figured out how to send dms on this forum :slight_smile:

kind regards,

Svein

Just found my problem, I havent reached trust level 1 so I cannot dm :\ hehe

I do not have a plex account.
I click on your username and cannot see any ā€œmessageā€
Nevermind, sorry to give you troubles.

Very cool!

@cpm I see that you have been commiting new code to your GitHub in amlogic kernel side.

I am barely making my first core elec build so itā€™ll take me some time to get up to speed.

I saw that amlogic-ng default options has Target_CPU = cortex-a53

The S922X has a cortex-a73.cortex-a53. Do you think compiling a CE build with big.LITTLE flag of target cpu in gcc 13 might further optimize your VS10 build for ugoos?

Edit: and my build failed at compiling xzā€¦ :frowning:

I wish that the CE build guide was a bit betterā€¦ I didnā€™t change anything i just ran the default build command @vpeter have you compiled successfully before?

package xz version 5.6.1 has been taken down.

Edited the ~/CoreELEC/packages/compress/xz/package.mk

PKG_VERSION="5.6.2"
PKG_SHA256="a9db3bb3d64e248a0fae963f8fb6ba851a26ba1822e504dc0efd18a80c626caf"

This is not the default CoreELEC github, I am using cpmā€™s CoreELEC.

EDIT: This is not the correct way. Using CoreELEC/CoreELEC is the correct way.

Donā€™t use the CoreELEC repo in my space use the CoreELEC/CoreELEC

I created it at the start whilst finding my way around but donā€™t use it, Iā€™ll delete it later to avoid confusion.

I create patch file (git diff) applied on CoreELEC/CoreELEC

Kicked off a build this morning and did see some issue around a dtb file doing a build but usually all good.

1 Like

Iā€™ll restart my build with CoreELEC/CoreELEC.

How do I get your amlogic-linux kernel source & your xbmc source to build a full image? Is there a guide that you have created?

First Goal Post: Keep cpm VS10 and DV features (the reason I bought AM6b+), tinker with optimization options.

Was trying out SmartGit splitting some commits and rewriting the history, so it is cleaner with each commit around a feature, not doing any feature change. So easier if come back to later on.

Actually not much in the linux-amlogic side a couple of commits, the vast majority of the change is in the xbmc (kodi) side - which is a bit of a monster currently will slowly chip away making that a smaller set of commits.


Most of the video work is typically done on the SoC specialist cores, but donā€™t see why cannot optimize the build to target the available CPU, for other tasks.


Have not created a guide, but in broad terms:

  • Get an ng build working using CoreELEC github repos first so know all good and have an update tar file.

  • Then create (git diff) patch files and place in the corresponding CoreELEC folder - can give you example of the command I run to do this this evening (my tz is GMT+8)

    • Patches are diff between the version used to build the coresponsing package in CoreELEC (xbmc, linux-amlogic etc.) normally that would be the head of the specific repo branch and your version of the same branch with the changes.

That would be tremendously helpful. Thank you

In the meantime, I hit a snag when compiling:

running configure fragment for sysdeps/unix/sysv/linux
checking installed Linux kernel header files... missing or too old!
configure: error: GNU libc requires kernel header files from
Linux 3.2.0 or later to be installed before configuring.
The kernel header files are found usually in /usr/include/asm and
/usr/include/linux; make sure these directories use files from
Linux 3.2.0 or later.  This check uses <linux/version.h>, so
make sure that file was built correctly when installing the kernel header
files.  To use kernel headers not from /usr/include/linux, use the
configure option --with-headers.
FAILURE: scripts/build glibc:target during configure_target (default)
*********** FAILED COMMAND ***********
${PKG_CONFIGURE_SCRIPT} ${TARGET_CONFIGURE_OPTS} ${PKG_CONFIGURE_OPTS_TARGET}
**************************************
*********** FAILED COMMAND ***********
${SCRIPTS}/build "${1}" "${PARENT_PKG}"
**************************************
FAILURE: scripts/install glibc:target has failed!

My <linux/version.h> file:

/usr/include/linux$ cat version.h 
#define LINUX_VERSION_CODE 328959
#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + ((c) > 255 ? 255 : (c)))

I have ran the DEVICE=Amlogic-ng make. I see the amlogic-4.9.0 tar file in my directory but it says kernel headers not found. I have linux-headers-5.15.0-119-generic and a few others when I see /usr/src

The beginning of the log is:

/home/keyrose/CoreELEC/build.CoreELEC-Amlogic-ng.arm-21/build/glibc-44f757a6364a546359809d48c76b3debd26e77d4/configure --host=armv8a-libreelec-linux-gnueabihf --build=x86_64-linux-gnu 

Irrelevant what you have on host. Try clean build.

Iā€™ll try again, third time is the charm!

1. DEVICE=Amlogic-ng make clean
2. DEVICE=Amlogic-ng make

Presuming you have the following:

~/CoreELEC

Typically containing the head of CoreELEC/CoreELEC branch coreelec-21

https://github.com/CoreELEC/CoreELEC/tree/coreelec-21

And your own branches which match the source branches used in coreelec-21 in:

~/media_modules-aml (e.g. a branch based on CoreELEC/media_modules-aml amlogic-4.9.269)
~/linux-amlogic (e.g. a branch based on CoreELEC/linux-amlogic amlogic-4.9-20)
~/xbmc (e.g. a branch based on CoreELEC/xbmc aml-4.9-21.2)

You can then create diff patches directly into the corresponding CoreELEC projects folders, diff between the upstream CE branch and your branch, for example:

~/media_modules-aml$ git diff ce-origin/amlogic-4.9.269 > ~/CoreELEC/projects/Amlogic-ce/packages/linux-drivers/amlogic/media_modules-aml/patches/dolby_vision-3.patch
~/linux-amlogic$ git diff ce-origin/amlogic-4.9-20 > ~/CoreELEC/projects/Amlogic-ce/devices/Amlogic-ng/patches/linux/dolby_vision-3.patch
~/xbmc$ git diff ce-origin/aml-4.9-21.2 > ~/CoreELEC/projects/Amlogic-ce/devices/Amlogic-ng/patches/kodi/dolby_vision-3.patch

Then run the build:

~/CoreELEC$ DEVICE=Amlogic-ng make


@MasterKeyxda:
Did a clean build yesterday from the heads - couple of items had to work around to get it working -

diff --git a/packages/network/avahi/package.mk b/packages/network/avahi/package.mk
index 837a889a83..58d0ef9ee2 100644
--- a/packages/network/avahi/package.mk
+++ b/packages/network/avahi/package.mk
@@ -57,7 +57,7 @@ PKG_CONFIGURE_OPTS_TARGET="py_cv_mod_gtk_=yes \
                            --disable-nls"
 
 pre_configure_target() {
-  NOCONFIGURE=1 ./autogen.sh
+  NOCONFIGURE=0 ./autogen.sh
 }
 
 post_configure_target() {
diff --git a/packages/network/wireguard-linux-compat/package.mk b/packages/network/wireguard-linux-compat/package.mk
index 34062eccd2..2509d1d123 100644
--- a/packages/network/wireguard-linux-compat/package.mk
+++ b/packages/network/wireguard-linux-compat/package.mk
@@ -4,7 +4,7 @@
 
 PKG_NAME="wireguard-linux-compat"
 PKG_VERSION="v1.0.20220627"
-PKG_SHA256="894f0e0792aa3cc74e93958c175f16ab7155b0049cec940a9000bf7971380f98"
+PKG_SHA256="963a6038c798c837e1c0341eca98e3037a34a699666c3b7fe63a56e35f231b5e"
 PKG_LICENSE="GPLv2"
 PKG_SITE="https://www.wireguard.com"
 PKG_URL="https://git.zx2c4.com/wireguard-linux-compat/snapshot/wireguard-linux-compat-$PKG_VERSION.tar.xz"
2 Likes

Chiming in, here. Iā€™m now running this build on my AM6 Plus with my AWOL Vision LTV-3500 projector. So far, its behaving well. I have enabled pretty much all of the toggles that show up in the CoreELEC options within Kodi settings. Everything I play now shows up as Dolby Vision, which I assume means that the VS10 engine is being leveraged. Iā€™m happy to do any testing requested.

On my Zidoo Z9X, there was a ā€œVS10ā€ logo that showed up on the screen for a few seconds when a video was started. Is there a way to confirm inside of CoreELEC?

Nice work on this. Itā€™s a little discouraging that its not a simple as just merging your changes into the main source, but its also understandable that open source projects are generally maintained and developed by a small number of volunteers. Hopefully over time there will be a way for the functionality to be integrated bit by bit into CoreELECā€™s core. Either way, Iā€™m delighted to be able to use these builds as a solution, even for a couple of years as it seems plenty stable now.

1 Like

The Zidoo VS10 logo topic has come up before, and this was the response at the time:

1 Like

Thanks, I missed that earlier in the thread. I sadly sold my HDFury about 6 months ago, though I do still have my Zidoo. If there is something I can do, Iā€™d be happy to.

You should upload them to PTP :slight_smile: you know, for the people!! I think I was able to find one there.

@cpm I did the wireguard-linux-compat yesterday too! Same change but I had a change in PKG_VERSION=ā€œv1.0.20220627ā€ PKG_VERSION=ā€œ1.0.20220627ā€ as well to get it working.

I donā€™t have your DV changes merged yet. It took 8 hours to build. I ran an AV1 file through the video player and I am seeing that the FPS is 160+ when the video is at 24 fps. I am thinking it is taking the AV1 file as a game/graphics file.

1 Like