Embedded Linux system graphics and graphical user interface

Source: Internet
Author: User

This article first outlines the basic infrastructure of the Linux graphics field, and then describes some advanced graphics libraries and graphical user interface support systems that can be used by embedded Linux systems. Want to help with the development of embedded Linux systems.

1 infrastructure in the Linux graphics field

This section first describes the common infrastructure in the Linux graphics field to readers. They are called infrastructure because of these systems (or function libraries), which are generally the basic function libraries for other advanced graphics or graphics applications. These systems (or function libraries) include: X Window, Svgalib, framebuffer, and so on.

1.1 X Window

To bring up graphics on Linux, many people first think of X Window. This system is the desktop graphics system in the control position of UNIX-like system at present. Undoubtedly, the X Window was successful as a graphical environment, running a large number of applications, including CAD modeling tools and office suites. It must be seen, however, that the X Window's reason for the system interface limits its ability to support gaming and multimedia. Users running a VCD player on X Window, or running some large three-dimensional game, often find the same hardware configuration, but not the same graphic effect as the Windows operating system-even with the accelerated X Server, the effect is not satisfactory. In addition, the responsiveness of large applications, such as Mozilla browsers, when running on the X Window is quite unsatisfactory. Of course, there are problems with the Linux kernel in process scheduling, as well as the reason for X Window.

X Window provides a DGA (direct graphics access) extension that enables applications to access the frame buffer of the display card directly in Full-screen mode and provides support for certain acceleration features in order to meet the graphics acceleration requirements for applications such as gaming, multimedia, and so on.

1.2 Svgalib

Svgalib is the first non-X graphics support library that appears in Linux systems. This library began with the initial support for standard VGA-compatible chips, and has been developed to support older SVGA chips and support for today's popular advanced video chips. It provides users with a graphical programming interface on the console, enabling users to easily obtain graphics support on a PC-compatible system. However, the system has the following deficiencies:

1) interface clutter. Svgalib from the original vgalib, many of the interfaces of the old system are preserved, and these interfaces do not cater well to the graphics capabilities of the new display chips.

2) failed to better hide hardware details. Many operations that do not automatically use the display chip's acceleration capability support.

3) portability is poor. Svgalib is currently available only on the x86 platform, with poor support for other platforms (except for the Alpha platform).

4) Slow development, there is the possibility of being replaced by other graphics libraries. Svgalib as an old graphics support library, the current scope of application is increasingly small, especially after the Linux kernel has increased the framebuffer driver support, there are gradually replaced by other graphics library signs.

5 The ability to support the application is poor. Svaglib as a graphics library, support for advanced graphics functions, such as lines and curves, is not satisfactory. Although Svgalib has many drawbacks, svgalib is often used by other graphics libraries to initialize the display mode of a particular chip, and to obtain a linear display memory head address (that is, a frame buffer) mapped to the process address space, while other interfaces are rarely used. In addition, the interfaces contained in Svgalib, such as keyboards, mice, and joystick, are rarely used by other applications.

Therefore, the use of svgalib is fewer and less, I do not recommend users to use this graphics library. Of course, if the user's display card only supports standard VGA mode, then Svgalib is a better choice.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.