- 12
- 0
- 约 2页
- 2017-07-05 发布于天津
- 举报
linux内核部分显示驱动部分介绍.pdf
w 页码,1/2(W)
zheng80037
主页 博客 相册 | 个人档案 | 好友
查看文章
DirectFB的学习
2008-02-20 13:12
DirectFB概述:
DirectFB是图形API存在于Frame Buffer层之上与高级图形管理层如GTK+等之下的。它可以以很小的系统资源占用来提供图形硬件加速
功能,提供类如多路a通道渲染模型等高级图像操作。它不修改Linux 内核,除了标准C库没有其他库的依赖。应用在了基于Linux系统
的DTV显示系统的研发和其他有关Linux显示界面的项 目上。支持市面上绝大多数显示卡,支持键盘、鼠标、遥控器、游戏手柄、触摸
屏等输入设备。支持JPEG 、PNG、GIF、mpeg1/2、AVI 、MOV、Flash、Video4Linux 、DirectFB bitmap font和TrueType等音视频文件和字
体。
上层API支持DirectFB的有:
XDirectFB 、DirectFBGL、GTK+ 、DFBTerm、DFBSee、DFBPoint、MythTV、Qt on DirectFB 、SDL(Simple Directmedia Layer) 。
关于DirectFB的layer 问题
和石可箴讨论了一下DPF系统显示的layer数量的问题,总结出layer支持数量的多少要靠芯片和驱动的共同支持才能实现。以前DTV系统中就有若干个OSD
层、Video层、Cursor层等。网上查了一下DirectFB能支持的layer层数,发现对于DirectFB的layer来说有两个层面上的理解:
1.作为硬件层面:硬件层面中layer的多寡取决于芯片的硬件资源。在DirectFB中使用的是IDirectFBDisplayLayer接口。其内容将直接显示在屏幕上。
2.作为软件层面:DirectFB没有专门的接口,但是可以利用IDirectFBWindow接口自己建立起多layer结构。如使用IDirectFBWindow-SetOpacity
(IDirectFBWindow *thiz, __u8 opacity)来实现这样的结构。
IDirectFBWindow OSD --highest window
IDirectFBWindow video with video Provider
IDirectFBWindow mpegstill
IDirectFBWindow background with image Provider--lowest window
通过设置其opacity来实现一个硬件layer上的4个不同的layer 。
根据这个实现方法,以及DirectFB直接将FrameBuffer的memory mapping到application的memory中的工作原理,突然联想到了RAMDAC,猜想我们DPF
中可能也有这种器件。随即先查询了RAMDAC的相关资料,RAMDAC的作用是把数字图像数据转换成计算机显示需要的模拟数据。显示器收到的是
RAMDAC处理过后的模拟型号。RAMDAC经历了与GPU分开放置——合并在一颗芯片——又分开放置的变迁过程,主要是成本与性能上的考量所致。然
后查了一下DPF中是否也有类似的器件,没有发现,作罢。
DirectFB的安装流程
1. 解压DirectFB-1.0.0.tar.gz包
2. 入此目录执行
#
原创力文档

文档评论(0)