README.md |
Orange Pi 5 Plus HW Acceleration
Install OpenCL Mali610
Download libmali-g610.so
cd /usr/lib
sudo wget https://github.com/JeffyCN/mirrors/raw/libmali/lib/aarch64-linux-gnu/libmali-valhall-g610-g6p0-x11-wayland-gbm.so -O libmali-g610.so
Ensure Firmware File Exists
su
cd /lib/firmware
ls mali_csffw.bin
if not exit
sudo wget https://github.com/JeffyCN/mirrors/raw/libmali/firmware/g610/mali_csffw.bin
exit form su
exit
Configuring OpenCL ICD Loader: Install Mesa OpenCL ICD, Create OpenCL Vendors Directory and Add Mali ICD Configuratio
sudo apt update
sudo apt install mesa-opencl-icd -y
sudo mkdir -p /etc/OpenCL/vendors
echo "/usr/lib/libmali-g610.so" | sudo tee /etc/OpenCL/vendors/mali.icd
Installing OpenCL Libraries and their dependencies
sudo apt install ocl-icd-opencl-dev -y
sudo apt install libxcb-dri2-0 libxcb-dri3-0 libwayland-client0 libwayland-server0 libx11-xcb1 -y
Verifying Installation with clinfo
sudo apt install clinfo -y
clinfo
output like
''' arm_release_ver: g13p0-01eac0, rk_so_ver: 3 Number of platforms: 2 Platform Name: ARM Platform Platform Vendor: ARM Platform Version: OpenCL 2.1 v1.g6p0-01eac0.2819f9d4dbe0b5a2f89c835d8484f9cd Platform Profile: FULL_PROFILE ... '''
Installare Vulkan
scaricare ed installare il pacchetto deb
wget https://repo.rock-chips.com/edge/debian-release-v2.0.0/pool/main/r/rockchip-mali/rockchip-mali_1.9-12_arm64.deb
sudo dpkg -i rockchip-mali_1.9-12_arm64.deb
fare il link sudo ln -s /usr/lib/aarch64-linux-gnu/libmali-valhall-g610-g6p0-wayland-gbm-vulkan.so /usr/lib/aarch64-linux-gnu/libmali.so
inserire icd Loader
''' sudo mkdir -p /etc/vulkan/icd.d/
echo '{ "file_format_version": "1.0.0", "ICD": { "library_path": "/usr/lib/aarch64-linux-gnu/libmali-valhall-g610-g6p0-wayland-gbm-vulkan.so", "api_version": "1.0.0" } }' | sudo tee /etc/vulkan/icd.d/mali.json '''
installare vulkaninfo per verificare
sudo apt install vulkan-tools
vulkaninfo
Install TigerVNC Server
Installare Tasksel per inserire un ambiente grafico
in questo caso scegliere per esempio xfce
sudo apt install tasksel
sudo tasksel
installare tigervnc
sudo apt install tigervnc-standalone-server tigervnc-common
verificare quali sono i desktop disponibili
ls -hl /usr/share/xsessions/*
in questo caso avendo appena installato xfce ci sarà un file xfce.desktop
inserire la configurazione di VNC editando
sudo nano ~/.vnc/config
va inserito ''' rfbport=5901 localhost=no session=xfce geometry=1280x720 depth=32 desktop=Prova ''' facendo partire tigervnc con
tigervncserver
avremo il server su IP:5091
la lista è disponibile udando
tigervncserver -list
se ne può creare più di uno e si può fermare killandolo
tigervncserver -kill :1
definire uno user editando
sudo nano /etc/tigervnc/vncserver.users
se si vuole farlo partire in automatico va inserito il display e lo user che non sia root per es
1:=fabio
poi si fa partire il servizio
sudo systemctl start tigervncserver@:1.service
che si può controllare con
sudo systemctl status tigervncserver@:1.service
infine lo si abilita per quando il sistema reboota
sudo systemctl enable tigervncserver@:1.service
pèer tutte le funzioni digitare
tigervncserver -help
per esempio se si vuole fare tutto in manuale si può digitare
tigervncserver -rfbport 5901 -localhost no -geometry 1280x720 -depth 32 -desktop Prova -- xfce
Native compilation on ARM/ARM64 host MPP RGA per FFMPEG
installare prima le dipendenze
'''
sudo apt-get update -qq && sudo apt-get -y install
autoconf
automake
build-essential
cmake
git-core
libass-dev
libfreetype6-dev
libgnutls28-dev
libmp3lame-dev
libsdl2-dev
libtool
libva-dev
libvdpau-dev
libvorbis-dev
libxcb1-dev
libxcb-shm0-dev
libxcb-xfixes0-dev
meson
ninja-build
pkg-config
texinfo
wget
yasm
zlib1g-dev
'''
MPP
'''
Build MPP
mkdir -p ~/dev && cd ~/dev
git clone -b jellyfin-mpp --depth=1 https://github.com/nyanmisaka/mpp.git rkmpp
pushd rkmpp
mkdir rkmpp_build
pushd rkmpp_build
cmake
-DCMAKE_INSTALL_PREFIX=/usr
-DCMAKE_BUILD_TYPE=Release
-DBUILD_SHARED_LIBS=ON
-DBUILD_TEST=OFF
..
make -j $(nproc)
sudo make install
'''
RGA
'''
Build RGA
mkdir -p ~/dev && cd ~/dev
git clone -b jellyfin-rga --depth=1 https://github.com/nyanmisaka/rk-mirrors.git rkrga
meson setup rkrga rkrga_build
--prefix=/usr
--libdir=lib
--buildtype=release
--default-library=shared
-Dcpp_args=-fpermissive
-Dlibdrm=false
-Dlibrga_demo=false
meson configure rkrga_build
sudo ninja -C rkrga_build install
'''
ffmpeg semplice
configurare con
./configure --prefix=/usr --enable-gpl --enable-version3 --enable-libdrm --enable-rkmpp --enable-rkrga
compilare
make -j$(nproc)
verificare
''' ./ffmpeg -decoders | grep rkmpp ./ffmpeg -encoders | grep rkmpp ./ffmpeg -filters | grep rkrga '''
finire l'intallazione
sudo make -j$(nproc) install
ffmpeg più completa
installare le librerie
''' sudo apt install libtwolame-dev libvidstab-dev libvo-amrwbenc-dev libvorbis-dev libvpx-dev libx264-dev libx265-dev libxml2-dev librubberband-dev libharfbuzz-dev libwebp-dev libzimg-dev libzvbi-dev libchromaprint-dev frei0r-plugins-dev ladspa-sdk aom-tools ladspa-sdk aom-tools libbs2b-dev dav1d libdav1d-dev libfdk-aac-dev flite1-dev libflite1 libgme-dev libgsm1-dev libopenmpt0 libopenmpt-dev openmpt123 libshine-dev libsvtav1enc-dev libbluray-dev libcaca-dev libopus-dev libsnappy-dev libsoxr-dev libspeex-dev libtheora-dev libxvidcore-dev libcdio-paranoia-dev sudo apt-get install opensc sudo apt-get build-dep opensc '''
configurare
''' ./configure --enable-chromaprint --enable-frei0r --enable-gpl --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libdav1d --enable-libfdk-aac --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libmp3lame --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsvtav1 --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-nonfree --enable-opengl --enable-openssl --enable-version3 --enable-librubberband --enable-libharfbuzz --enable-libwebp --enable-libzimg --enable-libzvbi --enable-libgsm --enable-vaapi --enable-libdrm --enable-rkmpp --enable-rkrga '''
compilare
make -j$(nproc)
verificare
''' ./ffmpeg -decoders | grep rkmpp ./ffmpeg -encoders | grep rkmpp ./ffmpeg -filters | grep rkrga '''
finire l'intallazione
sudo make -j$(nproc) install
utility per verificare
RK3588 dovrebbe avere
OpenGL ES1.1/2.0/3.2, OpenCL 2.2, and Vulkan 1.2
OpenGL
sudo apt install mesa-utils
glxinfo
glxgears
glxdemo
se non trova il display si può specificare con
DISPLAY=:1 glxinfo
oppure definendo la variabile
export $DISPLAY=:1
OpenCL
sudo apt install clpeak
sudo clpeak
Altri tools di verifica
glmark2 glmark2-es2 Unigine Benchmark
sudo apt install glmark2-es2
Panfork MESA RK3588
https://dietpi.com/forum/t/orange-pi-5-hardware-acceleration-enabled/16387
https://docs.mesa3d.org/install.html
https://gitlab.com/panfork/mesa
''' curl -sSf 'https://keyserver.ubuntu.com/pks/lookup?fingerprint=on&op=index&search=0x0B2F0747E3BD546820A639B68065BE1FC67AABDE' | gpg --dearmor -o /etc/apt/trusted.gpg.d/rk3588-gpu.gpg echo 'deb https://ppa.launchpadcontent.net/liujianfeng1994/panfork-mesa/ubuntu jammy main' > /etc/apt/sources.list.d/rk3588-gpu.list echo 'deb https://ppa.launchpadcontent.net/liujianfeng1994/rockchip-multimedia/ubuntu jammy main' >> /etc/apt/sources.list.d/rk3588-gpu.list apt update apt full-upgrade (sudo apt dist-upgrade ???) apt install mali-g610-firmware rockchip-multimedia-config '''
https://ppa.launchpadcontent.net/liujianfeng1994/panfork-mesa/ubuntu/dists/jammy/Release.gpg
verificare con questo fatto apposta per OPI5
https://forum.armbian.com/topic/26450-accelerated-video-options-for-installing-and-running/