README.md |
Orange Pi 5 Plus HW Acceleration
Install OpenCL Mali610
link orig https://github.com/tsukumijima/libmali-rockchip/releases
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
utilizzata anche funziona ???
sudo wget https://github.com/JeffyCN/mirrors/raw/libmali/lib/aarch64-linux-gnu/libmali-valhall-g610-g24p0-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
se tasksel non finisce l'installazione chiudere il terminale e riaprirlo poi digitare
sudo apt --fix-broken install
per riparare e digitare sempre Y
sarebbe meglio utilizzare
sudo apt install xfce4 xfce4-goodies
sudo apt install lightdm
Auto-login xfce4
sudo nano /etc/lightdm/lightdm.conf
nella sezione
[Seat:*]
inserire
autologin-user=orangepi
Disabilitare start di xfce4 al boot
sudo systemctl disable lightdm.service
Start xfce4 manuale
sudo systemctl start lightdm.service
Installare tigervnc
sudo apt install tigervnc-standalone-server tigervnc-common
sudo apt install tigervnc-tools
verificare quali sono i desktop disponibili
ls -hl /usr/share/xsessions/*
in questo caso avendo appena installato xfce ci sarà un file xfce.desktop
far partire per esempio con
tigervncserver -rfbport 5901 -localhost no -geometry 1280x720 -depth 32 -desktop Prova -- xfce
oppure
tigervncserver -rfbport 5901 -localhost no -- xfce -geometry 1280x720 --depth 32 -desktop Prova -autokill no
se si vuole fare una configurazione in automatico senza scrivere tutto
killare la sessieno appena lanciata
tigervncserver -kill :1
inserire la configurazione di VNC editando
sudo nano .config/tigervnc/config
il vecchio riferimento era
sudo nano ~/.vnc/config
va inserito
rfbport=5901
localhost=no
session=xfce
geometry=2560x1440
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=orangepi
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
cd
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
cd
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
clonare git
cd
git clone https://github.com/nyanmisaka/ffmpeg-rockchip.git
cd ffmpeg-rockchip
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://docs.mesa3d.org/install.html
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/
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 0B2F0747E3BD546820A639B68065BE1FC67AABDE
deb https://ppa.launchpadcontent.net/liujianfeng1994/panfork-mesa/ubuntu jammy main
deb-src https://ppa.launchpadcontent.net/liujianfeng1994/panfork-mesa/ubuntu jammy main
deb https://ppa.launchpadcontent.net/liujianfeng1994/rockchip-multimedia/ubuntu jammy main
deb-src https://ppa.launchpadcontent.net/liujianfeng1994/rockchip-multimedia/ubuntu jammy main