当前位置:  技术问答>linux和unix

请问framebuffer设备驱动是不是仅用于console下面的显示驱动?

    来源: 互联网  发布时间:2015-09-12

    本文导语:  这几天越看越糊涂了。 我要使用真正的图形界面,还是要真正的显卡驱动?而framebuffer只是在console下面,用图形模式仿真文本模式来达到更好的显示效果? | fb设备提供了一个图形硬件的抽象...

这几天越看越糊涂了。
我要使用真正的图形界面,还是要真正的显卡驱动?而framebuffer只是在console下面,用图形模式仿真文本模式来达到更好的显示效果?

|
fb设备提供了一个图形硬件的抽象层,代表某些视频硬件的帧缓冲,帧缓冲可以直接通过规范定义的接口供软件访问(/dev/fb*)。我们熟知的Xwindows有一个非加速X服务器,XF86_FBDev就是使用帧缓冲驱动,该驱动最早出现于XFree86 3.2版本中,现在已很成熟。
帧缓冲在各种显卡硬件各有不同,如ATI Rage128提供了自己的帧缓冲,Cirrus Logic,Matrox,PowerVR 2,都有自己的帧缓冲,TGA,VESA,是两种帧缓冲设备标准,VESA由于被大多数现代显卡所具有,所以使用的较为广泛。不同的帧缓冲设备需要在内核编译时使用不同的驱动。所以欲使用帧缓冲必须要拥有具有帧缓冲能力的显示卡。并且不同显卡对帧缓冲的支持能力也不同,如可以使用的分辨率模式(1024*768或800*600)及其下的色深。

    fb在linux的出现目的最初是为了在linux内核启动开始后,显示linux的logo图标(小企鹅),才增加入内核(是不是觉得有点无聊),这种东西是通过在内核启动时在未进入保护模式之前在bios的帮助下将显卡工作模式置于FB模式下,当然以后我们也不可能再切换回来了,因为大家知道在80x86的保护模式中我们无法使用底层bios功能。
    后来当然就开始使用它为linux文本控制台提供更大的字体和显示分辨率(如1024*768 32位真彩色),并且可以使用很cool的字体,以区别于80x25列的令人枯燥的文本字体。例如你可以让linux的文本界面像黑客帝国里的尼奥的电脑。Linux2.0之后的内核,你都可以通过在内核启动参数(一般在grub或lilo的配置文件中内核镜像文件名之后)中加一条vga=让linux在启动时进入帧缓冲控制台模式,linux内核模式号如下:
 linux内核模式号 = VESA模式号+ 0x200
所以linux内核模式号如下表
    | 640x480  800x600  1024x768 1280x1024
----+-------------------------------------
256 |  0x301    0x303    0x305    0x307
32k |  0x310    0x313    0x316    0x319
64k |  0x311    0x314    0x317    0x31A
16M |  0x312    0x315    0x318    0x31B
如果启动时出现问题,大多数情况下是显卡的问题。

    后来有人使用它为其它的国家语言提供语言平台,如我们的中文平台zhcon就是使用fb来显示中文字体。
    当然还有就是前面提到过的X Server:XF86_FBDev

    再多说两句,对于/dev/fb*可以像访问普通文件一样访问帧缓冲存储区。希望大家利用好帧缓冲,体会Linux给我们提供的乐趣。

|
FB设备可以直接操作显存,并可以最大限度的获得硬件加速性能,驱动很小,一般是一个.ko文件,通常用于嵌入式设备的图形化界面和回放(比如机顶盒),某些软件比如mplay也可以使用fb设备在控制台下播放视频。

|
Framebuffer 可以理解成是打开了一个直接写屏幕的接口,可以认为没有硬件加速。是核心的一部分。vesafb 驱动必须编译在核心中,而且必须在启动时候挂载,否则无法使用。
DirectFB 是一个基于 Framebuffer 的库,支持部分加速。
真正的硬件加速还是靠 X11 的驱动吧。

    
 
 

您可能感兴趣的文章:

  • -------------- 请问大家,做好一个PCI设备驱动了,如何做个应用程序来使用这个驱动呢??
  • 我的网卡在redhat7.3下不能自动驱动,但我有for linux的驱动程序,请问如何才能驱动我的网卡,我是菜菜,请详细说明,谢谢!
  • 请问, linux 驱动中, IO 口变化了,驱动如何通知应用程序?
  • 我的笔机本装的是redhat7.2,从网上下了个显卡驱动(xxx.o的文件),请问怎样安装这个驱动?(我以拷到linux盘下)?
  • 请问做好的驱动,发布给用户的时候,用户必须要在各自的Linux中重新编译驱动源码才能使用吗?
  • 请问RS-232串行编程时为什么不用写驱动?
  • 请问UNIX系统下装上WINDOWS的打印机驱动程序,可否打印?
  • 请问安装linux后还要装显卡的驱动吗?
  • 请问如何卸载显卡驱动程序?
  • 要写一个无线网卡的驱动,请问怎么下手?
  • 有一定基础后,请问应该先看Linux内核还是驱动呢?
  • 各位设备驱动开发的朋友,请问,linux设备驱动开发和网络编程开发哪一样工资比较高呀?
  • 请问linux下一个显卡的驱动
  • 请问linux中有没有可以读取BIOS信息的驱动程序!
  • 请问如何把驱动程序做成deb包?
  • 请问在那里可以找oracle的jdbc驱动?
  • 请问数据库驱动类应该放在哪里?
  • 请问如何在REDHAT 9下安装3c509b网卡驱动
  • 请问:878芯片的电视卡在Linux下如何驱动
  • 请问哪里有声卡的驱动程序下载?
  • 请问自己开发的linux驱动中,如何自动创建一个设备!
  • 请问在Fedora下,怎么看到驱动没装好的设备
  • 请问redhat linux 9的设备(显卡,网卡,串口,声卡等)驱动程序在什么位置?谢谢
  • 请问,谁研究过Linux的块设备驱动程序,IDE硬盘这部分的?我有几个问题要问
  • 请问谁有 <Linux设备驱动程序>第2版的配套源码?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 请问framebuffer显示模式的配置文件放在那里的
  • 想用Framebuffer功能,请问需要打开内核的哪些编译选项?
  • 请问 启动X server时间内在哪里手动加入一段 写framebuffer界面的程序?
  • 请问不使用framebuffer,如何输出图形
  • 请问:我知道路由器的telnet密码,但忘记了enable 密码,请问如何是好?
  • 请问那里有SYBASE的jbdb 2.0下载;jspsmartupload可以直接将文件上传到数据库,请问如何使用
  • c/c++开源软件 iis7站长之家
  • 请问:请问哪里有关于linux基本操作命令讲解的资料下载,最好是幻灯片格式的.
  • 请问,我试图用#admintool&图形工具命令来安装sun workshop5.0,为什么进入的却是用户管理界面?请问具体该如何在solaris下安装应用软件
  • 请问在Redhat 9里,我从登录就是图形介面,请问如何在图形介面内进入命令行方式呢,谢谢
  • 请问玩过SOLARIS的高手门,在不正常关机后,就不能启动到windows公用桌面了,只能在命令提示模式下了,请问怎么解决这个问题啊?急~!~!
  • 请问:我在redhat下装了bochs-2.2.1-1.rpm,.装了后,想设置一下,但找不到bochsrc.fda.bxrc,请问这个文件在哪个曰录下啊。
  • 请问:在配置Qt时,很多文档都说在.profile,.login里加东西,但是我好像没有发现有这两个文件上,请问这些文件在哪个目录下啊
  • 请问:在GCC里的C程序里的变量的声明是不是只能在前面,而且相同类型的变量的声明只能放在一起?如果不是,请问怎么样可以解决这个问题.
  • 请问各位大虾,小弟今天开始学jsp了,这学期我们有java课,所以已经下载了jdk(好象是1.2),请问我的98环境怎么配置jsp环境呀?我的jdk可以运行.java程序,别的我就不知道了....谢谢!
  • 主机是WIN2000,我用的是LUNIX,请问是否可以共享上网? 如果可以请问如何设置? 500分答谢,龟儿食言!
  • 请问linux下GUI开发的问题!
  • 请问出现fstab文件丢失该怎么修复呀?
  • 请问这个方法如何调用?
  • 请问一个奇怪的问题!
  • 请问在网页中打开的新窗口,如何让其居中。
  • 请问我该学什么了
  • 请问安装zhcon,cxterm问题
  • 非常急! 请问daemontools 在red hat 9下的安装问题? 在线等待


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3