Führen Sie X Window unter Debian GNU / Linux für Ultra96 / Ultra96-V2 (Videotreiber) 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 enthält Schritte zum Erstellen des Debian-Pakets für den Videotreiber (xserver-xorg-video-armoc-xilinx) und zum Installieren unter ZynqMP-FPGA-Linux.

Was ist xserver-xorg-video-armoc-xilinx?

Es ist ein DDX-Treiber (Videotreiber) von X Window Server, der ZynqMP unterstützt. Sie können Anzeigeinformationen abrufen und die Anzeige über DRM / KMS (Kernel Module Setting) des von Xilinx bereitgestellten Kernel Module (xlnx_drv) einstellen.

Fig.1 xserver-xorg-video-armsoc-xilinx

Fig.1 xserver-xorg-video-armsoc-xilinx


Debian Package Build-Prozedur

In diesem Kapitel werden die Schritte zum Erstellen eines Debian-Pakets für xserver-xorg-video-armoc-xilinx beschrieben.

Das durch die hier erläuterte Prozedur generierte Repository wird unter der folgenden URL vorbereitet. Wenn Sie Probleme beim Erstellen eines Repositorys haben, verwenden Sie das folgende Repository.

Wir haben auch ein vorgefertigtes xserver-xorg-Video-Armsoc-Xilinx-Debian-Paket in den folgenden Repositories: Wenn Sie Probleme beim Bauen haben, verwenden Sie diese bitte.

Umgebung erstellen

Es gibt eine Einschränkung in der Umgebung zu bauen. Das heißt, xserver-xorg-video-armoc-xilinx muss als Plug-In-Modul für xserver-xorg-core erstellt werden. Dazu benötigen Sie eine Umgebung, in der xserver-xorg-core erstellt wird. Wenn zu diesem Zeitpunkt die Zielumgebung (in diesem Fall Debian 10 (ARM64)) und die Build-Umgebung (z. B. Ubuntu (amd64)) unterschiedlich sind, können Probleme auftreten, z. B. dass nicht normal erstellt werden kann.

Der schnellste Weg, um dieses Problem zu lösen, besteht darin, xserver-xorg-video-armoc auf Debian 10 mit Ultra96 / Ultra96-V2 (selbst) zu erstellen. Dieser Artikel beschreibt die Schritte zum Aufbau auf Debian 10 unter Ultra96 / Ultra96-V2.

Holen Sie sich die Quelle

xserver-xorg-video-Armsoc-Xilinx basiert auf xf86-Video-Armsoc. Es gibt jedoch tatsächlich mehrere Versionen von xf86-Video-Armsoc. Sie können 32 Repositories finden, indem Sie einfach auf github suchen. Neben github gibt es auf Linaro.org und freedesktop.org Git-Repositories. Es ist genau eine Mischung aus hundert Blumen und Kugeln. Im Folgenden finden Sie eine kurze Einführung in die gefundenen Repositorys.

Von den oben genannten Repositorys verwendet xserver-xorg-video-armoc-xilinx das von freedesktop.org bereitgestellte. Ich habe dieses Repository ausgewählt, weil es (wahrscheinlich) von PetaLinux verwendet wird, das von Xilinx bereitgestellt wird. Ich habe andere Repositorys ausprobiert, aber keines davon lässt sich gut erstellen oder anzeigen.

Das freedesktop.org-Repository ist kein Github und kann nicht gegabelt werden. Erstellen Sie daher ein lokales Repository, indem Sie die folgenden Schritte ausführen.

shell$ mkdir xserver-xorg-video-armsoc-xilinx
shell$ cd xserver-xorg-video-armsoc-xilinx
shell$ git init
shell$ git remote add freedesktop https://anongit.freedesktop.org/git/xorg/driver/xf86-video-armsoc.git
shell$ git fetch freedesktop
shell$ git merge freedesktop

Wenden Sie einen Patch für Xilinx an

PetaLinux von Xilinx wird durch Patchen des von freedesktop.org bereitgestellten Repositorys erstellt. Die Patch-Datei finden Sie unter folgender URL:

Laden Sie diese Patch-Datei herunter und patchen Sie das Repository. Ich mache auch Git Commit.

shell$ git clone https://github.com/Xilinx/meta-xilinx/
Cloning into 'meta-xilinx'...
remote: Enumerating objects: 1209, done.        
remote: Counting objects: 100% (1209/1209), done.        
remote: Compressing objects: 100% (605/605), done.        
remote: Total 11725 (delta 678), reused 1045 (delta 551), pack-reused 10516        
Receiving objects: 100% (11725/11725), 8.88 MiB | 6.21 MiB/s, done.
Resolving deltas: 100% (6448/6448), done.
shell$
shell$ patch -p1 < meta-xilinx/meta-xilinx-bsp/recipes-graphics/xorg-driver/xf86-video-armsoc/0001-src-drmmode_xilinx-Add-the-dumb-gem-support-for-Xili.patch 
patching file src/Makefile.am
patching file src/armsoc_driver.c
patching file src/drmmode_driver.h
patching file src/drmmode_xilinx/drmmode_xilinx.c
shell$
shell$ git add --update
shell$ git add src/drmmode_xilinx
shell$ git commit -m "[add] src/drmmode_xilinx" 
[master 84e3cef] [add] src/drmmode_xilinx
 4 files changed, 80 insertions(+), 1 deletion(-)
 create mode 100644 src/drmmode_xilinx/drmmode_xilinx.c

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/xf86-video-armsoc-xilinx.

Nach dem Hinzufügen der Datei git commit.

shell$ git add debian/
shell$ git commit -m "[add] debian/"
[master 3961b1d] [add] debian/
 8 files changed, 68 insertions(+)
 create mode 100644 debian/README.Debian
 create mode 100644 debian/README.source
 create mode 100644 debian/changelog
 create mode 100644 debian/compat
 create mode 100644 debian/control
 create mode 100644 debian/copyright
 create mode 100755 debian/rules
 create mode 100644 debian/xserver-xorg-video-armsoc-xilinx.docs
 create mode 100644 debian/xserver-xorg-video-armsoc-xilinx.install

Für den Build erforderliche Pakete

Die folgenden Pakete sind erforderlich, um das Debian-Paket für xserver-xorg-video-armoc zu erstellen. Bitte installieren Sie mit apt install.

Generieren Sie configure und Makefile

Führen Sie zuerst autogen.sh aus, um configure und Makefile zu generieren. Anschließend müssen Sie make distclean ausführen, um die von autogen.sh generierten Zwischendateien zu löschen.

shell$ autogen.sh
	:
Unterlassung
	:
shell$ make distclean
	:
Unterlassung

Erstellen Sie das Debian-Paket

Führen Sie debian / rule binary aus, um das Debian-Paket für xserver-xorg-video-armoc-xilinx zu erstellen. Das erstellte Paket wird im nächsthöheren Verzeichnis erstellt.

shell$ sudo debian/rule binary
	:
Unterlassung
	:
shell$ dpkg --info ../xserver-xorg-video-armsoc-xilinx_1.4-1_arm64.deb
 new Debian package, version 2.0.
 size 32924 bytes: control archive=856 bytes.
     540 bytes,    12 lines      control
     611 bytes,     7 lines      md5sums
 Package: xserver-xorg-video-armsoc-xilinx
 Source: xf86-video-armsoc-xilinx
 Version: 1.4-1
 Architecture: arm64
 Maintainer: ikwzm <[email protected]>
 Installed-Size: 100
 Depends: libc6 (>= 2.17), libdrm2 (>= 2.4.36), libpixman-1-0, xorg-video-abi-24, xserver-xorg-core (>= 2:1.18.99.901)
 Provides: xorg-driver-video
 Section: x11
 Priority: optional
 Homepage: <https://github.com/ikwzm/xf86-video-armsoc-xilinx>
 Description: X.Org X Server -- ARM SoC display driver for rockchip, amlogic, sunxi and Xilinx(ZynqMP) DRM (mainline kernel)

Installation

Einführung des Debian-Pakets

In diesem Abschnitt werden die Schritte zum Installieren des Debian-Pakets xserver-xorg-video-armoc-xilinx beschrieben, das im vorherigen Kapitel unter ZynqMP-FPGA-Linux erstellt wurde.

Das vorgefertigte Debian-Paket ist im folgenden Repository verfügbar. Sie können dies installieren.

Hinweis

Die hier zu installierende Prozedur ist, wenn das Rendern mit der GPU (Mali-400) nicht ausgeführt wird. Wenn Sie mit der GPU rendern möchten, müssen Sie die Treiber libMali und Mali Kernel installieren, was den Installationsvorgang erschwert. Weitere Informationen finden Sie im folgenden Artikel.

Debian-Paket installieren

Installieren Sie zuerst das X Window System.

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

Installieren Sie dann xserver-xorg-video-armoc-xilinx_1.4-1_arm64.deb.

shell$ sudo dpkg -i xserver-xorg-video-armsoc-xilinx_1.4-1_arm64.deb
[sudo] password for fpga:
(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) ...

Installieren Sie Ihren bevorzugten Fenstermanager.

shell$  apt install jwm
	:
Unterlassung

xorg.conf Einstellungen

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

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.

[Ü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 (Videotreiber) 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 (LibMali) aus.
Führen Sie X Window unter Debian GNU / Linux für Ultra96 / Ultra96-V2 (Gnome Desktop) aus.
Führen Sie den Lima-Treiber unter Debian GNU / Linux für Ultra96 / Ultra96-V2 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 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 XRT (Xilinx Runtime) unter Debian GNU / Linux für Ultra96 / Ultra96-V2 aus (Übung)
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 Tensorflow 2.x unter Python 3.7 aus
Linux unter Windows -1-: Einführung in Debian