|
|
前段时间看到一些splash方面的帖子,大多用的是vesafb,所以尝试了一下uvesafb+v86d+fbcondecor的组合,uvesafb编译为模块
系统是funton core2,它针对intel core2的CPU进行了优化,是amd64的系统,没有安装xorg-server
内核为2.6.29-gentoo-r1
步骤:
1. 配置内核
CONFIG_CONNECTOR=y
CONFIG_FB_UVESA=m
2. 编译一次内核
3. 重启
4. modprobe uvesafb
5. dmesg|grep uvesafb
uvesafb: Intel Corporation, Intel(r)GM965/PM965/GL960 Graphics Controller, Hardware Version 0.0, OEM: Intel(r)GM965/PM965/GL960 Graphics Chip Accelerated VGA BIOS, VBE v3.0
uvesafb: VBIOS/hardware supports DDC2 transfers
uvesafb: monitor limits: vf = 60 Hz, hf = 49 kHz, clk = 68 MHz
uvesafb: scrolling: redraw
uvesafb: framebuffer at 0xe0000000, mapped to 0xffffc20010780000, using 6144k, total 7616k
6. emerge klibc,v86d
7. 再次配置内核
CONFIG_INITRAMFS_SOURCE="/usr/share/v86d/initramfs"
CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_FB_CON_DECOR=y
8. 再次编译内核
9. 重启
10. USE="fbcondecor -truetype" emerge splashutils splash-themes-gentoo
11. rc-update add fbcondecor default
12. splash_manager -c switch -t natural_gentoo(成功的话这里就会提示生成initramfs)
手动生成initramfs:splash_geninitramfs -g /boot/initrd_splash -r 1280x800 natural_gentoo -v
我进行到12的时候报错:
theme 'natural_gentoo' doesn't seem to provide a config file for the current resolution (640x480)
如果没有加载uvesafb模块,则:
theme 'natural_gentoo' doesn't seem to provide a config file for the current resolution (0x0)
当我挂载了uvesafb后,怎么修改它当前的分辨率?
是不是在执行12的时候需要把i915先卸载?
查看当前uvesafb支持哪些分辨率:
cat /sys/bus/platform/drivers/uvesafb/uvesafb.0/vbe_modes
今天又试了一下,发现我的splash是基于i915这个模块的,只有这个模块加载了才能启动splash动画,这是怎么回事,为什么不能基于uvesafb呢? |
|