分页: 1 / 2

[分享]让你的Ubuntu 7.10支持Frame Buffer

发表于 : 2007-11-15 5:18
hubert_star
不知怎么的,在7.10里面不能直接在内核参数上加vga=xxx来启用frame buffer.

无比郁闷加上不倦探索,终于解决了这个问题。

首先,编辑你的 /etc/initramfs-tools/modules 文件

代码: 全选

sudo nano /etc/initramfs-tools/modules
加入如下三行内容
fbcon
vesafb
vga16fb

最重要的一步,要把文件/etc/modprobe.d/blacklist-framebuffer里面的vesafb和vga16fb这两行给注释掉。

代码: 全选

sudo nano /etc/modprobe.d/blacklist-framebuffer
这样你就可以在内核后面加入vga=xxx这样的启动参数了。

不过,最好用hwinfo --framebuffer先看一下你显卡支持的vga数值,我的如下:

代码: 全选

sudo hwinfo --framebuffer
02: None 00.0: 11001 VESA Framebuffer
[Created at bios.447]
Unique ID: rdCR.il6towt04X5
Hardware Class: framebuffer
Model: "Intel(r) 82945GM Chipset Family Graphics Chip Accelerated VGA BIOS Intel(r) 82945GM Chipset Family Graphics Controller"
Vendor: "Intel Corporation"
Device: "Intel(r) 82945GM Chipset Family Graphics Controller"
SubVendor: "Intel(r) 82945GM Chipset Family Graphics Chip Accelerated VGA BIOS"
SubDevice:
Revision: "Hardware Version 0.0"
Memory Size: 7 MB + 704 kB
Memory Range: 0xd0000000-0xd07affff (rw)
Mode 0x0305: 1024x768 (+1024), 8 bits
Mode 0x0317: 1024x768 (+2048), 16 bits
Mode 0x0318: 1024x768 (+4096), 24 bits
Mode 0x0312: 640x480 (+2560), 24 bits
Mode 0x0314: 800x600 (+1600), 16 bits
Mode 0x0315: 800x600 (+3200), 24 bits
Mode 0x0301: 640x480 (+640), 8 bits
Mode 0x0303: 800x600 (+832), 8 bits
Mode 0x0311: 640x480 (+1280), 16 bits
Config Status: cfg=new, avail=yes, need=no, active=unknown
所以我在内核后面加入了vga=0x0317,是1024x768的16位色。

最后刷新一下并重启。

代码: 全选

sudo update-initramfs -u

发表于 : 2007-11-15 7:31
ltkun
不错收藏~

发表于 : 2007-11-15 9:05
garry
我运行hwinfo --framebuffer之后一闪而过,看不到结果啊

发表于 : 2007-11-15 9:13
hubert_star
garry 写了:我运行hwinfo --framebuffer之后一闪而过,看不到结果啊
在终端里面运行

发表于 : 2007-11-16 14:46
skychen1900
garry 写了:我运行hwinfo --framebuffer之后一闪而过,看不到结果啊
sudo hwinfo --framebuffer

发表于 : 2007-11-17 18:26
skychen1900
楼主能不能解释一下这些都是什么意思?

发表于 : 2007-11-17 21:15
lin_lin13
我用楼主上面的方法设置vga=0x0301 ,结果系统启动起来后,我按ctrl+alt+F5 后进入终端,只有一个光标在那里闪烁,
输入不了文字也没有显示信息,这是怎么回事! 0x0301可是我测出来的。帮忙解决一下!

发表于 : 2007-11-17 21:32
lin_lin13
终于搞定了原来vga=0x0301 这个参数要改为 vga=0x301 ,不知楼主注意没有!:)

发表于 : 2007-11-18 18:26
hubert_star
skychen1900 写了:楼主能不能解释一下这些都是什么意思?
简单一句话,就是启用内核的framebuffer

另外,我机器上必须用0x0317这样的标记,而0x317就不行,呵呵

发表于 : 2007-11-19 11:27
bones7456
我这边试了无效....

发表于 : 2007-11-22 15:12
oiniya
还是自己编译内核比较方便,哈哈。
kernel /boot/gentoo-2.6.22-r9 root=/dev/sda2 video=vesafb:ywrap,mtrr:3,1280x800-32@60 splash=silent,kdgraphics,theme:livecd-2007.0 quiet console=tty1

发表于 : 2007-11-23 10:44
palxex
在我机器上只能展开为十进制才能用,0x0和0x都无效。此外,只启动了vesafb就行了,vga16fb加上了反而会出错。

发表于 : 2007-11-30 8:03
zhuqin_83
这是个bug,我今天特意到处逛,都是这样的情况。
觉得有必要讨论一下了。

我的情况是只要 fbcon, vesafb打开就可以,vga16fb没用。
看到有些n卡的似乎还要把nvdiafb弄出来。

发表于 : 2007-11-30 8:23
zhuqin_83
另外sudo update-initramfs -u这句最好在修改了所有/etc的东西后再执行。

发表于 : 2007-12-05 9:48
ludeshan
sudo hwinfo --framebuffer
02: None 00.0: 11001 VESA Framebuffer
[Created at bios.447]
Unique ID: rdCR.tIIe+Di7p1A
Hardware Class: framebuffer
Model: "ATI ATOMBIOS M64CSP"
Vendor: "(C) 1988-2005, ATI Technologies Inc. "
Device: "M64CSP"
SubVendor: "ATI ATOMBIOS"
SubDevice:
Revision: "01.00"
Memory Size: 16 MB
Memory Range: 0xd8000000-0xd8ffffff (rw)
Mode 0x0300: 640x400 (+640), 8 bits
Mode 0x0301: 640x480 (+640), 8 bits
Mode 0x0303: 800x600 (+832), 8 bits
Mode 0x0305: 1024x768 (+1024), 8 bits
Mode 0x0307: 1280x1024 (+1280), 8 bits
Mode 0x0310: 640x480 (+1280), 16 bits
Mode 0x0311: 640x480 (+1280), 16 bits
Mode 0x0313: 800x600 (+1600), 16 bits
Mode 0x0314: 800x600 (+1600), 16 bits
Mode 0x0316: 1024x768 (+2048), 16 bits
Mode 0x0317: 1024x768 (+2048), 16 bits
Mode 0x0319: 1280x1024 (+2560), 16 bits
Mode 0x031a: 1280x1024 (+2560), 16 bits
Mode 0x030d: 320x200 (+640), 16 bits
Mode 0x030e: 320x200 (+640), 16 bits
Mode 0x0320: 320x200 (+1280), 32 bits
Mode 0x0393: 320x240 (+320), 8 bits
Mode 0x0394: 320x240 (+640), 16 bits
Mode 0x0395: 320x240 (+640), 16 bits
Mode 0x0396: 320x240 (+1280), 32 bits
Mode 0x03b3: 512x384 (+512), 8 bits
Mode 0x03b4: 512x384 (+1024), 16 bits
Mode 0x03b5: 512x384 (+1024), 16 bits
Mode 0x03b6: 512x384 (+2048), 32 bits
Mode 0x03c3: 640x350 (+640), 8 bits
Mode 0x03c4: 640x350 (+1280), 16 bits
Mode 0x03c5: 640x350 (+1280), 16 bits
Mode 0x03c6: 640x350 (+2560), 32 bits
Mode 0x0383: 640x400 (+640), 8 bits
Mode 0x0384: 640x400 (+1280), 16 bits
Mode 0x0385: 640x400 (+1280), 16 bits
Mode 0x0386: 640x400 (+2560), 32 bits
Mode 0x0333: 720x400 (+768), 8 bits
Mode 0x0334: 720x400 (+1472), 16 bits
Mode 0x0335: 720x400 (+1472), 16 bits
Mode 0x0336: 720x400 (+2944), 32 bits
Mode 0x0353: 1152x864 (+1152), 8 bits
Mode 0x0354: 1152x864 (+2304), 16 bits
Mode 0x0355: 1152x864 (+2304), 16 bits
Mode 0x0356: 1152x864 (+4608), 32 bits
Mode 0x0363: 1280x1024 (+1280), 8 bits
Mode 0x0364: 1280x1024 (+2560), 16 bits
Mode 0x0365: 1280x1024 (+2560), 16 bits
Mode 0x0366: 1280x1024 (+5120), 32 bits
Mode 0x0321: 640x480 (+2560), 32 bits
Mode 0x0322: 800x600 (+3200), 32 bits
Mode 0x0323: 1024x768 (+4096), 32 bits
Mode 0x0324: 1280x1024 (+5120), 32 bits
Mode 0x0343: 1400x1050 (+1408), 8 bits
Mode 0x0344: 1400x1050 (+2816), 16 bits
Mode 0x0345: 1400x1050 (+2816), 16 bits
Mode 0x0346: 1400x1050 (+5632), 32 bits
Mode 0x0383: 640x400 (+640), 8 bits
Mode 0x0384: 640x400 (+1280), 16 bits
Mode 0x0385: 640x400 (+1280), 16 bits
Mode 0x0386: 640x400 (+2560), 32 bits
Config Status: cfg=new, avail=yes, need=no, active=unknown