Getting ready

The reference implementation for the X Windows system is the X.Org server, which is released under permissive licenses such as MIT. It uses a client/server model, with the server communicating with several client programs, serving user input, and accepting graphical output. The X11 protocol is network-transparent, so that clients and server may run on different machines with different architectures and operating systems. However, mostly they both run on the same machine and communicate using local sockets. User interface specifications, such as buttons or menu styles, are not defined in X11, which leaves it to other window manager applications that are usually part of desktop environments, such as Gnome or K Desktop Environment (KDE). X11 has input and video drivers to handle the hardware. For example, it has fbdev, a framebuffer driver that can output to a non-accelerated Linux framebuffer, and evdev, a generic Linux input device driver with support for mice, keyboards, tablets, and touchscreens.

The design of the X11 Windows systems makes it heavy for embedded devices, and although a powerful device like the quad-core i.MX6 has no trouble using it, many embedded devices choose other graphical alternatives. However, there are many graphical applications, mostly from the desktop environment, that run over the X11 Windows system.

The FSL community BSP layer provides a hardware-accelerated X video driver for the i.MX6 SoC, xf86-video-imxfb-vivante, which is included in the X11-based core-image-sato target image and other graphical images.

The X server is configured by an /etc/X11/xorg.conf file that configures the accelerated device, as follows:

Section "Device" 
    Identifier  "i.MX Accelerated Framebuffer Device" 
    Driver      "vivante" 
    Option      "fbdev"     "/dev/fb0" 
    Option      "vivante_fbdev" "/dev/fb0" 
    Option      "HWcursor"  "false" 
EndSection 

The graphical acceleration is provided by the Vivante GPUs included in the i.MX6 SoC. Low-level X11 development is not recommended and toolkits such as GTK+ and Qt are preferred. We will see how to integrate both types of graphical applications into our Yocto target image.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset