Hallo zusammen,
nun hatte ich ein wenig Zeit, erfolgreich das Ausgabe-Plugin von zillerbaer und allen weiteren Schritte für ein rockpro64 durchzuführen!
Vielen Dank an zillerbaer , JoeBar , nafets227 , S:oren und allen weiteren die hier im Forum mit Tipps aushelfen ...
Hier meine Notizen, um ein VDR mit Ausgabe-Plugin zu installieren:
1. Distribution
Ich nutze Armbian mit Debian-Buster mit stabilen 5.10.y Kernel. Das findet man hier. Das Image lädt man hier.
Password für den User root: 1234 (wird beim ersten Login sofort geändert...)
Der Kernel, FFmpeg und VDR wird auf dem rockpro64 selbst gebaut....
2. Kernel
Was muss beim Kernel beachtet werden?
* Kernel-Version!
* Kernel-Patches von LibreElec
* Kernel-Konfiguration --> .config
Sehr viel mehr Details gibt es hier vom User JoeBar.
Welche Kernel-Version muss genutzt werden?
Siehe hier: https://github.com/LibreELEC/LibreELEC.tv/blob/master/packages/linux/package.mk#L31
Man muss also die Version: 5.10.47 nutzen. PKG_VERSION="5.10.47"
Hinweis: Ich baue alles im Home-Verzeichnis des genutzten Users, nicht als root den Kernel bauen!
cd ~
wget https://www.kernel.org/pub/linux/kernel/v5.x/linux-5.10.47.tar.xz
tar -xf linux-5.10.47.tar.xz
ln -s linux-5.10.47 linux
Kernel patchen!
git clone --depth=1 https://github.com/LibreELEC/LibreELEC.tv (Enthält die Kernel-Patches)
cd linux
touch patches.sh (Danke an zillerbaer für das Script)
mcedit patches.sh
#!/bin/bash
path="../LibreELEC.tv/projects/Rockchip/patches/linux/default/"
for datei in `ls ../LibreELEC.tv/projects/Rockchip/patches/linux/default`
do
case "$datei" in
*.patch) cat $path$datei | patch -p1 ;;
esac
done
sh patches.sh (Patches werden auf den Kernel angewendet)
Aktuell (Kernel 5.10.47) werden folgende Patches angewendet:
linux-0001-rockchip-from-5.11.patch
linux-0002-rockchip-from-5.12.patch
linux-0003-rockchip-from-5.13.patch
linux-0003-rockchip-from-next.patch
linux-0004-rockchip-from-list.patch
linux-0010-v4l2-from-list.patch
linux-0020-drm-from-5.11.patch
linux-0021-drm-from-list.patch
linux-1001-drm-rockchip.patch
linux-1002-v4l2-rockchip.patch
linux-1003-for-libreelec.patch
linux-2000-v4l-wip-rkvdec-vp9.patch
linux-2001-v4l-wip-rkvdec-hevc.patch
linux-2002-v4l-wip-iep-driver.patch
Alles anzeigen
Zusätzlich nutze ich noch den Patch rockpro64-5.10.diff - Danke an S:oren für den Patch!
Einspielen der .config-Datei, hier im Anhang … vielen Dank dafür an zillerbaer .
(Umbenennen von config-5.10.47.txt nach .config!
make oldconfig
oder
yes "" | make oldconfig
In der Datei /etc/apt/sources.list müssen die Source-Einträge Einträge deb-src .... aktiviert werden. Danach ein sudo apt update.
sudo apt install build-essential bc git wget bison flex libssl-dev make libncurses-dev
Für weitere Treiber im Menu auswählen:
make menuconfig
Kernel, Module und DTB-Module bauen... (dauert lange...)
make -j$(nproc) Image modules dtbs
sudo make modules_install
sudo make install
sudo mkdir /boot/dtb-5.10.47
sudo mkdir /boot/dtb-5.10.47/rockchip
sudo cp arch/arm64/boot/dts/rockchip/*.dtb /boot/dtb-5.10.47/rockchip/
cd /boot
sudo ln -s dtb-5.10.47 dtp
cd ~
Das /boot Verzeichnis sollte nun folgende Links auf den neuen Kernel 5.10.47 enthalten. (für Armbian, bei anderen Distris wird dies bestimmt ähnlich durchgeführt...)
ls -la /boot
...
lrwxrwxrwx 1 root root 11 Jul 21 20:40 dtb -> dtb-5.10.47
...
lrwxrwxrwx 1 root root 15 Jul 21 20:28 Image -> vmlinuz-5.10.47
...
lrwxrwxrwx 1 root root 15 Jul 22 22:00 uInitrd -> uInitrd-5.10.47
...
Reboot und mit neuem Kernel booten...
sudo reboot
Man sollte nun folgende Einträge vorfinden:
~$ dmesg | grep video
[ 7.491670] videodev: Linux video capture interface: v2.00
[ 7.575949] rockchip-iep ff670000.iep: Device rockchip-iep registered as /dev/video1
[ 7.622023] rkvdec ff660000.video-codec: Adding to iommu group 1
[ 7.639841] hantro-vpu ff650000.video-codec: Adding to iommu group 0
[ 7.642212] hantro-vpu ff650000.video-codec: registered rockchip,rk3399-vpu-enc as /dev/video3
[ 7.643126] hantro-vpu ff650000.video-codec: registered rockchip,rk3399-vpu-dec as /dev/video4
Als nächstes wird FFmpeg gepatcht und konfiguriert!
Gruß
Uwe