Thursday, June 11, 2015

1. Framebuffer

+ Framebuffer là một phần của video memory  chứa video frame hiện tại.
+ Linux Framebuffer (fbdev) là cách thức/phương tiện để truy cập Framebuffer dựa trên Linux kernel. fbdev được biểu diễn trên tầng applications dưới dạng device file/dev/fb0

2. Graphical Toolkits
2.1 Low-level solutions and layers
DirectFB (directfb.org)



DirectFB (DFB) là graphic library cấp thấp truy cập trược tiếp xuống framebuffer, DFB cung cấp đầy đủ các hàm API để thực hiện các thao tác vẽ:
+ Lines, rectangles, triangles drawing and filling
+ Blitting, flipping
+ Text drawing
+ Windows and transparency
+ Image loading and video display

Xử lý sự kiện từ các thiết bị ngoại vi:
+ mice
+ keyboards,
+ joysticks
+ touchscreens

Cung cấp khả năng hardware graphics acceleration trên một số hardware platform, có thể hiểu đó là các thao tác vẽ và xử lý hình ảnh bằng những DSP core phần cứng chuyên dụng thay vì làm điều đó bằng phần mềm, nhờ thế hình ảnh hiển thị trên màn hình rất mượt, không bị giật như xử lý bằng phần mềm.

DFB được dùng phổ biến trên các thiết bị nhúng vì nó truy cập trực tiếp framebuffer nên rất nhẹ, tuy nhiên  có nhược điểm là các API khá phức tạp, chưa xây dựng thành các graphic component (Label, Button,, CheckBox, ListView, ...) làm mất thời gian phát triển giao diện.
Để khắc phục khó khăn đó một số Toolkit Engine như LiTE hay ilixi ra đời, chúng là một tập các graphic component được xây dụng dựa trên DFB, vì thế applications dùng các toolkit này được xây dựng rất nhanh.

X11
Tương tự DFB, X11 hay X Windows System cũng là thư viện cấp thấp truy cập trực tiếp framebuffer, một vài toolkit engine được xây dựng dựa trên X11 như GTK và QT được dùng phổ biến.
Note: X11 chỉ  hoạt động trên máy tính, không có trên các thiết bị nhúng.


2.2 High-level 
GTK
GTK là một thư viện cấp cao được xây dựng dựa trên thư viện cấp thấp là X11, các bản Linux Fedora Gnome được xây dựng hệ thống giao diện đồ họa dựa trên GTK/X11.
Note: GTK chỉ  hoạt động trên máy tính, không có trên các thiết bị nhúng.

QT

                        



                 

QT là một graphic library đa nền tảng, trên hệ thống nhúng (Embedded Linux) nó giống DirectFB, trên máy tính Linux/X11 nó giống với GTK.
QT có một thư viện graphic component rất phong phú, hỗ trợ xử lý các thiết bị ngoại vi (mice, keyboard, touchscreen, ...), có phần mềm xây dựng giao diện chuyên nghiệp (QT Creator). QT được dùng rất phổ biến cả trên máy Linux/X11 lẫn các thiết bị nhúng Embedded Linux.
Bản Linux Fedora KDE có giao diện người dùng được xây dựng dựa trên QT/X11.


Leave a Reply

Subscribe to Posts | Subscribe to Comments

- Copyright © Lập trình hệ thống nhúng Linux . Powered by Luong Duy Ninh -