红联Linux门户
Linux帮助

文本模式下如何修改分辨率

发布时间:2010-10-17 22:27:33来源:红联作者:xiao_kai
我的系统是rhel5的,显示器是19英寸的,喜欢用文本模式,可是分辨率太低了,在网上查了一下,我只能调到1024*768,有什么办法能帮我调到1440*900
文章评论

共有 23 条评论

  1. xiao_kai 于 2010-10-20 00:01:21发表:

    14# shenhao0129


    我的内核版本是2.6.18-194.el5。今晚升级到了2.6.35.7后framebuffer的选项增多了,都有1600*1200的,可是就是没有1440*900的。不过我的第一次升级失败了,系统启动不了,估计是我在make menuconfig的时候更改了一些配置的原因,明天继续升级。

    还有,在内核中没找到uframebuffer,只有framebuffer

  2. 1025955575 于 2010-10-19 21:29:41发表:

    学习中

  3. xiao_kai 于 2010-10-19 20:24:51发表:

    21# alick


    恩,试了,按照提示的,没找到适合我显示器的(字体拉伸现象挺严重),应该是framebuffer的原因吧

  4. alick 于 2010-10-19 17:44:03发表:

    可以设成vga=ask,这样会停在一个界面,列出可以用的分辨率及其代号。可以看到并使用能支持的最大分辨率。

  5. xiao_kai 于 2010-10-19 14:23:32发表:

    刚才重启又试了好几个vga的值,只要大于0x318的都不行,看来我当前的framebuffer支持的最大分辨率是1024*768。悲剧。。。

  6. xiao_kai 于 2010-10-19 14:14:50发表:

    14# shenhao0129


    谢谢提示,内核编译我还没接触过,我研究研究然后再试试。

  7. xiao_kai 于 2010-10-19 14:13:54发表:

    [i=s] 本帖最后由 xiao_kai 于 2010-10-19 14:16 编辑 [/i]

    17# miucat


    你的那个表很有用,呵呵,谢了。

    不过我用vga=0x365不行,变成了系统最初的分辨率了。

    我的显卡是集成的(去年的电脑),不知道是显卡的原因还是当前的framebuffer不支持1440*900。

  8. miucat 于 2010-10-19 12:53:50发表:

    恩,我认为只要不是古董级显卡应该能支持1440.要说不支持的话恐怕正如你所说的,frameBuffer可能不支持。但不试试怎么能知道呢。:0w5ty(1

  9. shenhao0129 于 2010-10-19 12:36:18发表:

    上面好像只是对应你的显卡支持那些Mode的把,不一定他的显卡就支持

  10. miucat 于 2010-10-19 12:32:49发表:

    $ sudo hwinfo --framebuffer | grep Mode
    Model: "NVIDIA GW-P/N@PM898486GTQ14P:0"
    Mode 0x0300: 640x400 (+640), 8 bits
    Mode 0x0301: 640x480 (+640), 8 bits
    Mode 0x0303: 800x600 (+800), 8 bits
    Mode 0x0305: 1024x768 (+1024), 8 bits
    Mode 0x0307: 1280x1024 (+1280), 8 bits
    Mode 0x030e: 320x200 (+640), 16 bits
    Mode 0x030f: 320x200 (+1280), 24 bits
    Mode 0x0311: 640x480 (+1280), 16 bits
    Mode 0x0312: 640x480 (+2560), 24 bits
    Mode 0x0314: 800x600 (+1600), 16 bits
    Mode 0x0315: 800x600 (+3200), 24 bits
    Mode 0x0317: 1024x768 (+2048), 16 bits
    Mode 0x0318: 1024x768 (+4096), 24 bits
    Mode 0x031a: 1280x1024 (+2560), 16 bits
    Mode 0x031b: 1280x1024 (+5120), 24 bits
    Mode 0x0330: 320x200 (+320), 8 bits
    Mode 0x0331: 320x400 (+320), 8 bits
    Mode 0x0332: 320x400 (+640), 16 bits
    Mode 0x0333: 320x400 (+1280), 24 bits
    Mode 0x0334: 320x240 (+320), 8 bits
    Mode 0x0335: 320x240 (+640), 16 bits
    Mode 0x0336: 320x240 (+1280), 24 bits
    Mode 0x033d: 640x400 (+1280), 16 bits
    Mode 0x033e: 640x400 (+2560), 24 bits
    Mode 0x0345: 1600x1200 (+1600), 8 bits
    Mode 0x0346: 1600x1200 (+3200), 16 bits
    Mode 0x0347: 1400x1050 (+1400), 8 bits
    Mode 0x0348: 1400x1050 (+2800), 16 bits
    Mode 0x0349: 1400x1050 (+5600), 24 bits
    Mode 0x034a: 1600x1200 (+6400), 24 bits
    Mode 0x0352: 2048x1536 (+8192), 24 bits
    Mode 0x0360: 1280x800 (+1280), 8 bits
    Mode 0x0361: 1280x800 (+5120), 24 bits
    Mode 0x0362: 768x480 (+768), 8 bits
    Mode 0x0364: 1440x900 (+1440), 8 bits
    Mode 0x0365: 1440x900 (+5760), 24 bits
    Mode 0x0368: 1680x1050 (+1680), 8 bits
    Mode 0x0369: 1680x1050 (+6720), 24 bits
    Mode 0x037b: 1280x720 (+5120), 24 bits
    Mode 0x037c: 1920x1200 (+1920), 8 bits
    Mode 0x037d: 1920x1200 (+7680), 24 bits

  11. shenhao0129 于 2010-10-19 12:26:32发表:

    不用重新编译内核的把?加载为模块就好了貌似,我是加载的模块,用的是archlinux,redhat的没用过,不过这些版本都差不多的,只是在系统配置文件方面有一些不同

  12. xiao_kai 于 2010-10-19 12:09:29发表:

    12# shenhao0129


    我的系统是RedHat的,不是ubuntu的。

    还不清楚系统自带的framebuffer能否支持到1440*900的分辨率,因为现在我在grub.conf中

    的kernel行中加的vga=0x318显示的挺不错的,怎么能知道1440*900的代号?

    上网上搜了搜,说uvesafb是vesafb的下一代,貌似要用它的话得重新编译内核吧,

    挺麻烦的(关键是怕出错,呵呵)。你是怎么实现的,也是重新编译内核吗

  13. shenhao0129 于 2010-10-18 22:22:08发表:

    [i=s] 本帖最后由 shenhao0129 于 2010-10-18 22:24 编辑 [/i]

    如果用UframeBuffer的话,直接写上1440X900的参数就好了,不是检测不检测的问题, 默认的内核是vesafb的,arch中采取的作用就是用Uvesafb来代替内核中已经有的FrameBuffer,而你说的在kernel那行上加上vga=0x318的办法就是直接调用vesafb来作用的,貌似功能不太强,不能切换到更高的分辨率上去,所在用UFrameBuffer来代替系统自带的。
    http://wiki.archlinux.org/index.php/Uvesafb
    这个是我arch上的解决办法,估计跟ubuntu的差不多的。你可以找一下ubuntu上安装Uvesafb的

    P.S原来我也想找hwinfo的,应为很多的教程上也是那么说的,后来找来一个,发现那个软件很难找到,几乎用不着了,在grub菜单上没有列出来那个分辨率的参数,说明你的系统上此时的frameBuffer可能并不支持这么高的分辨率

  14. xiao_kai 于 2010-10-18 19:09:37发表:

    [i=s] 本帖最后由 xiao_kai 于 2010-10-18 19:11 编辑 [/i]

    10# shenhao0129


    恩,我了解需要开启framebuffer,那现在有什么好的办法吗,只能重新编译内核?

    RedHat Linux 6.x 及以上的发行版自带的内核中已经包含了该驱动程序。而且我在menu.lst中

    在kernel一行加上vga=0x318后文本模式的分辨率已经是1024*768了,

    说明开启了framebuffer。

    我现在只是不知道如何让分辨率变成1440*900,因为不知道该分辨率的“代号”

    (就是那个menu.lst中vga的值),需要用相关软件检测下。不知道我理解的对不

  15. shenhao0129 于 2010-10-18 17:51:39发表:

    其实主要就是开启frameBuffer支持

  16. wangyu 于 2010-10-18 12:54:45发表:

    重编内核,把framebuffer编进去,还有高分辨字体

    以前在linuxsir上看到过,但不太理解

  17. shenhao0129 于 2010-10-18 11:14:39发表:

    hwinfo是很老的软件了,现在要用的话,只能源代码编译了,说不定编译还成功呢

  18. xiao_kai 于 2010-10-18 10:33:43发表:

    6# uytevc


    网上说用hwinfo这类软件检测就可以,可是没找到

  19. uytevc 于 2010-10-18 08:44:03发表:

    怎么知道文本下的分辨率

  20. shenhao0129 于 2010-10-17 23:46:55发表:

    貌似用Uvesafb可以解决这个问题,虽然我用的arch,但是确实是这么解决的。
    //m.ajphoenix.com/bbs/thread-185872-1-1.html

  21. xiao_kai 于 2010-10-17 23:22:58发表:

    我想用hwinfo这类软件检测一下分辨率,大家有吗,可否提供个下载地址或直接给我,不胜感激!

  22. xiao_kai 于 2010-10-17 22:56:49发表:

    2# wangyu


    我说的是文本模式的情况,你说的是X-Window的环境下吧。

    文本环境下这样不行吧

  23. wangyu 于 2010-10-17 22:46:42发表:

    修改/etc/X11/xorg.conf

    Section "Screen"
    Identifier "Screen0"
    Device "Videocard0"
    Monitor "Monitor0"
    DefaultDepth 24
    SubSection "Display24"
    Depth 24
    Modes "1024x768"
    EndSubSection

    这是我的,把1024那段换成你想要的,注意,是x,不是*