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.
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
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.
https://github.com/ikwzm/ZynqMP-FPGA-Xserver
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.
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
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
Erstellen Sie ein Debian-Verzeichnis und fügen Sie die folgenden Dateien hinzu.
debian/
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
Die folgenden Pakete sind erforderlich, um das Debian-Paket für xserver-xorg-video-armoc zu erstellen. Bitte installieren Sie mit apt install.
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
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)
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.
https://github.com/ikwzm/ZynqMP-FPGA-Xserver
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.
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
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
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 "