Der Autor stellt Debian GNU / Linux für Ultra96 / Ultra96-V2 (ZynqMP) zur Verfügung [1]. Das bereitgestellte Debian GNU / Linux basiert auf CUI, aber dieses Mal haben wir das X Window System auf Ultra96 / Ultra96-V2 ausgeführt, um die GUI zu unterstützen.
Daher wird die Vorgehensweise zum Betrieb des X Window-Systems unter Ultra96 / Ultra96-V2 in mehreren Teilen erläutert.
Dieser Artikel führt Sie durch die Schritte zum Erstellen des LibMali Debian-Pakets und zum Installieren des X Window-Systems mit libMali unter ZynqMP-FPGA-Linux.
libMali ist eine benutzerraumbasierte Bibliothek für das 3D-Rendering auf einer GPU (Mali-400). Es unterstützt OpenGL ES 2.0. Diese Bibliothek wird für das 3D-Rendering mit der GPU benötigt. Diese Bibliothek wird von ARM binär bereitgestellt.
Fig.1 LibMali(User Space Libraries for Mali)
Dieses Kapitel enthält Anweisungen zum Erstellen eines libMali Debian-Pakets.
Das durch das hier erläuterte Verfahren generierte Repository ist unter der folgenden URL verfügbar. Wenn Sie Probleme beim Erstellen eines Repositorys haben, verwenden Sie das folgende Repository.
LibMali ist eine von Xilinx bereitgestellte Binärbibliothek. Nicht vom Quellcode bereitgestellt. Dieser Artikel beschreibt die Schritte, um eine von Binärdateien bereitgestellte Bibliothek in ein Debian-Paket umzuwandeln. Der Zweck des Debian-Pakets besteht darin, die Installation auf Debian durch Packen zu vereinfachen.
Wir haben auch ein vorgefertigtes libMali Debian-Paket im folgenden Repository: Wenn Sie Probleme beim Bauen haben, verwenden Sie diese bitte.
https://github.com/ikwzm/ZynqMP-FPGA-Xserver
shell$ mkdir libmali-zynqmp
shell$ cd libmali-zynqmp
shell$ git init
Die Binärbibliothek verwendet die von Xilinx bereitgestellte Bibliothek. Auf der folgenden Webseite können Sie die Softwarelizenz akzeptieren und dann mali-400-userspace.tar herunterladen.
Sie können es auch mit der folgenden Methode herunterladen. Bitte akzeptieren Sie jedoch die Softwarelizenz.
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]
Extrahieren Sie mali / rel-v2019.1 / r8p0-01rel0 aus 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
Erstellen Sie ein Debian-Verzeichnis und fügen Sie die folgenden Dateien hinzu. Diese Dateien werden hier nicht beschrieben. Weitere Informationen finden Sie unter https://github.com/ikwzm/libmali-zynqmp.
debian/
Das Debian-Paket für die libMali-Entwicklung (libgbm-zynqmp-dev_1.6-3_arm64.deb und libmali-zynqmp-dev_1.6-3_arm64.deb) enthält auch Dateien für pkgconfig. Fügen Sie eine Datei für die Installation von pkgconfig hinzu. Diese Dateien werden hier nicht beschrieben. Weitere Informationen finden Sie unter https://github.com/ikwzm/libmali-zynqmp.
pkgconfig/
Verwenden Sie cmake, wenn Sie das Debian-Paket erstellen. Fügen Sie dazu CMakeLists.txt hinzu.
Das Repository, das mit der im vorherigen Abschnitt erläuterten Prozedur erstellt wurde, wird unter der folgenden URL vorbereitet. Wenn Sie Probleme beim Erstellen eines Repositorys haben, klonen Sie dieses Repository.
https://github.com/ikwzm/libmali-zynqmp
Führen Sie debian / rule binary aus, um das Debian-Paket zu erstellen. Das erstellte Paket wird im nächsthöheren Verzeichnis erstellt.
shell$ sudo debian/rule binary
:
Unterlassung
../
In diesem Kapitel werden die Schritte zum Installieren des X Window-Systems mit libMali unter ZynqMP-FPGA-Linux beschrieben.
Das vorgefertigte Debian-Paket ist im folgenden Repository verfügbar. Sie können dies installieren.
https://github.com/ikwzm/ZynqMP-FPGA-Xserver
Bei der Installation des libMali Debian-Pakets ist die Reihenfolge wichtig, in der sie installiert werden. Dies liegt daran, dass das Debian-Paket von libMali den Inhalt des Debian-Pakets, das standardmäßig mit dem X Window-System installiert wird, teilweise überschreibt. Ich bin mit dem Debian-Paket nicht sehr vertraut, daher konnte ich kein Debian-Paket erstellen, das auf einmal installiert werden konnte. Bitte beachten Sie.
Installieren Sie es speziell gemäß dem folgenden Verfahren.
Wenn das X Window System bereits installiert ist, müssen Sie das X Window System einmal deinstallieren, indem Sie die folgenden Schritte ausführen.
Der Mali-Treiber ist ein Kernel-Modul zur Steuerung der in ZynqMP installierten GPU (Mali-400). Informationen zur Installation des Mali-Treibers finden Sie in den folgenden Artikeln.
Installieren Sie das X Window System.
shell$ apt install x-window-system-core
:
Unterlassung
Installieren Sie __ libMali nach der Installation des X Window Systems. Installieren Sie das Debian-Paket von libMali in der folgenden Reihenfolge.
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) ...
Der Videotreiber (xserver-xorg-video-armoc-xilinx) ist der DDX-Treiber (Videotreiber) von X Window Server, der ZynqMP unterstützt. Weitere Informationen finden Sie im folgenden Artikel.
xserver-xorg-video-armoc-xilinx_1.4-1_arm64.deb mit dpkg Installieren.
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) ...
Sie müssen Armsoc für die Driver-Eigenschaft im Abschnitt Device von /etc/X11/xorg.conf angeben.
/etc/X11/xorg.conf
Section "Device"
Identifier "ZynqMP"
Driver "armsoc"
Option "DEBUG" "true"
EndSection
Section "Screen"
Identifier "DefaultScreen"
Device "ZynqMP"
EndSection
Installieren Sie gegebenenfalls das Debian-Paket für die Entwicklung.
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) ...
Aufgrund meines Mangels an Studien sind die Abhängigkeiten des Debian-Pakets gestört. Daher kann es beim Aktualisieren oder Deinstallieren eines Pakets fehlschlagen. In diesem Fall ist es besser, das X Window System einmal zu deinstallieren. Hier sind die Schritte zum Deinstallieren des X Window-Systems.
Löschen Sie zunächst xserver-xorg-core.
shell$ sudo apt purge xserver-xorg-core
:
Unterlassung
Verwenden Sie Autopurge, um Pakete zu entfernen, die von xserver-xorg-core abhängen.
shell$ sudo apt autopurge
:
Unterlassung
Deinstallieren Sie libmali-zynqmp und 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) ...
Melden Sie sich als root an und versuchen Sie, mit startx zu beginnen.
shell# startx &
:
Unterlassung
Wenn Sie X Windows auf dem Display sehen, sind Sie erfolgreich.
Ich habe den Benchmark mit Video Driver + GPU durchgeführt. Weitere Informationen finden Sie auf der folgenden Seite.
[Übersicht]: https://qiita.com/ikwzm/items/fdec04519268b3fb9a50 "" Ausführen des X-Fensters unter Debian GNU / Linux für Ultra96 / Ultra96-V2 (Übersicht) "@Qiita" [Video Driver Edition]: https://qiita.com/ikwzm/items/2a0fbfd2938a893e57d4 "" Ausführen des X-Fensters unter Debian GNU / Linux für Ultra96 / Ultra96-V2 (Video Driver Edition) "@Qiita" [Mali Driver Edition]: https://qiita.com/ikwzm/items/8c96d75e03cdcb91e5b2 "" Ausführen des X-Fensters unter Debian GNU / Linux für Ultra96 / Ultra96-V2 (Mali Driver Edition) "@Qiita" [LibMali-Edition]: https://qiita.com/ikwzm/items/85fa889def8eb07a9e94 "" Ausführen des X-Fensters unter Debian GNU / Linux für Ultra96 / Ultra96-V2 (libMali-Edition) "@ Qiita" [fbdev edition]: https://qiita.com/ikwzm/items/f922f7e17aa2382d5c76 "" Ausführen von X Window unter Debian GNU / Linux für Ultra96 / Ultra96-V2 (fbdev edition) "@Qiita" [glmark2 edition]: https://qiita.com/ikwzm/items/5065fb0b6c01ea706571 "" Ausführen von X Window unter Debian GNU / Linux für Ultra96 / Ultra96-V2 (glmark2 edition) "@ Qiita" [1]: https://qiita.com/ikwzm/items/0c6f110aa19e368af03d "Bereitstellung eines Boot-Images für Debian GNU / Linux (Version v2019.1) für UltraZed / Ultra96 / Ultra96-V2" @Qiita "