2 commit
This commit is contained in:
parent
11249d715e
commit
380b81d317
1 changed files with 108 additions and 108 deletions
216
README.md
216
README.md
|
|
@ -24,40 +24,40 @@ Non eseguire apt upgrade, apt full-upgrade, aggiornamenti del kernel o modifiche
|
|||
|
||||
Controllare versione Debian:
|
||||
|
||||
`
|
||||
```
|
||||
cat /etc/debian_version
|
||||
`
|
||||
```
|
||||
|
||||
Controllare il kernel:
|
||||
|
||||
`
|
||||
```
|
||||
uname -a
|
||||
`
|
||||
```
|
||||
|
||||
Controllare il driver Mali:
|
||||
|
||||
`
|
||||
```
|
||||
dmesg | grep -E 'mali fb000000.gpu: (Kernel DDK|GPU identified|Probed as mali0)'
|
||||
`
|
||||
```
|
||||
|
||||
Il kernel funzionante utilizzato nella procedura deve riportare:
|
||||
|
||||
`
|
||||
```
|
||||
Kernel DDK version g21p0-01eac0
|
||||
`
|
||||
```
|
||||
|
||||
Controllare che il firmware attivo sia quello g21:
|
||||
|
||||
`
|
||||
```
|
||||
readlink -f /lib/firmware/mali_csffw.bin
|
||||
sha256sum /lib/firmware/mali_csffw.bin
|
||||
`
|
||||
```
|
||||
|
||||
SHA-256 atteso:
|
||||
|
||||
`
|
||||
```
|
||||
8e7c821a55ca1c345cc79f61243616dd25fc35b81f090946f302886d67712df5
|
||||
`
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -65,15 +65,15 @@ SHA-256 atteso:
|
|||
|
||||
Il servizio set-mali-firmware.service non deve sostituire automaticamente il firmware g21.
|
||||
|
||||
`
|
||||
```
|
||||
systemctl is-enabled set-mali-firmware.service
|
||||
`
|
||||
```
|
||||
|
||||
Risultato atteso:
|
||||
|
||||
`
|
||||
```
|
||||
disabled
|
||||
`
|
||||
```
|
||||
|
||||
Se è enabled, fermarsi e verificare la configurazione prima di procedere.
|
||||
|
||||
|
|
@ -83,29 +83,29 @@ Se è enabled, fermarsi e verificare la configurazione prima di procedere.
|
|||
|
||||
Il firmware deve essere disponibile in:
|
||||
|
||||
`
|
||||
```
|
||||
/lib/firmware/mali_csffw_g21p0/mali_csffw.bin
|
||||
`
|
||||
```
|
||||
|
||||
Creare il link al firmware g21:
|
||||
|
||||
`
|
||||
```
|
||||
sudo ln -sfn /lib/firmware/mali_csffw_g21p0/mali_csffw.bin \
|
||||
/lib/firmware/mali_csffw.bin
|
||||
`
|
||||
```
|
||||
|
||||
Verificare:
|
||||
|
||||
`
|
||||
```
|
||||
readlink -f /lib/firmware/mali_csffw.bin
|
||||
sha256sum /lib/firmware/mali_csffw.bin
|
||||
`
|
||||
```
|
||||
|
||||
Deve risultare il firmware g21 con SHA-256:
|
||||
|
||||
`
|
||||
```
|
||||
8e7c821a55ca1c345cc79f61243616dd25fc35b81f090946f302886d67712df5
|
||||
`
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -113,31 +113,31 @@ Deve risultare il firmware g21 con SHA-256:
|
|||
|
||||
Creare una directory di backup:
|
||||
|
||||
`
|
||||
```
|
||||
sudo mkdir -p /root/mali-backup-g24-restore
|
||||
`
|
||||
```
|
||||
|
||||
Salvare l'ICD OpenCL eventualmente esistente:
|
||||
|
||||
`
|
||||
```
|
||||
if [ -f /etc/OpenCL/vendors/mali-arm64.icd ]; then
|
||||
sudo cp -a /etc/OpenCL/vendors/mali-arm64.icd \
|
||||
/root/mali-backup-g24-restore/mali-arm64.icd.g13
|
||||
fi
|
||||
`
|
||||
```
|
||||
|
||||
Salvare il firmware g21 come file reale:
|
||||
|
||||
`
|
||||
```
|
||||
sudo cp -L /lib/firmware/mali_csffw.bin \
|
||||
/root/mali-backup-g24-restore/mali_csffw-g21.bin
|
||||
`
|
||||
```
|
||||
|
||||
Verificare il backup:
|
||||
|
||||
`
|
||||
```
|
||||
sha256sum /root/mali-backup-g24-restore/mali_csffw-g21.bin
|
||||
`
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -145,21 +145,21 @@ sha256sum /root/mali-backup-g24-restore/mali_csffw-g21.bin
|
|||
|
||||
Il pacchetto utilizzato nella configurazione funzionante è:
|
||||
|
||||
`
|
||||
```
|
||||
libmali-g610-g24p0-x11-wayland-gbm.deb
|
||||
`
|
||||
```
|
||||
|
||||
Esempio di percorso:
|
||||
|
||||
`
|
||||
```
|
||||
/tmp/libmali-g610-g24p0-x11-wayland-gbm.deb
|
||||
`
|
||||
```
|
||||
|
||||
Installare:
|
||||
|
||||
`
|
||||
```
|
||||
sudo dpkg -i /tmp/libmali-g610-g24p0-x11-wayland-gbm.deb
|
||||
`
|
||||
```
|
||||
|
||||
Il pacchetto installa, tra le altre cose:
|
||||
|
||||
|
|
@ -179,38 +179,38 @@ Il pacchetto può installare il proprio mali_csffw.bin. Non lasciarlo attivo: il
|
|||
|
||||
Dopo l'installazione del pacchetto:
|
||||
|
||||
`
|
||||
```
|
||||
sudo ln -sfn /lib/firmware/mali_csffw_g21p0/mali_csffw.bin \
|
||||
/lib/firmware/mali_csffw.bin
|
||||
`
|
||||
```
|
||||
|
||||
Verificare:
|
||||
|
||||
`
|
||||
```
|
||||
readlink -f /lib/firmware/mali_csffw.bin
|
||||
sha256sum /lib/firmware/mali_csffw.bin
|
||||
`
|
||||
```
|
||||
|
||||
Deve essere:
|
||||
|
||||
`
|
||||
```
|
||||
/usr/lib/firmware/mali_csffw_g21p0/mali_csffw.bin
|
||||
8e7c821a55ca1c345cc79f61243616dd25fc35b81f090946f302886d67712df5
|
||||
`
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 7. Aggiornare la cache del linker
|
||||
|
||||
`
|
||||
```
|
||||
sudo ldconfig
|
||||
`
|
||||
```
|
||||
|
||||
È possibile che venga mostrato il warning:
|
||||
|
||||
`
|
||||
```
|
||||
ldconfig: /lib/librknnrt.so is not a symbolic link
|
||||
`
|
||||
```
|
||||
|
||||
Questo warning è indipendente da Mali e non va corretto come parte di questa procedura.
|
||||
|
||||
|
|
@ -220,49 +220,49 @@ Questo warning è indipendente da Mali e non va corretto come parte di questa pr
|
|||
|
||||
Il pacchetto g24 deve fornire:
|
||||
|
||||
`
|
||||
```
|
||||
/usr/lib/aarch64-linux-gnu/mali/libMaliOpenCL.so.1
|
||||
`
|
||||
```
|
||||
|
||||
Controllare:
|
||||
|
||||
`
|
||||
```
|
||||
ls -l /usr/lib/aarch64-linux-gnu/mali/libMaliOpenCL.so*
|
||||
`
|
||||
```
|
||||
|
||||
Creare l'ICD OpenCL g24:
|
||||
|
||||
`
|
||||
```
|
||||
sudo mkdir -p /etc/OpenCL/vendors
|
||||
|
||||
echo '/usr/lib/aarch64-linux-gnu/mali/libMaliOpenCL.so.1' | \
|
||||
sudo tee /etc/OpenCL/vendors/mali.icd
|
||||
`
|
||||
```
|
||||
|
||||
Verificare:
|
||||
|
||||
`
|
||||
```
|
||||
cat /etc/OpenCL/vendors/mali.icd
|
||||
`
|
||||
```
|
||||
|
||||
Deve contenere esattamente:
|
||||
|
||||
`
|
||||
```
|
||||
/usr/lib/aarch64-linux-gnu/mali/libMaliOpenCL.so.1
|
||||
`
|
||||
```
|
||||
|
||||
Se è presente il vecchio ICD g13:
|
||||
|
||||
`
|
||||
```
|
||||
/etc/OpenCL/vendors/mali-arm64.icd
|
||||
`
|
||||
```
|
||||
|
||||
non cancellarlo. Spostarlo nel backup:
|
||||
|
||||
`
|
||||
```
|
||||
sudo mv /etc/OpenCL/vendors/mali-arm64.icd \
|
||||
/root/mali-backup-g24-restore/mali-arm64.icd.g13
|
||||
`
|
||||
```
|
||||
|
||||
In questo modo clinfo vedrà una sola piattaforma ARM proprietaria.
|
||||
|
||||
|
|
@ -272,13 +272,13 @@ In questo modo clinfo vedrà una sola piattaforma ARM proprietaria.
|
|||
|
||||
Verificare che esista:
|
||||
|
||||
`
|
||||
```
|
||||
ls -l /usr/share/vulkan/icd.d/mali.json
|
||||
`
|
||||
```
|
||||
|
||||
Il contenuto atteso è equivalente a:
|
||||
|
||||
`
|
||||
```
|
||||
{
|
||||
"file_format_version" : "1.0.0",
|
||||
"ICD" : {
|
||||
|
|
@ -286,7 +286,7 @@ Il contenuto atteso è equivalente a:
|
|||
"api_version" : "1.3.276"
|
||||
}
|
||||
}
|
||||
`
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -294,19 +294,19 @@ Il contenuto atteso è equivalente a:
|
|||
|
||||
Eseguire:
|
||||
|
||||
`
|
||||
```
|
||||
clinfo | grep -E \
|
||||
'arm_release_ver|Number of platforms|Platform Version|Device Name'
|
||||
`
|
||||
```
|
||||
|
||||
Risultato atteso:
|
||||
|
||||
`
|
||||
```
|
||||
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
|
||||
`
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -314,20 +314,20 @@ Device Name Mali-G610 r0p0
|
|||
|
||||
Per evitare problemi se la sessione grafica X11 non è disponibile:
|
||||
|
||||
`
|
||||
```
|
||||
VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/mali.json \
|
||||
vulkaninfo --summary
|
||||
`
|
||||
```
|
||||
|
||||
Risultato atteso:
|
||||
|
||||
`
|
||||
```
|
||||
driverVersion = 24.0.0
|
||||
deviceName = Mali-G610
|
||||
driverID = DRIVER_ID_ARM_PROPRIETARY
|
||||
driverName = Mali-G610
|
||||
apiVersion = 1.3.276
|
||||
`
|
||||
```
|
||||
|
||||
# Nota
|
||||
|
||||
|
|
@ -337,23 +337,23 @@ Un semplice vulkaninfo --summary può fallire con un errore XCB se non esiste un
|
|||
|
||||
## 12. Verifica del kernel prima del reboot
|
||||
|
||||
`
|
||||
```
|
||||
dmesg | grep -E 'mali fb000000.gpu: (Kernel DDK|Loading Mali firmware|Mali firmware git_sha|GPU identified|Probed as mali0)'
|
||||
`
|
||||
```
|
||||
|
||||
Devono essere presenti almeno:
|
||||
|
||||
`
|
||||
```
|
||||
Kernel DDK version g21p0-01eac0
|
||||
GPU identified as 0x7 arch 10.8.6 r0p0 status 0
|
||||
Probed as mali0
|
||||
`
|
||||
```
|
||||
|
||||
Dopo che il firmware è stato utilizzato, deve comparire anche il git SHA g21:
|
||||
|
||||
`
|
||||
```
|
||||
Mali firmware git_sha: 221d2b3e5f4cf47df6227ccb24c82c4e4baa986e
|
||||
`
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -361,23 +361,23 @@ Mali firmware git_sha: 221d2b3e5f4cf47df6227ccb24c82c4e4baa986e
|
|||
|
||||
Prima del reboot verificare:
|
||||
|
||||
`
|
||||
```
|
||||
systemctl is-enabled set-mali-firmware.service
|
||||
readlink -f /lib/firmware/mali_csffw.bin
|
||||
`
|
||||
```
|
||||
|
||||
Devono risultare:
|
||||
|
||||
`
|
||||
```
|
||||
disabled
|
||||
/usr/lib/firmware/mali_csffw_g21p0/mali_csffw.bin
|
||||
`
|
||||
```
|
||||
|
||||
A questo punto:
|
||||
|
||||
`
|
||||
```
|
||||
sudo reboot
|
||||
`
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -385,62 +385,62 @@ sudo reboot
|
|||
|
||||
### Kernel e firmware
|
||||
|
||||
`
|
||||
```
|
||||
dmesg | grep -E 'mali fb000000.gpu: (Kernel DDK|Loading Mali firmware|Mali firmware git_sha|GPU identified|Probed as mali0)'
|
||||
`
|
||||
```
|
||||
|
||||
Atteso:
|
||||
|
||||
`
|
||||
```
|
||||
Kernel DDK version g21p0-01eac0
|
||||
GPU identified as 0x7 arch 10.8.6 r0p0 status 0
|
||||
Probed as mali0
|
||||
`
|
||||
```
|
||||
|
||||
e, quando il firmware viene inizializzato:
|
||||
|
||||
`
|
||||
```
|
||||
Mali firmware git_sha: 221d2b3e5f4cf47df6227ccb24c82c4e4baa986e
|
||||
`
|
||||
```
|
||||
|
||||
### Vulkan
|
||||
|
||||
`
|
||||
```
|
||||
VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/mali.json \
|
||||
vulkaninfo --summary
|
||||
`
|
||||
```
|
||||
|
||||
### OpenCL
|
||||
|
||||
`
|
||||
```
|
||||
clinfo | grep -E \
|
||||
'arm_release_ver|Number of platforms|Platform Version|Device Name'
|
||||
`
|
||||
```
|
||||
|
||||
Devono essere presenti:
|
||||
|
||||
`
|
||||
```
|
||||
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
|
||||
`
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 15. Verifica finale dei pacchetti
|
||||
|
||||
`
|
||||
```
|
||||
dpkg -l | grep -E 'libmali|mali-g610-firmware'
|
||||
`
|
||||
```
|
||||
|
||||
Configurazione funzionante di riferimento:
|
||||
|
||||
`
|
||||
```
|
||||
libmali-g610-x11
|
||||
libmali-valhall-g610-g24p0-x11-wayland-gbm
|
||||
mali-g610-firmware
|
||||
`
|
||||
```
|
||||
|
||||
La presenza contemporanea del vecchio pacchetto libmali-g610-x11 non impedisce il funzionamento, purché il vecchio ICD OpenCL g13 non sia attivo.
|
||||
|
||||
|
|
@ -460,17 +460,17 @@ Se è necessario tornare al precedente userspace g13:
|
|||
|
||||
Ripristino firmware:
|
||||
|
||||
`
|
||||
```
|
||||
sudo ln -sfn /lib/firmware/mali_csffw_g21p0/mali_csffw.bin \
|
||||
/lib/firmware/mali_csffw.bin
|
||||
`
|
||||
```
|
||||
|
||||
Ripristino ICD g13:
|
||||
|
||||
`
|
||||
```
|
||||
sudo mv /root/mali-backup-g24-restore/mali-arm64.icd.g13 \
|
||||
/etc/OpenCL/vendors/mali-arm64.icd
|
||||
`
|
||||
```
|
||||
|
||||
# Nota
|
||||
|
||||
|
|
@ -482,7 +482,7 @@ Il rollback completo del userspace g13 dipende dal fatto che il relativo .deb si
|
|||
|
||||
La configurazione verificata è:
|
||||
|
||||
`
|
||||
```
|
||||
Kernel Mali g21p0-01eac0
|
||||
Firmware g21p0
|
||||
Userspace Mali g24p0-00eac0
|
||||
|
|
@ -491,6 +491,6 @@ Vulkan 1.3.276
|
|||
OpenCL 3.0
|
||||
GPU Mali-G610 r0p0
|
||||
OpenCL platforms 1
|
||||
`
|
||||
```
|
||||
|
||||
Questa procedura non richiede modifiche a kernel, DTB o U-Boot.
|
||||
|
|
|
|||
Loading…
Reference in a new issue