Führen Sie X Window unter Debian GNU / Linux für Ultra96 / Ultra96-V2 (LibMali) aus.

Einführung

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.

Was ist LibMali (User Space Libraries für Mali)?

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)

Fig.1 LibMali(User Space Libraries for Mali)


Debian Package Build-Prozedur

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.

Erstellen Sie ein Repository

shell$ mkdir libmali-zynqmp
shell$ cd libmali-zynqmp 
shell$ git init

Holen Sie sich eine Binärbibliothek

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

Fügen Sie eine Datei hinzu, um ein Debian-Paket zu erstellen

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.

Fügen Sie eine Datei für pkgconfig hinzu

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.

Fügen Sie CMakeLists.txt hinzu

Verwenden Sie cmake, wenn Sie das Debian-Paket erstellen. Fügen Sie dazu CMakeLists.txt hinzu.

Erstellen Sie das Debian-Paket

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

Installation

Einführung des Debian-Pakets

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.

wichtiger Punkt

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.

Installationsverfahren

Installieren Sie es speziell gemäß dem folgenden Verfahren.

  1. Installieren Sie den Mali-Treiber
  2. Installieren Sie das X Window System
  3. Installieren Sie libMali
  4. Installieren Sie den Videotreiber (xserver-xorg-video-armoc-xilinx).
  5. Bearbeiten Sie xorg.conf
  6. Installieren Sie Entwicklungspakete (falls erforderlich).

Wenn das X Window System bereits installiert ist, müssen Sie das X Window System einmal deinstallieren, indem Sie die folgenden Schritte ausführen.

1. Installieren Sie den Mali-Treiber

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.

2. Installieren Sie das X Window System

Installieren Sie das X Window System.

shell$  apt install x-window-system-core
	:
Unterlassung

3. Installieren Sie libMali

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) ...

4. Installieren Sie den Videotreiber (xserver-xorg-video-armoc-xilinx).

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) ...

5. Bearbeiten Sie xorg.conf

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

6. Installieren Sie Entwicklungspakete (falls erforderlich).

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) ...

Deinstallieren

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.

1. xserver-xorg-core löschen

Löschen Sie zunächst xserver-xorg-core.

shell$ sudo apt purge xserver-xorg-core
	:
Unterlassung

2. Autopurge

Verwenden Sie Autopurge, um Pakete zu entfernen, die von xserver-xorg-core abhängen.

shell$ sudo apt autopurge
	:
Unterlassung

3. Deinstallieren Sie libMali

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) ...

Anlaufen

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.

Benchmark

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 "

Recommended Posts

Führen Sie X Window unter Debian GNU / Linux für Ultra96 / Ultra96-V2 (LibMali) aus.
Führen Sie X Window unter Debian GNU / Linux für Ultra96 / Ultra96-V2 (Videotreiber) aus.
Führen Sie X Window unter Debian GNU / Linux für Ultra96 / Ultra96-V2 (Gnome Desktop) aus.
Führen Sie X Window unter Debian GNU / Linux für Ultra96 / Ultra96-V2 (Mali-Treiber) aus.
Führen Sie X Window unter Debian GNU / Linux für Ultra96 / Ultra96-V2 (fbdev Edition) aus.
Führen Sie X Window unter Debian GNU / Linux für Ultra96 / Ultra96-V2 aus (Übersicht)
Führen Sie den Lima-Treiber unter Debian GNU / Linux für Ultra96 / Ultra96-V2 aus
Führen Sie XRT (Xilinx Runtime) unter Debian GNU / Linux für Ultra96 / Ultra96-V2 aus (Installation)
Führen Sie XRT (Xilinx Runtime) unter Debian GNU / Linux für Ultra96 / Ultra96-V2 (Build) aus.
Führen Sie XRT (Xilinx Runtime) unter Debian GNU / Linux für Ultra96 / Ultra96-V2 (Build) aus [Unfinished]
Führen Sie XRT (Xilinx Runtime) unter Debian GNU / Linux für Ultra96 / Ultra96-V2 aus (Installation) [Unfinished]
Führen Sie XRT (Xilinx Runtime) unter Debian GNU / Linux für Ultra96 / Ultra96-V2 (Vitis Edition) aus.
Führen Sie XRT (Xilinx Runtime) unter Debian GNU / Linux für Ultra96 / Ultra96-V2 aus (Übersicht).
Führen Sie bootgen unter Debian GNU / Linux, Ubuntu aus
Debian GNU / Linux (Version v2019.2) Boot-Image für UltraZed / Ultra96 / Ultra96-V2
Führen Sie Debian (Linux) & LXQt auf Athlon 200GE (AMD) aus.
Führen Sie Tensorflow 2.x unter Python 3.7 aus
Linux unter Windows -1-: Einführung in Debian
Führen Sie einen Linux-Server mit GCP aus
Führen Sie den VMware Horizon Client unter Debian aus
[Hinweis] Führen Sie Django unter Amazon Linux 2 aus
pykintone unter Windows Subsystem für Linux
Führen Sie cron unter Amazon Linux aus (unter Linux eingestellt).