2nd commit

This commit is contained in:
Fabio 2026-09-17 00:54:59 +02:00
parent 660b8f016d
commit 09b6615e28

360
README.md
View file

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