+ -
当前位置:首页 → 问答吧 → TIP: 如何安装使用uvesafb [原创]

TIP: 如何安装使用uvesafb [原创]

时间:2008-01-05

来源:互联网

主要信息翻译自http://dev.gentoo.org/~spock/project/uvesafb/

uvesafb是vesafb-tng的继承者.内核从2.6.23开始不再支持vesafb-tng.如果想启用framebuffer,则需安装uvesafb.

uvesafb的主要特点:
1. 可在非x86系统上工作;
2. 视频BIOS(Video BIOS)代码由一个帮助程序运行与用户空间;
3. 可编译成模块;
4. 结合兼容VBE 3.0的显卡可以调整刷新率;

相关知识点:
uvesafb::v86d
v86d是在模拟环境下运行x86代码的的用户空间帮助程序.没有它uvesafb就无法工作.v86d当前支持x86和amd64(x86-64)架构.

安装步骤:
1. cd /usr/src/linux && make menuconfig;
2. Device Drivers
<*>Connector - unified userspace<->kernelspace linker ->
Graphic support ->
<*> Userspace VESA VGA graphics support
3. make;
4. emerge -av klibc;
5. emerge -av v86d;
6. make menuconfig;
7. General Setup
<*> Initial RAM filesystem and RAM disk (initramfs/initrd) support
(/usr/share/v86d/initramfs) Initramfs source file(s)
8. 重编内核。make;
9. 编辑引导程序的配置文件。对于grub,在内核参数上加上 video=uvesafb:1024x768-32,mtrr:3,ywrap.
我的grub.conf是这样的:
titile Gentoo Linux
root hd(0,0)
kernel=/boot/bzImage root=/dev/hda1 video=uvesafb:1280x1024-32,mtrr:3,ywrap
10. 重启.

如果有什么地方写得不对,请大家指点。谢谢!

作者: sephinroth   发布时间: 2008-01-05

引用:
作者: sephinroth
主要信息翻译自http://dev.gentoo.org/~spock/project/uvesafb/

uvesafb是vesafb-tng的继承者.内核从2.6.23开始不再支持vesafb-tng.如果想启用framebuffer,则需安装uvesafb.

uvesafb的主要特点:
1. 可在非x86系统上工作;
2. 视频BIOS(Video BIOS)代码由一个帮助程序运行与用户空间;
3. 可编译成模块;
請問如果译成模块也可以透过kernel boot parameter来开动吗?
引用:
4. 结合兼容VBE 3.0的显卡可以调整刷新率;

相关知识点:
uvesafb::v86d
v86d是在模拟环境下运行x86代码的的用户空间帮助程序.没有它uvesafb就无法工作.v86d当前支持x86和amd64(x86-64)架构.

安装步骤:
1. cd /usr/src/linux && make menuconfig;
2. Device Drivers
<*>Connector - unified userspace<->kernelspace linker ->
Graphic support ->
<*> Userspace VESA VGA graphics support
3. make;
4. emerge -av klibc;
5. emerge -av v86d;
6. make menuconfig;
7. General Setup
<*> Initial RAM filesystem and RAM disk (initramfs/initrd) support
(/usr/share/v86d/initramfs) Initramfs source file(s)
是否一定用这个initrd source file?
引用:
8. 重编内核。make;
9. 编辑引导程序的配置文件。对于grub,在内核参数上加上 video=uvesafb:1024x768-32,mtrr:3,ywrap.
我的grub.conf是这样的:
titile Gentoo Linux
root hd(0,0)
kernel=/boot/bzImage root=/dev/hda1 video=uvesafb:1280x1024-32,mtrr:3,ywrap
10. 重启.

如果有什么地方写得不对,请大家指点。谢谢!

作者: mathfeel   发布时间: 2008-01-06

引用:
<*> Initial RAM filesystem and RAM disk (initramfs/initrd) support
(/usr/share/v86d/initramfs) Initramfs source file(s)
直接在内核中使用这个initram file,就不用在grup.conf中进行配置了。

作者: Kingo   发布时间: 2008-01-06

引用:
作者: mathfeel
請問如果译成模块也可以透过kernel boot parameter来开动吗?

是否一定用这个initrd source file?
1. 如果编译成模块,也可通过kernel boot parameter来启动。
这个主要是通过initramfs实现的。

2. 一定需要这个initrd source file。这个是因为uvesafb会由initramfs启动,即在加载内核之前就启动,所以必需有这个initrd source file.

作者: sephinroth   发布时间: 2008-01-07

为了解决framebuffer的问题google了好几个小时,昨天没看到这个帖子,网上其他帖子都是2.6.23以前的,不过最后也google到了英文原文,解决了
自己的小过失,走了更多弯路
1 grub一定记得修改!video=uvesafb 跟原来的不一样了
2 1024x768不要打成1024*768

作者: sonic_yq   发布时间: 2008-01-07

看到了,原来现在是这个了。
刚才搜到英文原版了

作者: Archlinux   发布时间: 2008-02-08

开uvesa还要编译两次内核,真够麻烦的。如果是第一次装gentoo,能一次性解决这个问题吗?

作者: sheep204   发布时间: 2008-02-08

为什么我现在用vesa还可以呢?这个我是选了,可是没有按LZ说的initrd做,谁呢告诉我下,这有什么区别呢?不用行吗?

作者: jjj311   发布时间: 2008-02-08

不用当然可以。能不用尽量不用吧。uvesa应该是在vesa不能用的情况下才用的吧。
反正我用了之后,在top中看到v86d占不少资源。

作者: zhou3345   发布时间: 2008-02-09

第二次编译很快的说

作者: calmpurp   发布时间: 2008-02-09

引用:
作者: jjj311
为什么我现在用vesa还可以呢?这个我是选了,可是没有按LZ说的initrd做,谁呢告诉我下,这有什么区别呢?不用行吗?
我的内核也是2.6.23的,同样用老的framebuffer选项编译内核没有问题。

作者: sheep204   发布时间: 2008-02-19

刚好升级内核,看到楼主的文章刚好更新配置。多谢!

作者: hooong.jiang   发布时间: 2008-02-19

还没仔细看,先留着,我用ubuntu,内核是2.6.22-14,不知道可不可用,显示器是22“的标准分辨率是1680x1050,可旋转,希望可以工作在1050x1680状态下。

作者: Richard   发布时间: 2008-04-02

不是gentoo-sources的话至少需要2.6.24的内核才有uvesafb吧

作者: cryaciccl   发布时间: 2008-04-05