Ubuntu 10.04开机画面低分辨率问题解决方案

Ubuntu 10.04开机画面低分辨率问题解决方案

  (2010-05-06 15:46:56)
标签: 

splash

 

开机画面

 

分辨率

分类: Linux
[ http://forum.ubuntu.org.cn/viewtopic.php?f=48&t=269399&start=0&sid=e087d9936a77ed7df354983173fefa69]

Ubuntu 10.04, x64 系统。为了使用compiz桌面特效,安装了Nvidia的限制驱动,不过启动画面splash的分辨率由1440*900降低成640*480了。网上 看了好多帖子,包括 jorux 的帖子 “解决升级显卡驱动后开机动画低分辨率问题”,一直没有解决问题。
今天终于在英文论坛上找到一个切实可 行的办法,并经本人试验,在1440*900的分辨率下确实有效。特与大家分享:
原文地址: http://idyllictux.wordpress.com/2010/04/26/lucidubuntu-10-04-high-resolution-plymouth-virtual-terminal-for-atinvidia-cards-with-proprietaryrestricted-driver/
现 简述解决过程:

1. 确认grub和plymouth的系统配置文件是原始状态,没有应用过其它的修改方案。

2. 安装v86d和hwinfo包,下面我们要用到:
代码:
sudo apt-get install v86d hwinfo

3. 查看自己显卡支持的分辨率:
代码:
sudo hwinfo --framebuffer

引用:
None 00.0: 11001 VESA Framebuffer
[Created at bios.464]
Unique ID: rdCR.VSBbdW2x3qC
Hardware Class: framebuffer
Model: "NVIDIA G86 Board - NV_NB8M "
Vendor: "NVIDIA Corporation"
Device: "G86 Board - NV_NB8M "
SubVendor: "NVIDIA"
SubDevice:
Revision: "Chip Rev"
Memory Size: 14 MB
Memory Range: 0xd1000000-0xd1dfffff (rw)
......
Mode 0x0364: 1440x900 (+1440), 8 bits
Mode 0x0365: 1440x900 (+5760), 24 bits
.......
Config Status: cfg=new, avail=yes, need=no, active=unknown


4. 修改/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=1440x900-24,mtrr=3,scroll=ywrap"

引用:
GRUB_GFXMODE=1440x900
注意要把前面的#去掉。

5. 修改/etc/initramfs-tools/modules文件,
代码:
sudo gedit /etc/initramfs-tools/modules

添加下面这行:
引用:
uvesafb mode_option=1440x900-24 mtrr=3 scroll=ywrap

6. 运行下面的命令,启用framebuffer:
代码:
echo FRAMEBUFFER=y | sudo tee /etc/initramfs-tools/conf.d/splash

7. 运行下面的命令,更新grub配置文件:
代码:
sudo update-grub2
sudo update-initramfs -u

8. 重启。大功告成!
注:有可能第一 次重启后不管用,再重启一次就可以了


nvidia驱动从安装到配置(解决刷新率, 无标题栏和使用开源驱动等问题)

1. 安装
方法1(推荐). 直接在受限驱动里选驱动安装
然后
代码:
sudo nvidia-xconfig

重启(ubuntu10.4必需重启计算机而不能只是重启X, 否则会出问题)

方法2. 到官网下最新的驱动安装
网址
http://www.nvidia.com/page/drivers.html
在option1中选择你的显卡, 然后点search(其实就3种驱动, gf6以后的显卡用195.xx.xx, gf5用173.xx.xx, gf4到gf2用96.43.16)

下载下来后, 把驱动run文件放到你的home里, 如/home/yourname里.
如果你装过方法1的受限驱动. 先删除
代码:
sudo apt-get remove --purge nvidia*

确认安装了编译环境
sudo aptitude install build-essential

ubuntu10.04需要先关闭kms
先打开/etc/default/grub,命令:
代码:
sudo gedit /etc/default/grub

把 nomodeset 加到 GRUB_CMDLINE_LINUX 那一行如:
引用:
GRUB_CMDLINE_LINUX="nomodeset"

然后运行
代码:
代码:
sudo update-grub


重启, 再安装NV驱动.

然后点Ctrl + Alt +F1到第一控制台.
输入用户密码, 然后输入命令关闭X.
代码:
sudo stop gdm

点Ctrl + Alt +F7和点Ctrl + Alt +F8看X是否关闭. 如果不能关闭X, 用下面的命令
代码:
sudo service gdm stop

然后运行安装文件
代码:
sudo sh 文件名.run

进入安装界面后,首先接受协议,选“接受” 可能会有提示已经安装了旧的驱动(视乎你自己是否有手动安装过),是否删除,选yes就是了, 一般会提示缺少模块,问是否网上下载,选“no”, 提示需要自己编译模块,选“ok”,然后编译安装开始, 最后提示需要修改xorg.conf,是否允许,选yes, 完成安装,选ok。

打开xorg.conf, 看有没有错误的分辨率. 有的话去掉
代码:
sudo vim xorg.conf


然后启动gdm, 看驱动是否正常工作
代码:
sudo start gdm


然后禁用其他的driver驱动模块(否则启动后会花屏)
代码:
sudo gedit /etc/default/linux-restricted-modules-common

将其中的 DISABLED_MODULES=" " 改为:DISABLED_MODULES="nv nvidia_new"

让内核升级后自动安装nvdia驱动
首先确定驱动正常工作后, 必需先重启一次.
然后
第一步,把你使用的驱动放到/usr/src下,并生成链接。例如:
代码:
sudo mv NVIDIA-Linux-x86-173.14.05-pkg1.run /usr/src
sudo ln -s /usr/src/ NVIDIA-Linux-x86-173.14.05-pkg1.run /usr/src/ nvidia-driver

这样做的目的是当你更换所用的驱动时,只需要删除原来的链接后再指定新的链接即可,不需要改变我们将使用的脚本(script)。
自动安装nv驱动的脚本这个压缩包里
附件:
update-nvidia.tar.bz2 [565 Bytes]
被下载 424 次

基本上,原理是检查新安装的内核是否安装了正确的nv驱动,如果没有,脚本将自动为新内核安装驱动模块。
把里面文件update- nvidia解压到当前目录, 然后
代码:
sudo mkdir -p /etc/kernel/postinst.d
sudo install update- nvidia /etc/kernel/postinst.d

这样内核升级后就会自动安装nvdia驱动, 不用再没更新一次内核就重装一次驱动.

2. 问题解决
1. CRT显示器刷新率达不到85Hz
如果安装后启动X后没有85Hz.
修改xorg
代码:
sudo gedit xorg.conf

重点是这一段
代码:
Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Unknown"
    HorizSync       30.0 - 100.0
    VertRefresh     50.0 - 120.0
    Option         "DPMS"
EndSection

里面的
代码:
    HorizSync       30.0 - 100.0
    VertRefresh     50.0 - 120.0

可用通过查看显示器说明书得知正确的横扫和纵扫频率.
或者通过不断的实验, 直到重启X后, 频率为85Hz

2. 开启3D特效(compiz)后标题栏消失(compizconfig 选项里已经选上了 “窗口装饰”)
nvidia驱动用过几年都知道, 这种情况一般不会出现, 但会随着驱动更新反复出现.
代码:
sudo nvidia-xconfig --add-argb-glx-visuals -d 24
sudo nvidia-xconfig --add-argb-glx-visuals --composite


3. CRT分辨率过低, 过高
编辑xorg.conf
在修改下面的一段
代码:
Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    SubSection     "Display"
        Depth       24
        Modes      "1024x768" "800x600" "640x480"
    EndSubSection
EndSection

中的分辨率
代码:
    SubSection     "Display"
        Depth       24
        Modes      "1024x768" "800x600" "640x480"
      EndSubSection



修改后分辨率仍然过低, 或者没有这一段(很多时候在xorg中没有)
修改
代码:
    HorizSync       30.0 - 100.0
    VertRefresh     50.0 - 120.0



4. 图形化修改方法
注意此方法对刷新率过低无效, 对分辨率过低无效
代码:
sudo nvidia-settings


3. 使用开源nouveau驱动

安装
代码:
sudo aptitude install xserver-xorg-video-nouveau


1. 不使用KMS

1.1 不使用xorg.conf
代码:
sudo mv /etc/X11/xorg.conf /etc/X11/xorg.conf.bak


1.2 使用xorg.conf
由于官方驱动和nouveau驱动的xorg.conf现在是兼容的, 只需把xorg.conf中的
代码:
Driver         " nvidia"

改成
代码:
Driver        "nouveau"


代码:
Section "Device"
    Identifier     "Device0"
# Driver         " nvidia"
    Driver        "nouveau"
    VendorName     " NVIDIA Corporation"
EndSection


然后可能还需要修改纵横扫, 因为可能显示器的分辨率和刷新率有问题.
真实奇怪, 两种驱动的纵横扫居然不一样.
代码:
    HorizSync       30.0 - 100.0
    VertRefresh     50.0 - 120.0

登出


2. 使用KMS
CRT最好不要用, 因为xorg.conf不需要, 也没有用了. 不能修改刷新率了.
a 晚启动

代码:
/etc/modprobe.d/modprobe.conf

中添加一行
代码:
options nouveau modeset=1


本人死前, 不, 是用ati之前用的是nvidia gf2. 写下这篇文章作为纪念.
不是我们不支持ATI, 是ATI不支持我们!

参考:
[分享]在内核升级后自动安装nvdia驱动

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值