在Ubuntu 10.10版本中如何利用framebuf来驱动fb0设备
来源:互联网 发布:mongodb与mysql区别图 编辑:程序博客网 时间:2024/06/06 03:32
在利用framebuffe来虚拟出个显示器设备fb0,这个问题想了很久,终于在网上找到答案并且试验成功记录下来,以防以后再忘了。
虽然framebuffer有很多局限性,比如在内核启动之后就无法修改分辨率,但是通过framebuffer这个内核抽象出来的设备文件可以很方便的控制显卡,显示图像。
由于framebuffer是显卡的抽象,因此向 /dev/fb0(假设是fb0),就相当于向显存写数据,因此无论你是在什么环境下屏幕都会被覆盖掉,但是同时还有其他进程和你争抢显卡的显示权,因此需要一种方式独占显卡的使用权限,这个也是我找了很久才发现的。
对framebuffer的操作很容易从网上找到例子,我这里简单说一下
1.在未开启framebuffer的linux系统下开启framebuffer(以Ubuntu 9.04alpha6为例)
开启framebuffer需要修改以下几个文件,你可以在在命令行里用vi编辑,也可以个用gedit,我个人还是推荐后者。
注意在进行下一步操作之前必须先改一下文件的权限,默认是只读。
sudo gedit /etc/initramfs-tools/modules
在最后面新起两行加入
fbcon
vesafb
在这个文件中里面好多#,记住上面要加的两行前面不能有#,否则给注释掉了。
sudo gedit /etc/modprobe.d/blacklist-framebuffer.conf
执行上面指令之前必须先得修改权限。默认是只读的。
注释掉(前面添加一个#)
blacklist vesafb
这个很容易发现,直接注释掉就可以。
同时还要注释掉你的显卡驱动,我的是nVidia
补充:找不见可以用该指令查看:sudo lshw
这里再补充说一下,你可以在windows下查看自己的显卡型号(N或T)在里面找到注释掉就可以了。
sudo gedit /boot/grub/menu.lst
这一行指令,在ubuntu10.10版本中没有meun.lst了现在改成了grub.cfg,所以在这必须这样来:sudo gedit /boot/grub/grub.cfg
在kernel启动参数的行末尾添上 vga=0x317 (1024x768,16位,你也可以使用别的分辨率模式)
注:vga=0×314 即为800*600 16位
终端的分辨率可以用fbset设置。
|640x480 800x600 1024x768 1280x1024
----+-------------------------------------
256 | 0x301 0x303 0x305 0x307
32k | 0x310 0x313 0x316 0x319
64k | 0x311 0x314 0x317 0x31A
16M |0x312 0X315 0x318 0X31B
上面这些我没有测试过,我用的是0X31B,你们自己根据自己显卡设置。
在ubuntu10.10中的grub.cfg中没有了kernel了,在里面找到这条语句:
linux /boot/vmlinuz-2.6.35-25-generic root=UUID=cabcaf02-31fd-487d-b90c-08c8faaaa2d8 ro quiet splash (vga=0x31B)括号里面是自己加上的,估计这个文件也得改权限。特别提示在里面找可以用“splash”作为关键词查找或定位。
然后
sudo update-initramfs -u
重新启动就可以了!
到这基本就搞定了。
- 在Ubuntu 10.10版本中如何利用framebuf来驱动fb0设备
- 在ubuntu10.10版本中如何利用framebuf来驱动fb0设备
- 如何在Ubuntu Scope中利用Filter来更加精准地提高搜索的质量
- 如何利用LXD来在不同的Ubuntu桌面环境中编译我们的snap
- 在不同JFrame中如何利用函数来传递参数
- 如何在vs2005中利用vss6.0进行版本控制
- 如何在Ubuntu中安装RapidRocket2720阵列卡驱动?
- 如何在Ubuntu 16.04中安全升级Nvidia驱动
- 如何使用ubuntu来编译驱动
- mt6737 M0 如何写马达驱动和在驱动中注册mic设备
- 如何在Ubuntu中利用Qemu运行BeagleBoard firmware
- 在ubuntu 11.10 加入fb0 并且正常显示图片
- 如何利用Bacon 2D来在Ubuntu平台上制作自己的游戏
- 在menuconfig中添加编译驱动设备
- 在设备驱动中添加属性页
- 在menuconfig中添加编译驱动设备
- 在Ubuntu Scope的模版中利用attributes来显示额外的信息
- 如何利用开发板学习Linux设备驱动?
- 适配器设计模式-Adapter
- Strut2_使用Filter作为控制器的MVC应用
- IOS线程数据篇13之数据存储,文件内容追加
- oracle数据库启动命令
- PAL与NTSC
- 在Ubuntu 10.10版本中如何利用framebuf来驱动fb0设备
- SQL Server2014附加数据库失败,无法打开物理文件 操作系统错误,拒绝访问
- DB_CREATE_FILE_DEST参数
- Spark SQL深度理解
- Gson使用泛型解析
- Qt开发辅助工具——QSS Editor,编写qss实时预览
- redis第二节笔记 redis String
- Photoshop简单的使用通道工具给猫咪图片抠图
- 配置监听_1521端口占用问题