first commit
This commit is contained in:
commit
660b8f016d
34 changed files with 741 additions and 0 deletions
699
README.md
Normal file
699
README.md
Normal file
|
|
@ -0,0 +1,699 @@
|
||||||
|
__HASH__ Ripristino offline OpenCL + Vulkan — Orange Pi 5 Plus
|
||||||
|
|
||||||
|
## Scopo
|
||||||
|
|
||||||
|
Questa procedura ripristina la configurazione GPU funzionante utilizzando esclusivamente il backup:
|
||||||
|
|
||||||
|
__BT__
|
||||||
|
/root/mali-offline-backup/
|
||||||
|
__BT__
|
||||||
|
|
||||||
|
oppure una copia dello stesso backup proveniente da USB, disco esterno o altro computer.
|
||||||
|
|
||||||
|
La configurazione di riferimento è:
|
||||||
|
|
||||||
|
__BT__
|
||||||
|
Kernel Mali g21p0-01eac0
|
||||||
|
Firmware g21p0
|
||||||
|
Userspace Mali g24p0-00eac0
|
||||||
|
OpenCL 3.0
|
||||||
|
Vulkan 1.3.276
|
||||||
|
GPU Mali-G610
|
||||||
|
__BT__
|
||||||
|
|
||||||
|
La procedura non modifica:
|
||||||
|
|
||||||
|
- kernel
|
||||||
|
- DTB
|
||||||
|
- U-Boot
|
||||||
|
- partizioni di boot
|
||||||
|
|
||||||
|
__HASH__ Importante
|
||||||
|
|
||||||
|
Il backup contiene le librerie userspace Mali g24 già funzionanti e il firmware g21 compatibile con il kernel.
|
||||||
|
|
||||||
|
Non utilizzare un firmware g24 al posto del firmware g21.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
__HASH__ 1. Requisiti
|
||||||
|
|
||||||
|
Il backup deve avere questa struttura:
|
||||||
|
|
||||||
|
__BT__
|
||||||
|
mali-offline-backup/
|
||||||
|
├── firmware/
|
||||||
|
│ └── mali_csffw.bin
|
||||||
|
├── libs/
|
||||||
|
│ ├── libmali-hook-injector.a
|
||||||
|
│ ├── libmali-hook.so.1.9.0
|
||||||
|
│ ├── libmali.so.1.9.0
|
||||||
|
│ └── mali/
|
||||||
|
│ ├── libEGL.so.1
|
||||||
|
│ ├── libgbm.so.1
|
||||||
|
│ ├── libGLESv1_CM.so.1
|
||||||
|
│ ├── libGLESv2.so.2
|
||||||
|
│ ├── libMaliOpenCL.so.1
|
||||||
|
│ ├── libMaliVulkan.so.1
|
||||||
|
│ └── libwayland-egl.so.1
|
||||||
|
├── linker/
|
||||||
|
│ └── 00-aarch64-mali.conf
|
||||||
|
├── opencl/
|
||||||
|
│ └── mali.icd
|
||||||
|
├── system/
|
||||||
|
│ └── mali-priority.sh
|
||||||
|
├── symlinks/
|
||||||
|
│ ├── libmali-hook.so
|
||||||
|
│ ├── libmali-hook.so.1
|
||||||
|
│ ├── libmali-valhall-g610-g24p0-x11-wayland-gbm.so
|
||||||
|
│ ├── libmali.so
|
||||||
|
│ └── libmali.so.1
|
||||||
|
├── vulkan/
|
||||||
|
│ └── mali.json
|
||||||
|
└── checksums.sha256
|
||||||
|
__BT__
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
__HASH__ 2. Posizione del backup
|
||||||
|
|
||||||
|
Se il backup è già presente:
|
||||||
|
|
||||||
|
__BT__
|
||||||
|
/root/mali-offline-backup
|
||||||
|
__BT__
|
||||||
|
|
||||||
|
impostare:
|
||||||
|
|
||||||
|
__BT__
|
||||||
|
BACKUP=/root/mali-offline-backup
|
||||||
|
__BT__
|
||||||
|
|
||||||
|
Se il backup è stato copiato da USB in un'altra posizione, modificare BACKUP di conseguenza.
|
||||||
|
|
||||||
|
Esempio:
|
||||||
|
|
||||||
|
__BT__
|
||||||
|
BACKUP=/media/orangepi/USB/mali-offline-backup
|
||||||
|
__BT__
|
||||||
|
|
||||||
|
Controllare:
|
||||||
|
|
||||||
|
__BT__
|
||||||
|
sudo find __BT__$BACKUP__BT__ -type f -printf '%P\n' | sort
|
||||||
|
__BT__
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
__HASH__ 3. Verificare il backup prima di installarlo
|
||||||
|
|
||||||
|
__BT__
|
||||||
|
sudo bash -c '
|
||||||
|
cd "$BACKUP" &&
|
||||||
|
sha256sum -c checksums.sha256
|
||||||
|
'
|
||||||
|
__BT__
|
||||||
|
|
||||||
|
Tutti i file devono risultare:
|
||||||
|
|
||||||
|
__BT__
|
||||||
|
OK
|
||||||
|
__BT__
|
||||||
|
|
||||||
|
Se anche un solo file risulta FAILED:
|
||||||
|
|
||||||
|
__BT__
|
||||||
|
STOP
|
||||||
|
__BT__
|
||||||
|
|
||||||
|
Non procedere con il ripristino.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
__HASH__ 4. Controllare il kernel Mali
|
||||||
|
|
||||||
|
Prima di modificare qualsiasi file:
|
||||||
|
|
||||||
|
__BT__
|
||||||
|
uname -a
|
||||||
|
__BT__
|
||||||
|
|
||||||
|
Controllare il DDK Mali:
|
||||||
|
|
||||||
|
__BT__
|
||||||
|
dmesg | grep -E 'mali fb000000.gpu: (Kernel DDK|GPU identified|Probed as mali0)'
|
||||||
|
__BT__
|
||||||
|
|
||||||
|
Il kernel previsto deve utilizzare:
|
||||||
|
|
||||||
|
__BT__
|
||||||
|
g21p0-01eac0
|
||||||
|
__BT__
|
||||||
|
|
||||||
|
__HASH__ Non procedere se il kernel utilizza un DDK incompatibile senza prima verificare la compatibilità del firmware.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
__HASH__ 5. Disabilitare il servizio firmware automatico
|
||||||
|
|
||||||
|
Controllare:
|
||||||
|
|
||||||
|
__BT__
|
||||||
|
systemctl is-enabled set-mali-firmware.service
|
||||||
|
__BT__
|
||||||
|
|
||||||
|
Deve risultare:
|
||||||
|
|
||||||
|
__BT__
|
||||||
|
disabled
|
||||||
|
__BT__
|
||||||
|
|
||||||
|
Se necessario:
|
||||||
|
|
||||||
|
__BT__
|
||||||
|
sudo systemctl disable set-mali-firmware.service
|
||||||
|
__BT__
|
||||||
|
|
||||||
|
Non avviare il servizio durante il ripristino.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
__HASH__ 6. Creare un backup della configurazione attuale
|
||||||
|
|
||||||
|
Prima di sovrascrivere qualsiasi file:
|
||||||
|
|
||||||
|
__BT__
|
||||||
|
sudo mkdir -p /root/mali-before-offline-restore
|
||||||
|
__BT__
|
||||||
|
|
||||||
|
Salvare gli elementi principali:
|
||||||
|
|
||||||
|
__BT__
|
||||||
|
sudo cp -a /etc/OpenCL/vendors \
|
||||||
|
/root/mali-before-offline-restore/
|
||||||
|
|
||||||
|
sudo cp -a /etc/ld.so.conf.d/00-aarch64-mali.conf \
|
||||||
|
/root/mali-before-offline-restore/ 2>/dev/null || true
|
||||||
|
|
||||||
|
sudo cp -a /usr/share/vulkan/icd.d/mali.json \
|
||||||
|
/root/mali-before-offline-restore/ 2>/dev/null || true
|
||||||
|
|
||||||
|
sudo cp -L /lib/firmware/mali_csffw.bin \
|
||||||
|
/root/mali-before-offline-restore/mali_csffw.bin 2>/dev/null || true
|
||||||
|
__BT__
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
__HASH__ 7. Ripristinare il firmware g21
|
||||||
|
|
||||||
|
Creare la directory:
|
||||||
|
|
||||||
|
__BT__
|
||||||
|
sudo mkdir -p /lib/firmware/mali_csffw_g21p0
|
||||||
|
__BT__
|
||||||
|
|
||||||
|
Copiare il firmware:
|
||||||
|
|
||||||
|
__BT__
|
||||||
|
sudo cp -a "$BACKUP/firmware/mali_csffw.bin" \
|
||||||
|
/lib/firmware/mali_csffw_g21p0/mali_csffw.bin
|
||||||
|
__BT__
|
||||||
|
|
||||||
|
Creare il link attivo:
|
||||||
|
|
||||||
|
__BT__
|
||||||
|
sudo ln -sfn /lib/firmware/mali_csffw_g21p0/mali_csffw.bin \
|
||||||
|
/lib/firmware/mali_csffw.bin
|
||||||
|
__BT__
|
||||||
|
|
||||||
|
Verificare:
|
||||||
|
|
||||||
|
__BT__
|
||||||
|
readlink -f /lib/firmware/mali_csffw.bin
|
||||||
|
__BT__
|
||||||
|
|
||||||
|
Deve puntare a:
|
||||||
|
|
||||||
|
__BT__
|
||||||
|
/usr/lib/firmware/mali_csffw_g21p0/mali_csffw.bin
|
||||||
|
__BT__
|
||||||
|
|
||||||
|
Controllare SHA-256:
|
||||||
|
|
||||||
|
__BT__
|
||||||
|
sha256sum /lib/firmware/mali_csffw.bin
|
||||||
|
__BT__
|
||||||
|
|
||||||
|
Deve risultare:
|
||||||
|
|
||||||
|
__BT__
|
||||||
|
8e7c821a55ca1c345cc79f61243616dd25fc35b81f090946f302886d67712df5
|
||||||
|
__BT__
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
__HASH__ 8. Ripristinare le librerie Mali userspace
|
||||||
|
|
||||||
|
Creare la directory:
|
||||||
|
|
||||||
|
__BT__
|
||||||
|
sudo mkdir -p /usr/lib/aarch64-linux-gnu/mali
|
||||||
|
__BT__
|
||||||
|
|
||||||
|
Copiare le librerie Mali:
|
||||||
|
|
||||||
|
__BT__
|
||||||
|
sudo cp -a "$BACKUP/libs/mali/." \
|
||||||
|
/usr/lib/aarch64-linux-gnu/mali/
|
||||||
|
__BT__
|
||||||
|
|
||||||
|
Copiare le librerie principali:
|
||||||
|
|
||||||
|
__BT__
|
||||||
|
sudo cp -a \
|
||||||
|
"$BACKUP/libs/libmali-hook-injector.a" \
|
||||||
|
"$BACKUP/libs/libmali-hook.so.1.9.0" \
|
||||||
|
"$BACKUP/libs/libmali.so.1.9.0" \
|
||||||
|
/usr/lib/aarch64-linux-gnu/
|
||||||
|
__BT__
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
__HASH__ 9. Ripristinare i symlink
|
||||||
|
|
||||||
|
Copiare i symlink:
|
||||||
|
|
||||||
|
__BT__
|
||||||
|
sudo cp -a "$BACKUP/symlinks/." \
|
||||||
|
/usr/lib/aarch64-linux-gnu/
|
||||||
|
__BT__
|
||||||
|
|
||||||
|
Controllare:
|
||||||
|
|
||||||
|
__BT__
|
||||||
|
ls -l \
|
||||||
|
/usr/lib/aarch64-linux-gnu/libmali.so \
|
||||||
|
/usr/lib/aarch64-linux-gnu/libmali.so.1 \
|
||||||
|
/usr/lib/aarch64-linux-gnu/libmali-valhall-g610-g24p0-x11-wayland-gbm.so \
|
||||||
|
/usr/lib/aarch64-linux-gnu/libmali-hook.so \
|
||||||
|
/usr/lib/aarch64-linux-gnu/libmali-hook.so.1
|
||||||
|
__BT__
|
||||||
|
|
||||||
|
I collegamenti devono essere equivalenti a:
|
||||||
|
|
||||||
|
__BT__
|
||||||
|
libmali.so.1 -> libmali.so.1.9.0
|
||||||
|
libmali-valhall-g610-g24p0-x11-wayland-gbm.so -> libmali.so.1
|
||||||
|
libmali-hook.so -> libmali-hook.so.1
|
||||||
|
libmali-hook.so.1 -> libmali-hook.so.1.9.0
|
||||||
|
libmali.so -> libmali.so.1
|
||||||
|
__BT__
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
__HASH__ 10. Ripristinare la configurazione del linker
|
||||||
|
|
||||||
|
__BT__
|
||||||
|
sudo mkdir -p /etc/ld.so.conf.d
|
||||||
|
|
||||||
|
sudo cp -a \
|
||||||
|
"$BACKUP/linker/00-aarch64-mali.conf" \
|
||||||
|
/etc/ld.so.conf.d/00-aarch64-mali.conf
|
||||||
|
__BT__
|
||||||
|
|
||||||
|
Controllare:
|
||||||
|
|
||||||
|
__BT__
|
||||||
|
cat /etc/ld.so.conf.d/00-aarch64-mali.conf
|
||||||
|
__BT__
|
||||||
|
|
||||||
|
Deve contenere:
|
||||||
|
|
||||||
|
__BT__
|
||||||
|
/usr/lib/aarch64-linux-gnu/mali
|
||||||
|
__BT__
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
__HASH__ 11. Aggiornare il linker
|
||||||
|
|
||||||
|
__BT__
|
||||||
|
sudo ldconfig
|
||||||
|
__BT__
|
||||||
|
|
||||||
|
Se compare il warning:
|
||||||
|
|
||||||
|
__BT__
|
||||||
|
ldconfig: /lib/librknnrt.so is not a symbolic link
|
||||||
|
__BT__
|
||||||
|
|
||||||
|
il warning è indipendente da Mali.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
__HASH__ 12. Ripristinare OpenCL
|
||||||
|
|
||||||
|
Creare la directory:
|
||||||
|
|
||||||
|
__BT__
|
||||||
|
sudo mkdir -p /etc/OpenCL/vendors
|
||||||
|
__BT__
|
||||||
|
|
||||||
|
Copiare l'ICD:
|
||||||
|
|
||||||
|
__BT__
|
||||||
|
sudo cp -a \
|
||||||
|
"$BACKUP/opencl/mali.icd" \
|
||||||
|
/etc/OpenCL/vendors/mali.icd
|
||||||
|
__BT__
|
||||||
|
|
||||||
|
Controllare:
|
||||||
|
|
||||||
|
__BT__
|
||||||
|
cat /etc/OpenCL/vendors/mali.icd
|
||||||
|
__BT__
|
||||||
|
|
||||||
|
Deve contenere:
|
||||||
|
|
||||||
|
__BT__
|
||||||
|
/usr/lib/aarch64-linux-gnu/mali/libMaliOpenCL.so.1
|
||||||
|
__BT__
|
||||||
|
|
||||||
|
__HASH__ Importante
|
||||||
|
|
||||||
|
Se esiste un vecchio ICD g13:
|
||||||
|
|
||||||
|
__BT__
|
||||||
|
/etc/OpenCL/vendors/mali-arm64.icd
|
||||||
|
__BT__
|
||||||
|
|
||||||
|
non deve essere attivo contemporaneamente, se si vuole riprodurre la configurazione di riferimento.
|
||||||
|
|
||||||
|
Spostarlo in un backup:
|
||||||
|
|
||||||
|
__BT__
|
||||||
|
if [ -f /etc/OpenCL/vendors/mali-arm64.icd ]; then
|
||||||
|
sudo mv /etc/OpenCL/vendors/mali-arm64.icd \
|
||||||
|
/root/mali-before-offline-restore/mali-arm64.icd.g13
|
||||||
|
fi
|
||||||
|
__BT__
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
__HASH__ 13. Ripristinare Vulkan
|
||||||
|
|
||||||
|
Creare la directory:
|
||||||
|
|
||||||
|
__BT__
|
||||||
|
sudo mkdir -p /usr/share/vulkan/icd.d
|
||||||
|
__BT__
|
||||||
|
|
||||||
|
Copiare l'ICD:
|
||||||
|
|
||||||
|
__BT__
|
||||||
|
sudo cp -a \
|
||||||
|
"$BACKUP/vulkan/mali.json" \
|
||||||
|
/usr/share/vulkan/icd.d/mali.json
|
||||||
|
__BT__
|
||||||
|
|
||||||
|
Controllare:
|
||||||
|
|
||||||
|
__BT__
|
||||||
|
cat /usr/share/vulkan/icd.d/mali.json
|
||||||
|
__BT__
|
||||||
|
|
||||||
|
Deve contenere un library_path equivalente a:
|
||||||
|
|
||||||
|
__BT__
|
||||||
|
libMaliVulkan.so.1
|
||||||
|
__BT__
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
__HASH__ 14. Ripristinare la configurazione Mali
|
||||||
|
|
||||||
|
__BT__
|
||||||
|
sudo mkdir -p /etc/profile.d
|
||||||
|
|
||||||
|
sudo cp -a \
|
||||||
|
"$BACKUP/system/mali-priority.sh" \
|
||||||
|
/etc/profile.d/mali-priority.sh
|
||||||
|
__BT__
|
||||||
|
|
||||||
|
Controllare:
|
||||||
|
|
||||||
|
__BT__
|
||||||
|
cat /etc/profile.d/mali-priority.sh
|
||||||
|
__BT__
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
__HASH__ 15. Aggiornare nuovamente il linker
|
||||||
|
|
||||||
|
__BT__
|
||||||
|
sudo ldconfig
|
||||||
|
__BT__
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
__HASH__ 16. Verifica OpenCL prima del reboot
|
||||||
|
|
||||||
|
__BT__
|
||||||
|
clinfo | grep -E \
|
||||||
|
'arm_release_ver|Number of platforms|Platform Version|Device Name'
|
||||||
|
__BT__
|
||||||
|
|
||||||
|
Configurazione attesa:
|
||||||
|
|
||||||
|
__BT__
|
||||||
|
arm_release_ver: g24p0-00eac0, rk_so_ver: 10
|
||||||
|
Number of platforms 1
|
||||||
|
Platform Version OpenCL 3.0 v1.g24p0-00eac0...
|
||||||
|
Device Name Mali-G610 r0p0
|
||||||
|
__BT__
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
__HASH__ 17. Verifica Vulkan prima del reboot
|
||||||
|
|
||||||
|
Utilizzare esplicitamente l'ICD Mali:
|
||||||
|
|
||||||
|
__BT__
|
||||||
|
VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/mali.json \
|
||||||
|
vulkaninfo --summary
|
||||||
|
__BT__
|
||||||
|
|
||||||
|
Devono comparire:
|
||||||
|
|
||||||
|
__BT__
|
||||||
|
Mali-G610
|
||||||
|
DRIVER_ID_ARM_PROPRIETARY
|
||||||
|
apiVersion = 1.3.276
|
||||||
|
driverVersion = 24.0.0
|
||||||
|
__BT__
|
||||||
|
|
||||||
|
__HASH__ Nota
|
||||||
|
|
||||||
|
Un semplice vulkaninfo --summary può fallire con XCB se non è disponibile un server X. Il test con VK_ICD_FILENAMES è quello da utilizzare per verificare il driver.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
__HASH__ 18. Verifica del firmware prima del reboot
|
||||||
|
|
||||||
|
__BT__
|
||||||
|
readlink -f /lib/firmware/mali_csffw.bin
|
||||||
|
sha256sum /lib/firmware/mali_csffw.bin
|
||||||
|
systemctl is-enabled set-mali-firmware.service
|
||||||
|
__BT__
|
||||||
|
|
||||||
|
Devono risultare:
|
||||||
|
|
||||||
|
__BT__
|
||||||
|
/usr/lib/firmware/mali_csffw_g21p0/mali_csffw.bin
|
||||||
|
8e7c821a55ca1c345cc79f61243616dd25fc35b81f090946f302886d67712df5
|
||||||
|
disabled
|
||||||
|
__BT__
|
||||||
|
|
||||||
|
__HASH__ Se il firmware non corrisponde allo SHA-256 previsto, NON riavviare.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
__HASH__ 19. Riavvio
|
||||||
|
|
||||||
|
Se tutti i controlli precedenti sono corretti:
|
||||||
|
|
||||||
|
__BT__
|
||||||
|
sudo reboot
|
||||||
|
__BT__
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
__HASH__ 20. Verifica dopo il reboot
|
||||||
|
|
||||||
|
Controllare il kernel Mali:
|
||||||
|
|
||||||
|
__BT__
|
||||||
|
dmesg | grep -E \
|
||||||
|
'mali fb000000.gpu: (Kernel DDK|GPU identified|Probed as mali0|Loading Mali firmware|Mali firmware git_sha)'
|
||||||
|
__BT__
|
||||||
|
|
||||||
|
Devono essere presenti:
|
||||||
|
|
||||||
|
__BT__
|
||||||
|
Kernel DDK version g21p0-01eac0
|
||||||
|
GPU identified as 0x7 arch 10.8.6 r0p0 status 0
|
||||||
|
Probed as mali0
|
||||||
|
Mali firmware git_sha: 221d2b3e5f4cf47df6227ccb24c82c4e4baa986e
|
||||||
|
__BT__
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
__HASH__ 21. Verifica OpenCL dopo il reboot
|
||||||
|
|
||||||
|
__BT__
|
||||||
|
clinfo | grep -E \
|
||||||
|
'arm_release_ver|Number of platforms|Platform Version|Device Name'
|
||||||
|
__BT__
|
||||||
|
|
||||||
|
Atteso:
|
||||||
|
|
||||||
|
__BT__
|
||||||
|
arm_release_ver: g24p0-00eac0, rk_so_ver: 10
|
||||||
|
Number of platforms 1
|
||||||
|
Platform Version OpenCL 3.0 v1.g24p0-00eac0...
|
||||||
|
Device Name Mali-G610 r0p0
|
||||||
|
__BT__
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
__HASH__ 22. Verifica Vulkan dopo il reboot
|
||||||
|
|
||||||
|
__BT__
|
||||||
|
VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/mali.json \
|
||||||
|
vulkaninfo --summary
|
||||||
|
__BT__
|
||||||
|
|
||||||
|
Atteso:
|
||||||
|
|
||||||
|
__BT__
|
||||||
|
Mali-G610
|
||||||
|
DRIVER_ID_ARM_PROPRIETARY
|
||||||
|
apiVersion = 1.3.276
|
||||||
|
driverVersion = 24.0.0
|
||||||
|
__BT__
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
__HASH__ 23. Verifica finale dell'integrità del backup
|
||||||
|
|
||||||
|
Il backup originale non deve essere modificato durante il ripristino.
|
||||||
|
|
||||||
|
Se il backup si trova ancora nella posizione originale:
|
||||||
|
|
||||||
|
__BT__
|
||||||
|
sudo bash -c '
|
||||||
|
cd "$BACKUP" &&
|
||||||
|
sha256sum -c checksums.sha256
|
||||||
|
'
|
||||||
|
__BT__
|
||||||
|
|
||||||
|
Tutti i file devono risultare OK.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
__HASH__ 24. Problemi comuni
|
||||||
|
|
||||||
|
__HASH__ OpenCL mostra due piattaforme
|
||||||
|
|
||||||
|
Controllare:
|
||||||
|
|
||||||
|
__BT__
|
||||||
|
ls -l /etc/OpenCL/vendors/
|
||||||
|
__BT__
|
||||||
|
|
||||||
|
Se è presente il vecchio ICD g13:
|
||||||
|
|
||||||
|
__BT__
|
||||||
|
/etc/OpenCL/vendors/mali-arm64.icd
|
||||||
|
__BT__
|
||||||
|
|
||||||
|
spostarlo fuori dalla directory attiva.
|
||||||
|
|
||||||
|
__HASH__ Vulkan restituisce errore XCB
|
||||||
|
|
||||||
|
Utilizzare:
|
||||||
|
|
||||||
|
__BT__
|
||||||
|
VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/mali.json \
|
||||||
|
vulkaninfo --summary
|
||||||
|
__BT__
|
||||||
|
|
||||||
|
__HASH__ Il firmware ha SHA-256 diverso
|
||||||
|
|
||||||
|
Non riavviare.
|
||||||
|
|
||||||
|
Ripristinare:
|
||||||
|
|
||||||
|
__BT__
|
||||||
|
sudo cp -a "$BACKUP/firmware/mali_csffw.bin" \
|
||||||
|
/lib/firmware/mali_csffw_g21p0/mali_csffw.bin
|
||||||
|
|
||||||
|
sudo ln -sfn /lib/firmware/mali_csffw_g21p0/mali_csffw.bin \
|
||||||
|
/lib/firmware/mali_csffw.bin
|
||||||
|
__BT__
|
||||||
|
|
||||||
|
Poi verificare nuovamente lo SHA-256.
|
||||||
|
|
||||||
|
__HASH__ clinfo restituisce zero piattaforme
|
||||||
|
|
||||||
|
Controllare:
|
||||||
|
|
||||||
|
__BT__
|
||||||
|
cat /etc/OpenCL/vendors/mali.icd
|
||||||
|
ls -l /usr/lib/aarch64-linux-gnu/mali/libMaliOpenCL.so.1
|
||||||
|
ldconfig -p | grep -i mali
|
||||||
|
__BT__
|
||||||
|
|
||||||
|
__HASH__ Non utilizzare apt autoremove
|
||||||
|
|
||||||
|
Il ripristino è offline e non richiede la rimozione automatica dei pacchetti.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
__HASH__ 25. Rollback del ripristino
|
||||||
|
|
||||||
|
Prima del ripristino è stata creata:
|
||||||
|
|
||||||
|
__BT__
|
||||||
|
/root/mali-before-offline-restore/
|
||||||
|
__BT__
|
||||||
|
|
||||||
|
Se qualcosa non funziona, non modificare kernel, DTB o U-Boot.
|
||||||
|
|
||||||
|
Prima fermarsi e verificare:
|
||||||
|
|
||||||
|
__BT__
|
||||||
|
dmesg | grep -i mali
|
||||||
|
clinfo
|
||||||
|
VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/mali.json vulkaninfo --summary
|
||||||
|
__BT__
|
||||||
|
|
||||||
|
Il backup originale rimane disponibile per un ulteriore tentativo.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
__HASH__ 26. Stato finale desiderato
|
||||||
|
|
||||||
|
La configurazione finale deve essere:
|
||||||
|
|
||||||
|
__BT__
|
||||||
|
Kernel Mali g21p0-01eac0
|
||||||
|
Firmware g21p0
|
||||||
|
Userspace Mali g24p0-00eac0
|
||||||
|
GPU Mali-G610 r0p0
|
||||||
|
OpenCL 3.0
|
||||||
|
Vulkan 1.3.276
|
||||||
|
OpenCL platforms 1
|
||||||
|
__BT__
|
||||||
|
|
||||||
|
Il ripristino utilizza esclusivamente i file contenuti nel backup e non richiede il download del pacchetto Mali g24 originale.
|
||||||
15
checksums.sha256
Normal file
15
checksums.sha256
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
8e7c821a55ca1c345cc79f61243616dd25fc35b81f090946f302886d67712df5 ./firmware/mali_csffw.bin
|
||||||
|
e38ebcff2294ac0c688a7e2dc37c14a90848752ddfecff4d670a47e313b9ec08 ./libs/libmali-hook-injector.a
|
||||||
|
5afb5b204182888f8557e14bd0324f2121d3b09efe4e5430f451472815325a22 ./libs/libmali-hook.so.1.9.0
|
||||||
|
f29547e80817ac03b26e58dce09665dca3288200cdd56614da65094a9b4cd98e ./libs/libmali.so.1.9.0
|
||||||
|
c9881d2d299b3e99d7e1bd781e071dba1d34f77a70e36086b9fb0be7a57316f4 ./libs/mali/libEGL.so.1
|
||||||
|
18370d23497b8c929433e140ea135fa37cbf1a5e8062645677453eb2975f9e67 ./libs/mali/libgbm.so.1
|
||||||
|
a3ec5eaa5609eb46840135d47f20a98a698738dd00b661ed1ad8c8c316ac5628 ./libs/mali/libGLESv1_CM.so.1
|
||||||
|
52fac0275cb2e94a0a3c190421cd6d41d9ca4b7dd11fd75dfd50e7b5fbb59313 ./libs/mali/libGLESv2.so.2
|
||||||
|
0808c29fe8e027cbaa52d829b28a0ddcffcc9def1f7743e97c2dac22e14b3a85 ./libs/mali/libMaliOpenCL.so.1
|
||||||
|
29e4b101fd3e4b982fbcc04f8e2ec9d566a3cbe178bb3d9407c627536f3a5f8a ./libs/mali/libMaliVulkan.so.1
|
||||||
|
2deaf576cd7b8fb88fe7cd7b10182dd3d097baa82917f1c741527029e9958230 ./libs/mali/libwayland-egl.so.1
|
||||||
|
5e0494914220fcc4211c7eb8fec0a7484a0c3f081d4a273edf8154c13b6e1a7f ./linker/00-aarch64-mali.conf
|
||||||
|
d33859d7efec9368c736fbe7324060a6d5ee920b578dace70403b832179808b3 ./opencl/mali.icd
|
||||||
|
20f96e8ec66a61816acfe9172facaba9193d6dc8c7818bb7c24231c90c7457fe ./system/mali-priority.sh
|
||||||
|
7f2177765befddd6793c255ae02b5b55e403106626ffc662494297f48c4b6561 ./vulkan/mali.json
|
||||||
BIN
firmware/mali_csffw.bin
Normal file
BIN
firmware/mali_csffw.bin
Normal file
Binary file not shown.
BIN
libs/libmali-hook-injector.a
Normal file
BIN
libs/libmali-hook-injector.a
Normal file
Binary file not shown.
1
libs/libmali-hook.so
Symbolic link
1
libs/libmali-hook.so
Symbolic link
|
|
@ -0,0 +1 @@
|
||||||
|
libmali-hook.so.1
|
||||||
1
libs/libmali-hook.so.1
Symbolic link
1
libs/libmali-hook.so.1
Symbolic link
|
|
@ -0,0 +1 @@
|
||||||
|
libmali-hook.so.1.9.0
|
||||||
BIN
libs/libmali-hook.so.1.9.0
Normal file
BIN
libs/libmali-hook.so.1.9.0
Normal file
Binary file not shown.
1
libs/libmali-valhall-g610-g24p0-x11-wayland-gbm.so
Symbolic link
1
libs/libmali-valhall-g610-g24p0-x11-wayland-gbm.so
Symbolic link
|
|
@ -0,0 +1 @@
|
||||||
|
libmali.so.1
|
||||||
1
libs/libmali.so
Symbolic link
1
libs/libmali.so
Symbolic link
|
|
@ -0,0 +1 @@
|
||||||
|
libmali.so.1
|
||||||
1
libs/libmali.so.1
Symbolic link
1
libs/libmali.so.1
Symbolic link
|
|
@ -0,0 +1 @@
|
||||||
|
libmali.so.1.9.0
|
||||||
BIN
libs/libmali.so.1.9.0
Normal file
BIN
libs/libmali.so.1.9.0
Normal file
Binary file not shown.
1
libs/mali/libEGL.so
Symbolic link
1
libs/mali/libEGL.so
Symbolic link
|
|
@ -0,0 +1 @@
|
||||||
|
libEGL.so.1
|
||||||
BIN
libs/mali/libEGL.so.1
Normal file
BIN
libs/mali/libEGL.so.1
Normal file
Binary file not shown.
1
libs/mali/libGLESv1_CM.so
Symbolic link
1
libs/mali/libGLESv1_CM.so
Symbolic link
|
|
@ -0,0 +1 @@
|
||||||
|
libGLESv1_CM.so.1
|
||||||
BIN
libs/mali/libGLESv1_CM.so.1
Normal file
BIN
libs/mali/libGLESv1_CM.so.1
Normal file
Binary file not shown.
1
libs/mali/libGLESv2.so
Symbolic link
1
libs/mali/libGLESv2.so
Symbolic link
|
|
@ -0,0 +1 @@
|
||||||
|
libGLESv2.so.2
|
||||||
BIN
libs/mali/libGLESv2.so.2
Normal file
BIN
libs/mali/libGLESv2.so.2
Normal file
Binary file not shown.
1
libs/mali/libMaliOpenCL.so
Symbolic link
1
libs/mali/libMaliOpenCL.so
Symbolic link
|
|
@ -0,0 +1 @@
|
||||||
|
libMaliOpenCL.so.1
|
||||||
BIN
libs/mali/libMaliOpenCL.so.1
Normal file
BIN
libs/mali/libMaliOpenCL.so.1
Normal file
Binary file not shown.
1
libs/mali/libMaliVulkan.so
Symbolic link
1
libs/mali/libMaliVulkan.so
Symbolic link
|
|
@ -0,0 +1 @@
|
||||||
|
libMaliVulkan.so.1
|
||||||
BIN
libs/mali/libMaliVulkan.so.1
Normal file
BIN
libs/mali/libMaliVulkan.so.1
Normal file
Binary file not shown.
1
libs/mali/libgbm.so
Symbolic link
1
libs/mali/libgbm.so
Symbolic link
|
|
@ -0,0 +1 @@
|
||||||
|
libgbm.so.1
|
||||||
BIN
libs/mali/libgbm.so.1
Normal file
BIN
libs/mali/libgbm.so.1
Normal file
Binary file not shown.
1
libs/mali/libwayland-egl.so
Symbolic link
1
libs/mali/libwayland-egl.so
Symbolic link
|
|
@ -0,0 +1 @@
|
||||||
|
libwayland-egl.so.1
|
||||||
BIN
libs/mali/libwayland-egl.so.1
Normal file
BIN
libs/mali/libwayland-egl.so.1
Normal file
Binary file not shown.
1
linker/00-aarch64-mali.conf
Normal file
1
linker/00-aarch64-mali.conf
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
/usr/lib/aarch64-linux-gnu/mali
|
||||||
1
opencl/mali.icd
Normal file
1
opencl/mali.icd
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
/usr/lib/aarch64-linux-gnu/mali/libMaliOpenCL.so.1
|
||||||
1
symlinks/libmali-hook.so
Symbolic link
1
symlinks/libmali-hook.so
Symbolic link
|
|
@ -0,0 +1 @@
|
||||||
|
libmali-hook.so.1
|
||||||
1
symlinks/libmali-hook.so.1
Symbolic link
1
symlinks/libmali-hook.so.1
Symbolic link
|
|
@ -0,0 +1 @@
|
||||||
|
libmali-hook.so.1.9.0
|
||||||
1
symlinks/libmali-valhall-g610-g24p0-x11-wayland-gbm.so
Symbolic link
1
symlinks/libmali-valhall-g610-g24p0-x11-wayland-gbm.so
Symbolic link
|
|
@ -0,0 +1 @@
|
||||||
|
libmali.so.1
|
||||||
1
symlinks/libmali.so
Symbolic link
1
symlinks/libmali.so
Symbolic link
|
|
@ -0,0 +1 @@
|
||||||
|
libmali.so.1
|
||||||
1
symlinks/libmali.so.1
Symbolic link
1
symlinks/libmali.so.1
Symbolic link
|
|
@ -0,0 +1 @@
|
||||||
|
libmali.so.1.9.0
|
||||||
1
system/mali-priority.sh
Normal file
1
system/mali-priority.sh
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
export MALI_SCHED_RT_THREAD_PRIORITY=95
|
||||||
7
vulkan/mali.json
Normal file
7
vulkan/mali.json
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
"file_format_version" : "1.0.0",
|
||||||
|
"ICD" : {
|
||||||
|
"library_path" : "libMaliVulkan.so.1",
|
||||||
|
"api_version" : "1.3.276"
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in a new issue