Edit: I should have mentioned, I accomplished this on ayufan's debian images, not any libreELEC ones, with a ROCKPRO64, not a rock64, sorry about the confusion. I bet the majority of these things are similar though.
I flashed bionic-minimal-rockpro64-0.7.11-1075-arm64.img.xz
And then downgraded it to kernel 4.4.138 of my own building.
4.4.154 is messed up for me, at least on ayufan.
( Small note: I use "joe" as my editor. You might be using "nano". I don't know how to use any other editors than joe, so I can't tell you commands for your editor. )
First, make sure you are able to mount your boot device (emmc or SD card) filesystem on another Linux system, because if your system crashes from making this change, you won't be able to get back in to undo the changes.
To recover from this, you would have to mount partition 7 on another system and edit /boot/extlinux/extlinux.conf to either point to the original devicetreedir of /boot/dtbs/4.4.x-stuff/ or to point fdt to your backup copy of /boot/dtb-4.4.x-stuff.
- - - -
Backing up current settings:
Run dtedit
That will launch your current default editor.
Don't make any changes, just immediately exit the editor.
That will cause ayufan's scripts to send your current DTB to a file in /boot
Now please ls -al /boot and see if you see a file called /boot/dtb-4.4.x-stuff (where "stuff" is whatever your filename is, I don't know it since I built my own.)
Make a backup of that file.
cp /boot/dtb-4.4.x-stuff /boot/dtb-4.4.x-stuff-WORKING
Also note the "source" file is there too, only difference is the "s" in the filename:
/boot/dts-4.4.x-stuff
Also make a backup copy of that source file if you want.
- - -
The main event:
Now use your editor and edit the source for the dtb:
/boot/dts-4.4.x-stuff
While editing that file, search for rkvdec
Within the rkvdec braces { }, find status = "disabled"
And change that to status = "okay"
Save and exit the editor.
ayufan's scripts will automatically recompile the changes into /boot/dtb-4.4.x-stuff
(You did back yours up first right?)
Now you may want to edit /boot/extlinux/extlinux.conf
And make sure there aren't multiple kernels, and make sure that the fdt line is present and points at that file.
----------
RECOVERY IF IT FAILS:
Here is my entire extlinux.conf so you can compare to your own.
My device hostname is called 'kodiplex' since I was building both of those programs, and my customized 4.4.138 kernel is tagged 'kodiplex' too so it is literally version "4.4.138-kodiplex" for me, just ignore that and substitute with the proper ayufan name and version that yours is.
If your extlinux.conf is using "devicetreedir" instead of "fdt" then your edit will NOT take effect
The below is what it looks like for me, with the edit in place, working.
If yours doesn't boot, scroll down to the next code block and fix the fdt line like I show below:
timeout 10
menu title select kernel
label kernel-4.4.138-kodiplex
kernel /boot/vmlinuz-4.4.138-kodiplex
initrd /boot/initrd.img-4.4.138-kodiplex
fdt /boot/dtb-4.4.138-kodiplex
append rw panic=10 init=/sbin/init coherent_pool=1M ethaddr=${ethaddr} eth1addr=${eth1addr} serial=${serial#} cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory swapaccount=1 root=LABEL=linux-root rootwait rootfstype=ext4
The line you should fix in extlinux.conf if your system fails to boot is the fdt one, you'd set it to point to the "WORKING" copy that you made before editing all of this:
fdt /boot/dtb-4.4.138-ayufan-stuff-WORKING
Alternatively, if /boot/dtbs/ is present, you could delete the whole "fdt" line and replace it with a "devicetreedir" line to get your system back to normal again:
devicetreedir /boot/dtbs/dtb-4.4.138-ayufan-stuff/
! All your mileage may vary, since I quit using a lot of ayufan's automation/packages and began building my own kernel and software !