Rockchip has released bsp kernel 5.10 for rk356x and rk3588. Since multimedia support is not fully supported by mainline kernel, a legacy kernel would be good if you want h264/hevc hardware decode.
To make kodi support hardware decoding, you need:
1, ffmpeg supporting rkmpp. I've packaged it in my ppa: https://launchpad.net/~liujianfeng1994/+archive/ubuntu/rockchip-multimedia, which is based on the patch from https://github.com/JeffyCN/FFmpeg/.
2, kodi built with gles render system, which is also in my ppa
3, a gpu driver supporting gles. For rk356x you can use mainline panfrost driver. For rk3588 you can use panfork-mesa from my ppa: https://launchpad.net/~liujianfeng1994/+archive/ubuntu/panfork-mesa
I've tested that kodi can support hardware decoding on both 3568 and 3588. Here is the steps for rock5b to install kodi:
1, download the image I build with panfork-mesa and malig610 firmware: https://github.com/amazingfate/armbian-rock5b-images, and install it on your rock5b.
2, add my rockchip multimedia ppa: https://launchpad.net/~liujianfeng1994/+archive/ubuntu/rockchip-multimedia:
sudo add-apt-repository ppa:liujianfeng1994/rockchip-multimedia
3, create a udev rule to enable the permission ofrockchip's mpp device:
KERNEL=="mpp_service", MODE="0660", GROUP="video"
KERNEL=="rga", MODE="0660", GROUP="video"
KERNEL=="system-dma32", MODE="0666", GROUP="video"
KERNEL=="system-uncached-dma32", MODE="0666", GROUP="video" RUN+="/usr/bin/chmod a+rw /dev/dma_heap"
wirte the above rules to /etc/udev/rules.d/11-rockchip-multimedia.rules
4, install kodi:
sudo apt install kodi
5, move kodi from xsession to wayland-session:
sudo mv /usr/share/xsessions/kodi.desktop /usr/share/wayland-sessions/kodi-wayland.desktop
6, reboot the board:
sudo reboot
7, in the lightdm greeter, select kodi and login
8, After starting kodi, in Settings -> Player -> Videos, enable "Allow using DRM PRIME decoder" and "Allow hardware acceleration with DRM PRIME". And set "PRIME Render Method" to "Direct To Plane"
9, Then you can play h264/h265 8 bit/10bit videos up to 4K.
============Updated on 20230206===================
rockchip-multimedia has become a universal ppa for rockchip legacy kernel. Here is the introduction: https://forum.radxa.com/t/introduction-to-rockchip-multimedia-ppa-for-ubuntu-jammy/14537
I provide a new package rockchip-multimedia-config to do all the system configs such as udev rules, chromium v4l2 devices creation. Just install this package and reboot, you are good to go.