解决ububtu 9.10 以及10.04 和10.10中fb0 添加的问题

1、安装v86d和hwinfo包,下面我们要用到。

sudo apt-get install v86d hwinfo

2、查看自己显卡支持的分辨率。

sudo hwinfo --framebuffer
  None 00.0: 11001 VESA Framebuffer
[Created at bios.464]
Unique ID: rdCR.QOJHFkjgnM2
Hardware Class: framebuffer
Model: "(C) 1988-2005, ATI Technologies Inc. M92"
Vendor: "(C) 1988-2005, ATI Technologies Inc. "
Device: "M92"
SubVendor: "ATI ATOMBIOS"
SubDevice:
Revision: "01.00"
Memory Size: 16 MB
Memory Range: 0xd0000000-0xd0ffffff (rw)
。。。
Mode 0x03ee: 1366x768 (+1408), 8 bits
Mode 0x03ef: 1366x768 (+2752), 16 bits
Mode 0x03f0: 1366x768 (+5504), 24 bits
Config Status: cfg=new, avail=yes, need=no, active=unknown

3、修改/etc/default/grub文件,使用uvesafb的framebuffer来启动。

sudo gedit /etc/default/grub

把下面的两行

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
#GRUB_GFXMODE=640×480

修改为:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset video=uvesafb:mode_option=1366x768-24
,mtrr=3,scroll=ywrap"

(ps:其中的nomodeset禁用内核kms,个人见解)

GRUB_GFXMODE=1366x768

这个要根据第2步所查到的显卡所支持的最大分辨率(当然也可以是其他支持的分辨率)来修改,注意要把前面的#去掉。

4、修改/etc/initramfs-tools/modules文件。

sudo gedit /etc/initramfs-tools/modules

添加下面这行:

uvesafb mode_option=1366x768-24
 mtrr=3 scroll=ywrap

(ps:这一步的修改与上一步中的第1处修改关联一致)

5、运行下面的命令,启用framebuffer。

echo FRAMEBUFFER=y | sudo tee /etc/initramfs-tools/conf.d/splash

6、运行下面的命令,更新grub配置以及initramfs镜像文件。

sudo update-grub
sudo update-initramfs -u

7、重启。

相关问题及解决方法:
按照上述步骤操作后确实解决了开机splash分辨率低的问题,不过还有另外一个问题:无法正常使用虚拟控制台(tty1-6),即切换到虚拟控制台——“黑屏”。

确实这样修改后出现登陆不了console的情况,需要添加vga=XXX参数。

其实,这个问题应该也是使用官方的闭源驱动(或受限驱动)造成的,即不是上述的操作导致的。
相应的,上述步骤的第3步修改中添加vga=xxx参数。

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset video=uvesafb:mode_option=1366x768-24,mtrr=3,scroll=ywrap vga=792"


另外如果存在fb0设备 但是不能正常画出点和线 就要下载显卡驱动
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值