Running X Window on Debian GNU / Linux for Ultra96 / Ultra96-V2 (fbdev)

Introduction

The author provides Debian GNU / Linux for Ultra96 / Ultra96-V2 (ZynqMP) [1]. The Debian GNU / Linux provided is CUI-based, but this time we have made the X Window System run on Ultra96 / Ultra96-V2 to support the GUI.

Therefore, the procedure for operating the X Window System on Ultra96 / Ultra96-V2 is explained in several parts.

This article describes how to use fbdev (Linux Framebuffer Device) to configure the X Window System.

What is fbdev (Linux Framebuffer Device)?

fbdev (Linux Framebuffer Device) is an abstraction layer that absorbs the differences between graphics cards and provides the software with the same way to access the graphics card. By using fbdev, the application can draw the screen without depending on a specific graphic card.

This mechanism is generally used on consoles.

At this time, the kernel module responsible for the processing on the graphic card side is the fbdev driver. For ZynqMP, xlnx_drv provides fbdev at the same time as DRM (Direct Rendering Manager).

fbdev is the mechanism before the advent of modern user interfaces like today. fbdev does not have a mechanism to handle 3D acceleration, which is not suitable for the desktop environment of today.

X Window System Graphics Stack with fbdev

The X Window System comes standard with a video driver (xserver-xorg-video-fbdev) for rendering with fbdev. With this video driver, you can configure your X Window System with fbdev. For ZynqMP, xlnx_drv provides fbdev, so if you don't care about performance, you can use xserver-xorg-video-fbdev to configure the X Window System relatively easily.

Fig.1 X Window System Graphics Stack with fbdev

Fig.1 X Window System Graphics Stack with fbdev


xorg.conf settings

You must specify fbdev for the Driver property in the Device section of /etc/X11/xorg.conf.

/etc/X11/xorg.conf


Section "Device"
	Identifier	"ZynqMP"
	Driver		"fbdev"
	Option		"DEBUG"	"true"
EndSection
Section "Screen"
	Identifier	"DefaultScreen"
	Device		"ZynqMP"
EndSection

Problems with fbdev

Although fbdev is easy to use like this, there are some problems when using it from the X Window System. That's because fbdev is a relatively old mechanism, and sometimes it doesn't look right when you connect a modern display.

In my case, when I connected it to a very ordinary display that is usually connected to a PC with HDMI, it looked normal, but with a 1024x600 mobile display, it did not show up just by connecting it, and by trial and error / etc / X11 I had to add a lot to /xorg.conf to see it.

If you want to work in a modern environment, it's better to use a video driver that supports xlnx_drv instead of fbdev. For details on using a video driver, refer to the following articles.

[Overview]: https://qiita.com/ikwzm/items/fdec04519268b3fb9a50 "" Running X Window on Debian GNU / Linux for Ultra96 / Ultra96-V2 (Overview) "@Qiita" [Video Driver Edition]: https://qiita.com/ikwzm/items/2a0fbfd2938a893e57d4 "" Running X Window on Debian GNU / Linux for Ultra96 / Ultra96-V2 (Video Driver Edition) "@Qiita" [Mali Driver]: https://qiita.com/ikwzm/items/8c96d75e03cdcb91e5b2 "" Running X Window on Debian GNU / Linux for Ultra96 / Ultra96-V2 (Mali Driver) "@Qiita" [LibMali edition]: https://qiita.com/ikwzm/items/85fa889def8eb07a9e94 "" Running X Window on Debian GNU / Linux for Ultra96 / Ultra96-V2 (libMali edition) "@Qiita" [fbdev edition]: https://qiita.com/ikwzm/items/f922f7e17aa2382d5c76 "" Running X Window on Debian GNU / Linux for Ultra96 / Ultra96-V2 (fbdev edition) "@Qiita" [glmark2 edition]: https://qiita.com/ikwzm/items/5065fb0b6c01ea706571 "" Running X Window on Debian GNU / Linux for Ultra96 / Ultra96-V2 (glmark2 edition) "@ Qiita" [1]: https://qiita.com/ikwzm/items/0c6f110aa19e368af03d "Debian GNU / Linux for UltraZed / Ultra96 / Ultra96-V2 (v2019.1 version) Boot image provided" @Qiita "

Recommended Posts

Running X Window on Debian GNU / Linux for Ultra96 / Ultra96-V2 (fbdev)
Running X Window on Debian GNU / Linux for Ultra96 / Ultra96-V2 (Overview)
Run X Window on Debian GNU / Linux for Ultra96 / Ultra96-V2 (LibMali)
Run X Window on Debian GNU / Linux for Ultra96 / Ultra96-V2 (Video Driver)
Run X Window on Debian GNU / Linux for Ultra96 / Ultra96-V2 (Gnome Desktop)
Run X Window on Debian GNU / Linux for Ultra96 / Ultra96-V2 (Mali Driver)
Running XRT (Xilinx Runtime) on Debian GNU / Linux for Ultra96 / Ultra96-V2 (Overview)
Running XRT (Xilinx Runtime) on Debian GNU / Linux for Ultra96 / Ultra96-V2 (Practice)
Run Lima Driver on Debian GNU / Linux for Ultra96 / Ultra96-V2
Run XRT (Xilinx Runtime) on Debian GNU / Linux for Ultra96 / Ultra96-V2 (Installation)
Run XRT (Xilinx Runtime) on Debian GNU / Linux for Ultra96 / Ultra96-V2 (Build)
Run XRT (Xilinx Runtime) on Debian GNU / Linux for Ultra96 / Ultra96-V2 (Build) [Unfinished]
Run XRT (Xilinx Runtime) on Debian GNU / Linux for Ultra96 / Ultra96-V2 (Installation) [Unfinished]
Run XRT (Xilinx Runtime) on Debian GNU / Linux for Ultra96 / Ultra96-V2 (Vitis edition)
Debian GNU / Linux (v2019.2 version) boot image provided for UltraZed / Ultra96 / Ultra96-V2
Run bootgen on Debian GNU / Linux, Ubuntu
Linux on Windows -1-: debian introduction
pykintone on Windows Subsystem for Linux