打开/dev/fb0时“No such device”错误解决方法:激活 VESA FrameBuffer 驱动程序
2017-04-14 22:42
513 查看
在使用Linux系统函数mmap(),将FrameBuffer映射到内存上来实现一个简单的贪吃蛇游戏时,在自己的Redhat 6.4上测试时,运行程序结果却提示:“No such device”。可是在/dev/下可以查看到fb0与fb都是存在的,并且操作权限是足够的。刚开始没有想到是驱动的问题,在网上站到了解决方案:问题是FrameBuffer驱动程序没有激活。
问题截图如下:
解决方案:
打开/boot/grub/menu.lst文件,文件如下:
在文件16行的末尾加上“vga=0x0317”并保存退出,然后reboot(下图是重启后的截图,可以看到文本颜色是发生了一些变化的,因为其RGB变化了)。
至于为什么是0x0317这个值,是因为我的显示器是1024*768(16bit(RGB655)),测试如下:
而不同分辨率与不同显示色数对应的这个vga值是不同的,如下:
重启之后,我们再运行程序,问题完美解决了(VESA FrameBuffer 驱动程序已经被激活)。
感谢yeqishi博主原创作品给予的帮助:(开启linux(redhat、ubuntu) FrameBuffer )链接:http://blog.csdn.net/yeqishi/article/details/5573097
问题截图如下:
解决方案:
打开/boot/grub/menu.lst文件,文件如下:
在文件16行的末尾加上“vga=0x0317”并保存退出,然后reboot(下图是重启后的截图,可以看到文本颜色是发生了一些变化的,因为其RGB变化了)。
至于为什么是0x0317这个值,是因为我的显示器是1024*768(16bit(RGB655)),测试如下:
而不同分辨率与不同显示色数对应的这个vga值是不同的,如下:
VGA parameter table: Mode 0x0300: 640x400 (+640), 8 bits Mode 0x0301: 640x480 (+640), 8 bits Mode 0x0303: 800x600 (+800), 8 bits Mode 0x0305: 1024x768 (+1024), 8 bits Mode 0x0307: 1280x1024 (+1280), 8 bits Mode 0x030e: 320x200 (+640), 16 bits Mode 0x030f: 320x200 (+1280), 24 bits Mode 0x0311: 640x480 (+1280), 16 bits Mode 0x0312: 640x480 (+2560), 24 bits Mode 0x0314: 800x600 (+1600), 16 bits Mode 0x0315: 800x600 (+3200), 24 bits Mode 0x0317: 1024x768 (+2048), 16 bits Mode 0x0318: 1024x768 (+4096), 24 bits Mode 0x031a: 1280x1024 (+2560), 16 bits Mode 0x031b: 1280x1024 (+5120), 24 bits Mode 0x0330: 320x200 (+320), 8 bits Mode 0x0331: 320x400 (+320), 8 bits Mode 0x0332: 320x400 (+640), 16 bits Mode 0x0333: 320x400 (+1280), 24 bits Mode 0x0334: 320x240 (+320), 8 bits Mode 0x0335: 320x240 (+640), 16 bits Mode 0x0336: 320x240 (+1280), 24 bits Mode 0x033d: 640x400 (+1280), 16 bits Mode 0x033e: 640x400 (+2560), 24 bits Mode 0x0345: 1600x1200 (+1600), 8 bits Mode 0x0346: 1600x1200 (+3200), 16 bits Mode 0x0347: 1400x1050 (+1400), 8 bits Mode 0x0348: 1400x1050 (+2800), 16 bits Mode 0x0349: 1400x1050 (+5600), 24 bits Mode 0x034a: 1600x1200 (+6400), 24 bits Mode 0x0352: 2048x1536 (+8192), 24 bits Mode 0x0360: 1280x800 (+1280), 8 bits Mode 0x0361: 1280x800 (+5120), 24 bits Mode 0x0362: 768x480 (+768), 8 bits Mode 0x0364: 1440x900 (+1440), 8 bits Mode 0x0365: 1440x900 (+5760), 24 bits Mode 0x0368: 1680x1050 (+1680), 8 bits Mode 0x0369: 1680x1050 (+6720), 24 bits Mode 0x037c: 1920x1200 (+1920), 8 bits Mode 0x037d: 1920x1200 (+7680), 24 bits
重启之后,我们再运行程序,问题完美解决了(VESA FrameBuffer 驱动程序已经被激活)。
感谢yeqishi博主原创作品给予的帮助:(开启linux(redhat、ubuntu) FrameBuffer )链接:http://blog.csdn.net/yeqishi/article/details/5573097
相关文章推荐
- android学习历程——“Unable to open log device '/dev/log/main': No such file or directory”错误解决方法
- 引用原因.NET下编译C++代码时出现fatal error C1083: 无法打开包含文件:“iostream.h”: No such file or directory错误的解决方法.
- .NET下编译C++代码时出现fatal error C1083: 无法打开包括文件:“xuhk_JNIHelloWorld.h”: No such file or directory错误的解决方法。
- .NET下编译C++代码时出现fatal error C1083: 无法打开包含文件:“iostream.h”: No such file or directory错误的解决方法.
- 项目文件.NET下编译C++代码时出现fatal error C1083: 无法打开包括文件:“xuhk_JNIHelloWorld.h”: No such file or directory错误的解决方法。
- linux /dev/fb no such device 解决方法
- There is no Citrix MetaFrame server configured on the specified address错误的解决方法
- (转)cvsNT 2.5.03添加用户后出现"no such user"错误的解决方法
- fatal error C1083: 无法打开预编译头文件:“Debug\XXXXX.pch”: No such file or directory的解决方法
- linux/videodev.h: No such file or directory错误解决方法
- WTL工程:fatal error C1083: 无法打开包括文件:“atlapp.h”: No such file or directory 的解决方法
- Ubuntu 升级错误信息:mount: mounting none on /dev failed: no such device的解决办法
- 解决 Python.h:没有那个文件或目录 错误的方法( Python.h:No such file or directory )
- FTP显示乱码及no such file or directory错误的解决方法
- There is no Citrix MetaFrame server configured on the specified address错误的解决方法
- cvsNT 2.5.03.2382添加用户后出现"no such user"错误的解决方法
- Ruby on Rails安装过程中出现"no such file to load -- mkmf"错误的解决方法。
- Tiny6410开发板linux启动错误 /init: line 102: can't open /r/dev/console: no such file 的解决方法
- There is no Citrix MetaFrame server configured on the specified address错误的解决方法
- ROR no such file to load -- sqlite3 错误解决方法