在运行dfb程序的时候,出现如下的提示错误:
(!) DirectFB/FBDev: No supported modes found in /etc/fb.modes and current mode not supported!
(!) DirectFB/FBDev: Current mode's pixelformat: rgba 6/0, 6/0, 6/0, 0/0 (4bit)
(!) DirectFB/Core/layers: Failed to initialize layer 0!
--> A general initialization error occured
(!) DirectFB/Core: Could not initialize 'layer_core' core!
--> A general initialization error occured
(#) DirectFBError [DirectFBCreate() failed]: A general initialization error occured
原因是framebuffer没有开启导致的。
在Ubuntu 10.04当中开启framebuffer的方法如下:
1.获取硬件支持的framebuffer模式,同时设置引导参数
$ sudo hwinfo --framebuffer
Mode 0x0317: 1024x768 (+2048), 16 bits
我这里挑选了一个比较常见的mode,然后追加到kernel的引导参数当中去。
$ vim /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash vga=0x0317"
2.在initrd当中添加对应模块的支持
$ vim /etc/modprob

当运行DirectFB程序时遇到找不到支持模式的错误,原因是Ubuntu 10.04的Framebuffer未开启。解决方法包括:通过`hwinfo --framebuffer`获取硬件支持的模式,修改`/etc/default/grub`添加`vga`参数,解除`blacklist-framebuffer.conf`对vesafb的黑名单,并在`/etc/initramfs-tools/modules`中添加fbcon、vesafb、vga16fb模块,最后更新grub2和initrd并重启。
最低0.47元/天 解锁文章
2595

被折叠的 条评论
为什么被折叠?



