ubuntu12.04开启Framebuffer
2013-09-08 20:39
295 查看
一.framebuffer概述
Framebuffer在Linux中是作为设备来实现的,它是对图形硬件的一种抽象,代表着显卡中的帧缓冲区(Framebuffer)。通过Framebuffer设备,上层软件可以通过一个良好定义的软件接口访问图形硬件,而不需要关心底层图形硬件是如何工作的,比如,上层软件不用关心应该如何读写显卡寄存器,也不需要知道显卡中的帧缓冲区从什么地址开始,所有这些工作都由Framebuffer去处理,上层软件只需要集中精力在自己要做的事情上就是了。
Framebuffer的优点在于它是一种低级的通用设备,而且能够跨平台工作,比如Framebuffer既可以工作在x86平台上,也能工作在PPC平台上,甚至也能工作在m68k和SPARC等平台上,在很多嵌入式设备上Framebuffer也能正常工作。诸如Minigui之类的GUI软件包也倾向于采用Framebuffer作为硬件抽象层(HAL)。
从用户的角度来看,Framebuffer设备与其它设备并没有什么不同。Framebuffer设备位于/dev下,通常设备名为fb*,这里*的取值从0到31。对于常见的计算机系统而言,32个Framebuffer设备已经绰绰有余了(至少作者还没有看到过有32个监视器的计算机)。最常用到的Framebuffer设备是/dev/fb0。通常,使用Framebuffer的程序通过环境变量FRAMEBUFFER来取得要使用的Framebuffer设备,环境变量FRAMEBUFFER通常被设置为”/dev/fb0”。
从程序员的角度来看,Framebuffer设备其实就是一个文件而已,可以像对待普通文件那样读写Framebuffer设备文件,可以通过mmap()将其映射到内存中,也可以通过ioctl()读取或者设置其参数,等等。最常见的用法是将Framebuffer设备通过mmap()映射到内存中,这样可以大大提高IO效率。
二.开启framebuffer
1) $ sudo gedit /etc/initramfs-tools/modules
加入如下两行内容
fbcon
vesafb
2) $ sudo gedit /etc/modprobe.d/blacklist-framebuffer.conf
将里面的vesafb这两行给注释掉。
3) $ sudo update-initramfs -u 更新initramwfs文件。
4) 重启系统
三.设定默认分辨率和颜色位数
1) $ sudo gedit /etc/default/grub
2) 在GRUB_CMDLINE_LINUX_DEFAULT = “quiet splash” 后面增加vga参数。
比如: GRUB_CMDLINE_LINUX_DEFAULT = “quiet splash vga=788” (其实这里可以不设置,根据环境运行的需要,通过fbset工具设置分辨率和色深)
vga参数和分辨率的对照表为
640x480 800x600 1024x768 1280x1024
8bit 769 771 773 775
15bit 784 787 790 793
16bit 785 788 791 794
24bit 786 789 792 795
3)$ sudo grub-mkconfig
4)$ sudo update-grub
5)重启系统
四. 其他设置
开机后,fb0设备可能默认为不可访问。输入命令 $ chmod 775 /dev/fb0 可以打开fb0设备。
fbset是用来设置framebuffer的工具,包括设置分辨率,色深等信息。
$ sudo apt-get install fbset
安装好之后,运行 $ fbset 显示如下信息
mode "1366x768"
geometry 1366 768 1366 768 32
timings 0 0 0 0 0 0 0
accel true
rgba 8/16,8/8,8/0,0/0
endmode
则表示framebuffer可以运行。
通过 $ fbset --help 查看fbset的设置参数。
例如:设置分辨率和色深 $ fbset -xres 800 -yres 600 -depth 16
五. 参考文档
/article/4235059.html
http://tldp.org/HOWTO/Framebuffer-HOWTO/
http://blog.csdn.net/gogor/article/details/5848352
Framebuffer在Linux中是作为设备来实现的,它是对图形硬件的一种抽象,代表着显卡中的帧缓冲区(Framebuffer)。通过Framebuffer设备,上层软件可以通过一个良好定义的软件接口访问图形硬件,而不需要关心底层图形硬件是如何工作的,比如,上层软件不用关心应该如何读写显卡寄存器,也不需要知道显卡中的帧缓冲区从什么地址开始,所有这些工作都由Framebuffer去处理,上层软件只需要集中精力在自己要做的事情上就是了。
Framebuffer的优点在于它是一种低级的通用设备,而且能够跨平台工作,比如Framebuffer既可以工作在x86平台上,也能工作在PPC平台上,甚至也能工作在m68k和SPARC等平台上,在很多嵌入式设备上Framebuffer也能正常工作。诸如Minigui之类的GUI软件包也倾向于采用Framebuffer作为硬件抽象层(HAL)。
从用户的角度来看,Framebuffer设备与其它设备并没有什么不同。Framebuffer设备位于/dev下,通常设备名为fb*,这里*的取值从0到31。对于常见的计算机系统而言,32个Framebuffer设备已经绰绰有余了(至少作者还没有看到过有32个监视器的计算机)。最常用到的Framebuffer设备是/dev/fb0。通常,使用Framebuffer的程序通过环境变量FRAMEBUFFER来取得要使用的Framebuffer设备,环境变量FRAMEBUFFER通常被设置为”/dev/fb0”。
从程序员的角度来看,Framebuffer设备其实就是一个文件而已,可以像对待普通文件那样读写Framebuffer设备文件,可以通过mmap()将其映射到内存中,也可以通过ioctl()读取或者设置其参数,等等。最常见的用法是将Framebuffer设备通过mmap()映射到内存中,这样可以大大提高IO效率。
二.开启framebuffer
1) $ sudo gedit /etc/initramfs-tools/modules
加入如下两行内容
fbcon
vesafb
2) $ sudo gedit /etc/modprobe.d/blacklist-framebuffer.conf
将里面的vesafb这两行给注释掉。
3) $ sudo update-initramfs -u 更新initramwfs文件。
4) 重启系统
三.设定默认分辨率和颜色位数
1) $ sudo gedit /etc/default/grub
2) 在GRUB_CMDLINE_LINUX_DEFAULT = “quiet splash” 后面增加vga参数。
比如: GRUB_CMDLINE_LINUX_DEFAULT = “quiet splash vga=788” (其实这里可以不设置,根据环境运行的需要,通过fbset工具设置分辨率和色深)
vga参数和分辨率的对照表为
640x480 800x600 1024x768 1280x1024
8bit 769 771 773 775
15bit 784 787 790 793
16bit 785 788 791 794
24bit 786 789 792 795
3)$ sudo grub-mkconfig
4)$ sudo update-grub
5)重启系统
四. 其他设置
开机后,fb0设备可能默认为不可访问。输入命令 $ chmod 775 /dev/fb0 可以打开fb0设备。
fbset是用来设置framebuffer的工具,包括设置分辨率,色深等信息。
$ sudo apt-get install fbset
安装好之后,运行 $ fbset 显示如下信息
mode "1366x768"
geometry 1366 768 1366 768 32
timings 0 0 0 0 0 0 0
accel true
rgba 8/16,8/8,8/0,0/0
endmode
则表示framebuffer可以运行。
通过 $ fbset --help 查看fbset的设置参数。
例如:设置分辨率和色深 $ fbset -xres 800 -yres 600 -depth 16
五. 参考文档
/article/4235059.html
http://tldp.org/HOWTO/Framebuffer-HOWTO/
http://blog.csdn.net/gogor/article/details/5848352
相关文章推荐
- ubuntu12.04开启Framebuffer
- ubuntu12.04开启Framebuffer
- Ubuntu12.04 server 开启root用户图形界面直接登录
- [ubuntu12.04] 双网卡(nvidia独立网卡)开启3D特效
- Ubuntu12.04 开启ssh
- ubuntu 10.04 开启framebuffer 设置分辨率 及 颜色bit
- ubuntu12.04开启mod_rewrite模块
- ubuntu12.04 开启 输入法 开机启动
- ubuntu12.04开启root用户
- 开启linux(redhat、ubuntu) FrameBuffer
- ubuntu12.04开启远程桌面
- ubuntu12.04开启3D特效
- ubuntu12.04 开启 输入法 开机启动
- Ubuntu10.04开启FrameBuffer,在终端下看电影
- linux 开启支持FrameBuffer--解决打开/dev/fb0失败的问题
- Ubuntu12.04 开启ssh+win7 ssh登录
- linux 开启支持FrameBuffer--解决打开/dev/fb0失败的问题
- [方法] ubuntu12.04开启root账户
- ubuntu下开启framebuffer
- sctp协议在ubuntu12.04中怎样开启