解决/dev/fb0无法打开的问题
最近要在Linux做基于frame Buffer的图形显示,不论我在独立分区的Linux FC6系统中,还是在装有Red hat9的VPC中,都无法打开/dev/fb0。从网上找了很多资料,都没能解决。经过几天的的郁闷之后,终于解决了这个问题。先记录如下:
色彩数 | 640 X 480 | 800X600 | 1024X768 | 1280X1024 |
256 | 0x301 | 0x303 | 0x305 | 0x307 |
32k | 0x310 | 0x313 | 0x316 | 0x319 |
64k | 0x311 | 0x314 | 0x317 | 0x31A |
16M | 0x312 | 0x315 | 0x318 | 0x31B |
#
# Note that you do not have to rerun grub after making changes to
this file
# NOTICE: You have a /boot
partition. This means that
#
all kernel and initrd paths are relative to /boot/, eg.
#
root (hd0,0)
#
kernel /vmlinuz-version ro root=/dev/hda3
#
initrd /initrd-version.img
#boot=/dev/hda
default=0
timeout=10
splashimage=(hd0,0)/grub/splash.xpm.gz
title Red Hat Linux (2.6.18)
root (hd0,0)
kernel /vmlinuz-2.6.18 ro
root=LABEL=/
initrd /initrd-2.6.18.img
title Red Hat Linux (2.4.20-8)
root (hd0,0)
kernel /vmlinuz-2.4.20-8 ro
root=LABEL=/
initrd /initrd-2.4.20-8.img
因为我对red
hat9升级了一个2.6.18的内核,故有两个启动项。修改后,如下:
#
# Note that you do not have to rerun grub after making changes to
this file
# NOTICE: You have a /boot
partition. This means that
#
all kernel and initrd paths are relative to /boot/, eg.
#
root (hd0,0)
#
kernel /vmlinuz-version ro root=/dev/hda3
#
initrd /initrd-version.img
#boot=/dev/hda
default=0
splashimage=(hd0,0)/grub/splash.xpm.gz
title Red Hat Linux (2.6.18)
root (hd0,0)
kernel /vmlinuz-2.6.18 ro
root=LABEL=/ vga=0x311
initrd /initrd-2.6.18.img
title Red Hat Linux (2.4.20-8)
root (hd0,0)
kernel /vmlinuz-2.4.20-8
ro root=LABEL=/ vga=0x311
initrd /initrd-2.4.20-8.img
3、重启系统。然后运行cat
/dev/fb0,如果发现有一堆乱码输出在屏幕上,则表示找到了/dev/fb0这个设备。如果没有,则可能是你的显卡不支持。
通过上述操作以后,我的虚拟机中的Linux和独立分区装的Linux都可以打开/dev/fb0了。最后还说一句,打开/dev/fb0是在控制台下打开,在XWindow界面下能打开,但是操作屏幕缓存区画图的时候,会不正确。
目前可得到的绝大多数linux版本所发行的内核中,已经预编译了FrameBuffer支持,通常不需要重新编译内核就可以使用,但要进行一些配置才能使用.
具体如下:
如果你是安装了grub,那就进入boot\grub里面, 在一个启动选项里面加入vga = xxx,这样就可以应用framebuffer了。
例如:
title Debian (2.4.20 Framebuffer + RUwireless)
kernel (hd0,0)/bzImage-2.4.20fbruwireless root=/dev/hda7 hdc=ide-scsi vga=791 console=tty1
设置vga的值要注意了,这个值是要与分辨率对应的,具体对应值看后面.当你配置成功之后,重启之后就可以看到屏幕出现了一个小企鹅.
------------------------------------------------------------------------
colour depth ¦ 640x480 800x600 1024x768 1280x1024
256 (8bit) ¦ 769 771 773 775
32000 (15bit) ¦ 784 787 790 793
65000 (16bit) ¦ 785 788 791 794
16.7 Mill. (24bit) ¦ 786 789 792 795
------------------------------------------------------------------------
注意:当你设置得系统不支持的分辨率或色深时,会造成不能显示图形界面的,那怎么办呢?所以要配置时,最好就新建一个启动选项title,这样在设置失败之后,重启都可以利用以前的配置进入系统,重新配置.
解决/dev/fb0无法打开的问题的更多相关文章
- /dev/fb0入门练习
转:http://hi.baidu.com/fsx92/item/bdbf90d8adab409f260ae738 大家都知道Unix/Linux系统是由命令驱动的.那么最基本的系统是命令行的(就是想 ...
- atitit. web 在线文件管理器最佳实践(1)--- elFinder 的使用流程解决之道 。打开浏览服务器文件夹java .net php
atitit. web 在线文件管理器最佳实践(1)--- elFinder 的使用流程解决之道 .打开浏览服务器文件夹java .net php 1. 环境:::项目java web,需要打开浏览服 ...
- 解决双击excel文件打开多个excel.exe进程的问题
解决双击excel文件打开多个excel.exe进程的问题有些时候,双击两个excel文件,会打开多个excel进程,不同进程之间不能复制粘贴公式,只能粘贴数值,很不方便.怎么样双击多个excel文件 ...
- 解决“google快照无法打开”的简单而有效的方法~
版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/yangle20081982/article/details/25892553 解决&q ...
- [vuejs] 终端npm run dev 不能自动打开浏览器运行项目解决办法
终端执行: npm run dev 出现: I Your application is running here: http://localhost:8080 但并没有打开浏览器运行项目 解决办法: ...
- vue中npm run dev 不能自动打开浏览器运行项目
最近用vue2.0 + webpack搭建了环境创建新的项目.出现一个很蹩脚的问题: 在终端输入 npm run dev 的时候,不能自动打开浏览器运行项目. 这段话的意思是:你的应用程序运行地址是: ...
- 解决vs创建或打开C++浏览数据库文件*.sdf时发生错误的问题
VS2012, 创建或打开C++浏览数据库文件*.sdf时发生错误. IntelliSense 和浏览信息将不能用于C++项目. 请确保已安装 Microsoft SQL Server Compac ...
- 解决vs崩溃 无法打开工程 新建工程显示未找到约束
一般是因为windows更新引起的,可以删除与.net framework有关的更新补丁如果补丁太多可以试试如下方法: 解决方法: 1.关闭VS: 2.去C:/Users/<your users ...
- 解决windows 10无法打开.hlp帮助文件的问题
最近学习UML,使用的Rational Rose 7.0,使用帮助时,才发现windows 10无法打开.hlp的帮助文件.虽然win10默认定向到微软支持页面,但发现通过下载补丁来查看hlp文件,实 ...
随机推荐
- redis常见数据操作
redis中有5种常见的数据类型,针对这5种数据类型有着相应的数据操作. 1.String(键值对为String - String) set k1 v1 get k1 getset k1 v1 - h ...
- HDU 2544 最短路(floyd+bellman-ford+spfa+dijkstra队列优化)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2544 题目大意:找点1到点n的最短路(无向图) 练一下最短路... dijkstra+队列优化: #i ...
- Erasure Coding(纠删码)深入分析 转
1.前言 Swift升级到2.0大版本后宣称开始支持纠删码,这其实是一个很有意义的特性,主要是能够在一定程度上解决3副本空间浪费太多的问题.因为3副本这一点是swift推广的最大障碍之一,成本的增加吓 ...
- Maven_pom文件常用
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...
- Web前端开发最佳实践(6):过时的块状元素和行内元素
前言 前端程序员在学习HTML的过程中,肯定接触过页面元素的两个基本类型:块状元素和行内元素,也有大量的技术文章或者教程在介绍这两个概念.但这两个HTML元素相关的概念从字面上却和CSS样式有着很深的 ...
- Vuex总结
Vuex官网链接:https://vuex.vuejs.org/zh-cn/strict.html Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式. 它采用集中式存储管理应用的所有组件 ...
- mysql协议简析
前言 如果要在命令行中连接mysql,最常用的便是 mysql -u root -p 这样指定用户名和密码 当然还可以使用远程连接 mysql -h 127.0.0.1 -u root -p 还有一种 ...
- JavaWeb 之 AJAX
Ajax ajax:AJAX 是与服务器交换数据的艺术,它在不重载全部页面的情况下,实现了对部分网页的更新 AJAX:Asynchronous JavaScript and XML,异步 javasc ...
- iOS 9的新的改变 iOS SDK Release Notes for iOS 9 说了些改变
iOS 9的新的改变 iOS SDK Release Notes for iOS 9 说了些改变 看了下还算能理解!!!有兴趣可以看看哈!!!不喜勿喷!!后面的对于废除的方法什么有用感觉!!! ...
- Python并发编程-进程
由于GIL(全局解释锁)的问题,多线程并不能充分利用多核处理器,如果是一个CPU计算型的任务,应该使用多进程模块 multiprocessing .它的工作方式与线程库完全不同,但是两种库的语法和接口 ...