Embedded Linux system graphics and graphical user interface

Source: Internet
Author: User
Embedded Linux system graphics and graphical user interface-Linux general technology-Linux programming and kernel information, the following is a detailed description. This article first outlines the basic facilities in the Linux graphic field, and then describes some advanced graphics libraries and graphic user interface support systems available for Embedded Linux systems. It is expected to be helpful for the development of embedded Linux systems.

1 Linux graphics infrastructure

This section first describes the infrastructure that is common in the Linux graphic field. Infrastructure is called because these systems (or function libraries) are generally used as basic function libraries for other advanced graphics or graphics applications. These systems (or function libraries) Include X Window, SVGALib, and FrameBuffer.

1.1 X Window

When talking about images on Linux, many people first think of X Windows. This system is currently a desktop graphics system under control in UNIX-like systems. Undoubtedly, X Window is successful as a graphic environment, and it runs a large number of applications including CAD modeling tools and office kits. However, it must be seen that X Window's support for games and multimedia is limited due to the system interface. When a user runs a VCD player on X Window or a number of large 3D games, the user often finds the same hardware configuration, but cannot obtain the same graphic effect as the Windows operating system ?? Even if the accelerated X Server is used, the effect is not satisfactory. In addition, the response capability of large applications (such as Mozilla browsers) running on X Windows is quite unsatisfactory. Of course, there are issues with the Linux kernel in process scheduling, and there are also reasons for X Window.

X Window provides DGA (direct graphic access) Extension to meet the requirements of graphics acceleration capabilities for games, multimedia and other applications, applications can directly access the frame buffer of the display card in full screen mode and provide support for certain acceleration functions.

1.2 SVGALib

SVGALib is the earliest non-X graphics support library in Linux. This library has evolved from its initial support for standard VGA compatible chips to support older SVGA chips and the popular Advanced Video Chips. It provides you with an interface for Graphic programming on the console, allowing you to easily obtain graphic support on a PC-compatible system. However, the system has the following shortcomings:

1) interface clutter. SVGALib evolved from the original vgalib and retains many interfaces of the old system, but these interfaces cannot well cater to the graphics capabilities of the new display chip.

2) Hardware details cannot be properly hidden. Many operations cannot automatically support the acceleration capability of the display chip.

3) Poor portability. Currently, SVGALib can only run on the x86 platform, with poor support for other platforms (except for Alpha platforms ).

4) The development is slow and may be replaced by other graphics libraries. As an old graph support library, SVGALib has a smaller application scope. Especially after the FrameBuffer driver is added to the Linux kernel, SVGALib is gradually replaced by other graphics libraries.

5) poor support for applications. As a graphics library, SVAGLib does not provide satisfactory support for advanced graphics functions, such as straight lines and curves. Although SVGALib has many disadvantages, SVGALib is often used by other graphics libraries to initialize the display mode of a specific chip and obtain a linear Display memory first address (that is, frame buffer) mapped to the process address space ), other interfaces are rarely used. In addition, the interfaces in SVGALib, such as the keyboard, mouse, and game lever, are rarely used by other applications.

Therefore, SVGALib is used less and less, and we do not recommend that you use this graphics library. Of course, if the user's display card only supports the standard VGA mode, 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.