Linux的framebuffer

我用qemu虚拟了一个SuSE10.2。/boot/grub/menu.lst文件中有这么一行:

  kernel /boot/vmlinuz-2.6.18.2-34-default root=/dev/hda2 vga=0x317 resume=/dev/hda1 splash=silent showopts

  其中的vga=0x317就是告诉BIOS开启framebuffer(/dev/fb0),使用图形模式。这样做有两个好处,一个是可以得到一个分辨率更大的彩色终端,另外一个是可以在启动时将logo打印上去(文本模式是肯定不行的,除非像BSD那样用字符画个logo)。BIOS只能在实模式下使用,因此如果不加vga内核选项,等Linux启动后进入了保护模式,就不可能再使用framebuffer了。

  其实装好系统后,vga=0x314,但是这样只相当于800*600的分辨率,要变成1024*768的分辨率,将0x314改为0x317。真实情况下其实是分辨率太大,console的字体太小,看不清,这样我们就可以根据下面的表格调小分辨率。至于为什么,请参考文档/usr/src/linux/Documentation/fb/vesafb.txt

| 640x480 800x600 1024x768 1280x1024
----+-------------------------------------
256 | 0x301 0x303 0x305 0x307
32k | 0x310 0x313 0x316 0x319
64k | 0x311 0x314 0x317 0x31A
16M | 0x312 0x315 0x318 0x31B
### 回答1: Linux FramebufferLinux 操作系统内核中的一种图形驱动模型,它提供了一种将图形数据直接输出到显示设备的方式,而不需要运行 X Window 系统。这样可以在没有图形环境的情况下,如在纯文本模式下运行程序,依然可以使用图形输出。 ### 回答2: Linux framebufferLinux内核中的一个子系统,它提供了一种直接访问和控制图形硬件的方式,能够以相对低的延迟和较高的吞吐量绘制图形界面。 传统的UNIX系统中,绘制图形界面需要一个完整的图形服务器,由服务器负责和图形硬件交互,生成图形界面,再将结果传回客户端。这种模式通常需要占用比较高的系统资源,而且还会导致一定的延迟。 Linux framebuffer的出现,改变了这种模式。它允许应用程序直接访问图形硬件,绕过图形服务器,这样可以减少系统开销和延迟。另外,Linux framebuffer提供了一种统一的接口,让不同的应用程序能够以相同的方式绘制图形界面,这样可以降低开发难度和维护成本。 Linux framebuffer的工作原理比较简单。它会先在内存中开辟一块显存区域,然后将图形数据写入这个区域。图形硬件会定期读取这个区域的内容,将画面渲染到屏幕上。Linux framebuffer会通过一系列的控制命令,控制显存的使用和屏幕的刷新,以实现完整的图形显示。 Linux framebuffer的使用需要一定的Linux系统操作经验和图形编程知识。它通常由应用程序或者桌面环境使用,用于显示窗口、菜单、图像等。目前,Linux framebuffer也被广泛应用于嵌入式系统、单板计算机等领域。由于其简单、高效、灵活的特点,Linux framebuffer已经成为许多Linux发行版中的标配组件。 ### 回答3: Linux Framebuffer是一种抽象显示设备的方式,它提供了一个实现基于显存的高效内存映射的抽象层。简言之,Linux Framebuffer是一个适用于Linux内核的驱动程序,它提供了直接的内存缓冲区,允许使用者绘制图像和数据到显示器上,而不需要依靠物理设备的特定性能或驱动程序。 在Linux Framebuffer下,显存被分成多个Framebuffer page,每一个page都是大小相同的内存页。在任何给定的时刻,某个特定的Framebuffer page都会映射到显示器屏幕上的相应部分。这种内存映射技术可以提供高效的显存访问和帧缓冲区数据的高度并行复制。 Linux Framebuffer已经被广泛的应用于Linux系统的图形用户界面环境中,如X Window System。其他的应用包括在嵌入式系统和游戏开发中的应用。在这些情况下,Linux Framebuffer可以为程序提供一个简单,稳定,可靠的接口和高效的图形绘制能力。因此,许多Linux发行版本都默认开启了 Framebuffer驱动程序支持,以方便用户快速开发评估。 总之,Linux Framebuffer是一种非常底层的显示架构,尽管它已经被替代了大多数的应用场景,但是它作为开发类Unix环境下的历史遗产,仍然有着重要的地位和应用价值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值