diff --git a/README.md b/README.md index 06ae798..3458980 100644 --- a/README.md +++ b/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.