L'auteur fournit Debian GNU / Linux pour Ultra96 / Ultra96-V2 (ZynqMP) [1]. Le Debian GNU / Linux fourni est basé sur CUI, mais cette fois, nous avons fait fonctionner le système X Window sur Ultra96 / Ultra96-V2 pour prendre en charge l'interface graphique.
Par conséquent, la procédure de fonctionnement du système X Window sur Ultra96 / Ultra96-V2 est expliquée en plusieurs parties.
Cet article vous guidera à travers les étapes pour construire le paquet LibMali Debian et installer le système X Window avec libMali sur ZynqMP-FPGA-Linux.
libMali est une bibliothèque basée sur l'espace utilisateur pour le rendu 3D sur un GPU (Mali-400). Il prend en charge OpenGL ES 2.0. Cette bibliothèque est requise pour le rendu 3D à l'aide du GPU. Cette bibliothèque est fournie en binaire par ARM.
Fig.1 LibMali(User Space Libraries for Mali)
Ce chapitre fournit les étapes pour créer un paquet Debian libMali.
Le référentiel généré par la procédure expliquée ici est disponible à l'URL suivante. Si vous rencontrez des difficultés pour créer un référentiel, veuillez utiliser le référentiel suivant.
LibMali est une bibliothèque binaire fournie par Xilinx. Non fourni par le code source. Cet article décrit les étapes pour transformer une bibliothèque fournie par un binaire en un paquet Debian. Le but du paquet Debian est de faciliter l'installation sur Debian en l'empaquetant.
Nous avons également un paquet Debian libMali pré-construit dans le dépôt suivant: Si vous rencontrez des difficultés pour construire, veuillez utiliser ceci
https://github.com/ikwzm/ZynqMP-FPGA-Xserver
shell$ mkdir libmali-zynqmp
shell$ cd libmali-zynqmp
shell$ git init
La bibliothèque binaire utilise la bibliothèque fournie par Xilinx. Veuillez vous reporter à la page Web suivante pour accepter la licence du logiciel et télécharger mali-400-userspace.tar.
Vous pouvez également le télécharger par la méthode suivante. Cependant, veuillez accepter la licence du logiciel.
shell$ wget https://www.xilinx.com/publications/products/tools/mali-400-userspace.tar
--2019-12-08 21:39:58-- https://www.xilinx.com/publications/products/tools/mali-400-userspace.tar
-UUU:----F1 Readme.md<libmali-zynqmp> 49% L37 Git-master (Fundamental) ---
HTTP request sent, awaiting response... 200 OK
Length: 572887040 (546M) [application/x-tar]
Saving to: ‘mali-400-userspace.tar’
mali-400-userspace. 100%[==================>] 546.35M 1.27MB/s in 9m 2s
2019-12-24 16:54:47 (1.01 MB/s) - ‘mali-400-userspace.tar’ saved [572887040/572887040]
Extrayez mali / rel-v2019.1 / r8p0-01rel0 de mali-400-userspace.tar.
shell$ tar xf mali-400-userspace.tar mali/rel-v2019.1/r8p0-01rel0.tar
shell$ tar xf mali/rel-v2019.1/r8p0-01rel0.tar
Créez un répertoire debian et ajoutez les fichiers suivants. Ces fichiers ne sont pas décrits ici. Voir https://github.com/ikwzm/libmali-zynqmp pour plus d'informations.
debian/
Le paquet Debian pour le développement de libMali (libgbm-zynqmp-dev_1.6-3_arm64.deb et libmali-zynqmp-dev_1.6-3_arm64.deb) comprend également des fichiers pour pkgconfig. Ajoutez un fichier pour l'installation de pkgconfig. Ces fichiers ne sont pas décrits ici. Voir https://github.com/ikwzm/libmali-zynqmp pour plus d'informations.
pkgconfig/
Utilisez cmake lors de la construction du paquet Debian. Ajoutez CMakeLists.txt pour cela.
Le référentiel créé par la procédure expliquée dans la section précédente est préparé à l'URL suivante. Si vous rencontrez des difficultés pour créer un référentiel, veuillez cloner ce référentiel.
https://github.com/ikwzm/libmali-zynqmp
Exécutez le binaire debian / rule pour construire le paquet Debian. Le package construit sera créé dans le répertoire supérieur suivant.
shell$ sudo debian/rule binary
:
Omission
../
Ce chapitre décrit les étapes d'installation du système X Window avec libMali sur ZynqMP-FPGA-Linux.
Le paquet Debian pré-construit est disponible dans le référentiel suivant. Vous pouvez l'installer.
https://github.com/ikwzm/ZynqMP-FPGA-Xserver
Lors de l'installation du paquet libMali Debian, l'ordre dans lequel ils sont installés est important. C'est parce que le paquet Debian de libMali écrase partiellement le contenu du paquet Debian, qui est installé par défaut avec le système X Window. Je ne suis pas très familier avec le paquet Debian, donc je ne pouvais pas créer un paquet Debian qui pourrait être installé d'un seul coup. Notez s'il vous plaît.
Plus précisément, installez-le selon la procédure suivante.
Si le système X Window est déjà installé, vous devez désinstaller le système X Window une fois en suivant la procédure ci-dessous.
Le pilote Mali est un module de noyau pour contrôler le GPU (Mali-400) installé dans ZynqMP. Consultez les articles suivants pour installer le pilote Mali.
Installez le système X Window.
shell$ apt install x-window-system-core
:
Omission
Installez __ libMali après avoir installé le système X Window. Installez le paquet Debian de libMali dans l'ordre suivant.
shell$ sudo dpkg -i libmali-zynqmp_1.7-0_arm64.deb
Selecting previously unselected package libmali-zynqmp:arm64.
(Reading database ... 85064 files and directories currently installed.)
Preparing to unpack libmali-zynqmp_1.7-0_arm64.deb ...
Unpacking libmali-zynqmp:arm64 (1.7-0) ...
Setting up libmali-zynqmp:arm64 (1.7-0) ...
Processing triggers for libc-bin (2.28-10) ...
shell$ sudo dpkg -i libegl1-zynqmp_1.7-0_arm64.deb
Selecting previously unselected package libegl1-zynqmp:arm64.
(Reading database ... 85072 files and directories currently installed.)
Preparing to unpack libegl1-zynqmp_1.7-0_arm64.deb ...
Unpacking libegl1-zynqmp:arm64 (1.7-0) ...
Replacing files in old package libegl1:arm64 (1.1.0-1) ...
Setting up libegl1-zynqmp:arm64 (1.7-0) ...
shell$ sudo dpkg -i libgles1-zynqmp_1.7-0_arm64.deb
Selecting previously unselected package libgles1-zynqmp:arm64.
(Reading database ... 85076 files and directories currently installed.)
Preparing to unpack libgles1-zynqmp_1.7-0_arm64.deb ...
Unpacking libgles1-zynqmp:arm64 (1.7-0) ...
Setting up libgles1-zynqmp:arm64 (1.7-0) ...
shell$ sudo dpkg -i libgles2-zynqmp_1.7-0_arm64.deb
Selecting previously unselected package libgles2-zynqmp:arm64.
(Reading database ... 85081 files and directories currently installed.)
Preparing to unpack libgles2-zynqmp_1.7-0_arm64.deb ...
Unpacking libgles2-zynqmp:arm64 (1.7-0) ...
Setting up libgles2-zynqmp:arm64 (1.7-0) ...
shell$ sudo dpkg -i libgbm1-zynqmp_1.7-0_arm64.deb
Selecting previously unselected package libgbm1-zynqmp:arm64.
(Reading database ... 85086 files and directories currently installed.)
Preparing to unpack libgbm1-zynqmp_1.7-0_arm64.deb ...
Unpacking libgbm1-zynqmp:arm64 (1.7-0) ...
Replacing files in old package libgbm1:arm64 (18.3.6-2) ...
Setting up libgbm1-zynqmp:arm64 (1.7-0) ...
Le pilote vidéo (xserver-xorg-video-armoc-xilinx) est un pilote DDX (pilote vidéo) pour X Window Server qui prend en charge ZynqMP. Veuillez vous référer à l'article suivant pour plus de détails.
xserver-xorg-video-armoc-xilinx_1.4-1_arm64.deb en utilisant dpkg À installer.
shell$ sudo dpkg -i xserver-xorg-video-armsoc-xilinx_1.4-1_arm64.deb
(Reading database ... 66644 files and directories currently installed.)
Preparing to unpack xserver-xorg-video-armsoc-xilinx_1.4-1_arm64.deb ...
Unpacking xserver-xorg-video-armsoc-xilinx (1.4-1) over (1.4-1) ...
Setting up xserver-xorg-video-armsoc-xilinx (1.4-1) ...
Processing triggers for man-db (2.8.5-2) ...
Vous devez spécifier armoc pour la propriété Driver dans la section Device de /etc/X11/xorg.conf.
/etc/X11/xorg.conf
Section "Device"
Identifier "ZynqMP"
Driver "armsoc"
Option "DEBUG" "true"
EndSection
Section "Screen"
Identifier "DefaultScreen"
Device "ZynqMP"
EndSection
Si nécessaire, installez le paquet Debian pour le développement.
shell$ sudo dpkg -i libmali-zynqmp-dev_1.7-0_arm64.deb
Selecting previously unselected package libmali-zynqmp-dev:arm64.
(Reading database ... 85097 files and directories currently installed.)
Preparing to unpack libmali-zynqmp-dev_1.7-0_arm64.deb ...
Unpacking libmali-zynqmp-dev:arm64 (1.7-0) ...
Setting up libmali-zynqmp-dev:arm64 (1.7-0) ...
shell$ sudo dpkg -i libegl1-zynqmp-dev_1.7-0_arm64.deb
Selecting previously unselected package libegl1-zynqmp-dev:arm64.
(Reading database ... 85101 files and directories currently installed.)
Preparing to unpack libegl1-zynqmp-dev_1.7-0_arm64.deb ...
Unpacking libegl1-zynqmp-dev:arm64 (1.7-0) ...
Setting up libegl1-zynqmp-dev:arm64 (1.7-0) ...
shell$ sudo dpkg -i libegl1-zynqmp-dev_1.7-0_arm64.deb
(Reading database ... 85110 files and directories currently installed.)
Preparing to unpack libegl1-zynqmp-dev_1.7-0_arm64.deb ...
Unpacking libegl1-zynqmp-dev:arm64 (1.7-0) over (1.7-0) ...
Setting up libegl1-zynqmp-dev:arm64 (1.7-0) ...
shell$ sudo dpkg -i libgles2-zynqmp-dev_1.7-0_arm64.deb
Selecting previously unselected package libgles2-zynqmp-dev:arm64.
(Reading database ... 85110 files and directories currently installed.)
Preparing to unpack libgles2-zynqmp-dev_1.7-0_arm64.deb ...
Unpacking libgles2-zynqmp-dev:arm64 (1.7-0) ...
Setting up libgles2-zynqmp-dev:arm64 (1.7-0) ...
shell$ sudo dpkg -i libgbm-zynqmp-dev_1.7-0_arm64.deb
Selecting previously unselected package libgbm-zynqmp-dev:arm64.
(Reading database ... 85119 files and directories currently installed.)
Preparing to unpack libgbm-zynqmp-dev_1.7-0_arm64.deb ...
Unpacking libgbm-zynqmp-dev:arm64 (1.7-0) ...
Setting up libgbm-zynqmp-dev:arm64 (1.7-0) ...
En raison de mon manque d'étude, les dépendances du paquet Debian sont perturbées. Par conséquent, lors de la mise à jour ou de la désinstallation d'un package, il peut échouer. Si cela se produit, il est préférable de désinstaller le système X Window une fois. Voici les étapes pour désinstaller le système X Window.
Tout d'abord, purgez xserver-xorg-core.
shell$ sudo apt purge xserver-xorg-core
:
Omission
Utilisez autopurge pour supprimer les packages qui dépendaient de xserver-xorg-core.
shell$ sudo apt autopurge
:
Omission
Désinstallez libmali-zynqmp et libgbm1-zynqmp.
shell$ sudo dpkg --purge libgbm1-zynqmp
(Reading database ... 55745 files and directories currently installed.)
Removing libgbm1-zynqmp:arm64 (1.6-3) ...
shell$ sudo dpkg --purge libmali-zynqmp
(Reading database ... 55741 files and directories currently installed.)
Removing libmali-zynqmp:arm64 (1.6-3) ...
Purging configuration files for libmali-zynqmp:arm64 (1.6-3) ...
Processing triggers for libc-bin (2.28-10) ...
Connectez-vous en tant que root et essayez de démarrer avec startx.
shell# startx &
:
Omission
Si vous voyez X Windows sur l'écran, vous avez réussi.
J'ai exécuté le benchmark avec Video Driver + GPU. Veuillez vous référer à la page suivante pour plus de détails.
[Présentation]: https://qiita.com/ikwzm/items/fdec04519268b3fb9a50 "" Exécution de X Window sur Debian GNU / Linux pour Ultra96 / Ultra96-V2 (Présentation) "@Qiita" [Video Driver Edition]: https://qiita.com/ikwzm/items/2a0fbfd2938a893e57d4 "" Exécution de X Window sur Debian GNU / Linux pour Ultra96 / Ultra96-V2 (Video Driver Edition) "@Qiita" [Mali Driver Edition]: https://qiita.com/ikwzm/items/8c96d75e03cdcb91e5b2 "" Exécution de X Window sur Debian GNU / Linux pour Ultra96 / Ultra96-V2 (Mali Driver Edition) "@Qiita" [Edition LibMali]: https://qiita.com/ikwzm/items/85fa889def8eb07a9e94 "" Exécution de X Window sur Debian GNU / Linux pour Ultra96 / Ultra96-V2 (édition libMali) "@ Qiita" [édition fbdev]: https://qiita.com/ikwzm/items/f922f7e17aa2382d5c76 "" Exécution de X Window sur Debian GNU / Linux pour Ultra96 / Ultra96-V2 (édition fbdev) "@Qiita" [édition glmark2]: https://qiita.com/ikwzm/items/5065fb0b6c01ea706571 "" Exécution de X Window sur Debian GNU / Linux pour Ultra96 / Ultra96-V2 (édition glmark2) "@ Qiita" [1]: https://qiita.com/ikwzm/items/0c6f110aa19e368af03d "Fourniture d'une image de démarrage pour Debian GNU / Linux (version v2019.1) pour UltraZed / Ultra96 / Ultra96-V2" @Qiita "
Recommended Posts