Ubuntu 10.04 安装Nvidia显卡后开机花屏完美解决
笔记本联想Y450,Ubuntu 10.04.3 LTS
1.可以解决的问题:
(1)安装驱动后开机和关机画面花屏,分辨率低;
(2)开机画面直接出现,一闪而过,错过点点进度过程。
2.解决方案:uvesafb 替代vesafb(具体什么意思我也不知道)
3.所需包:
(1)v86d(uvesafb需要)
(2)hwinfo(查看framebuffer)
4.步骤
(1)安装驱动:
方法一,Nvidia官网下载最新驱动,但是得先屏蔽掉nouveau,而且安装后会出现Nvidia巨大的Logo,我没有用 这种方法。
方法二,System-->Administration-->Hardware Drivers。
我使用的是第一种,不过有点问题,需要先禁用系统自带的nouveau
步骤如下:
用官方驱动安装,将驱动拷到主文件夹,然后按Ctrl+Alt+F1退到终端并登录,sudo /etc/init.d/gdm stop,然后运行sudo sh ./Nv.......(驱动软件名),它会提示nouveau在使用,然后会问你是否建立一个文件来禁止nnouveau,选择Yes,一直点下去,会退出到终端界面,sudo reboot重新启动到GDM桌面,然后按Ctrl+Alt+F1退到终端,并登录,sudo /etc/init.d/gdm stop,退掉X桌面,再次运行sudo sh ./Nv.......(驱动软件名),就会正常安装驱动了,安装完sudo reboot,完成。
如果照着上面的做了,还会提示nouveau在使用,那就是没有完全屏蔽掉,因为内核还是在加载nouveau。10.04.3LTS和10.10以后版本好像都不行。解决方法:
生成"/etc/modprobe.d/nvidia-installer-disable-nouveau.conf"文件后,要执行:
1
update-initramfs -u
2
update-grub2
再重启系统,就可以安装NVIDIA官方驱动了。
(2)安装所需包:
1
sudo apt-get install v86d hwinfo
(3)查看framebuffer
1
sudo hwinfo --framebuffer
结果如下:
01
tsl0922@ubuntu:~$ sudo hwinfo --framebuffer
02
02: None 00.0: 11001 VESA Framebuffer
03
[Created at bios.464]
04
Unique ID: rdCR.wTajKRFEdh8
05
Hardware Class: framebuffer
06
Model: "NVIDIA GT216 Board - 0695a340"
07
Vendor: "NVIDIA Corporation"
08
Device: "GT216 Board - 0695a340"
09
SubVendor: "NVIDIA"
10
SubDevice:
11
Revision: "Chip Rev"
12
Memory Size: 14 MB
13
Memory Range: 0xcf000000-0xcfdfffff (rw)
14
Mode 0x0300: 640x400 (+640), 8 bits
15
Mode 0x0301: 640x480 (+640), 8 bits
16
Mode 0x0303: 800x600 (+800), 8 bits
17
Mode 0x0305: 1024x768 (+1024), 8 bits
18
Mode 0x0307: 1280x1024 (+1280), 8 bits
19
Mode 0x030e: 320x200 (+640), 16 bits
20
Mode 0x030f: 320x200 (+1280), 24 bits
21
Mode 0x0311: 640x480 (+1280), 16 bits
22
Mode 0x0312: 640x480 (+2560), 24 bits
23
Mode 0x0314: 800x600 (+1600), 16 bits
24
Mode 0x0315: 800x600 (+3200), 24 bits
25
Mode 0x0317: 1024x768 (+2048), 16 bits
26
Mode 0x0318: 1024x768 (+4096), 24 bits
27
Mode 0x031a: 1280x1024 (+2560), 16 bits
28
Mode 0x031b: 1280x1024 (+5120), 24 bits
29
Mode 0x0330: 320x200 (+320), 8 bits
30
Mode 0x0331: 320x400 (+320), 8 bits
31
Mode 0x0332: 320x400 (+640), 16 bits
32
Mode 0x0333: 320x400 (+1280), 24 bits
33
Mode 0x0334: 320x240 (+320), 8 bits
34
Mode 0x0335: 320x240 (+640), 16 bits
35
Mode 0x0336: 320x240 (+1280), 24 bits
36
Mode 0x033d: 640x400 (+1280), 16 bits
37
Mode 0x033e: 640x400 (+2560), 24 bits
38
Mode 0x0345: 1600x1200 (+1600), 8 bits
39
Mode 0x0346: 1600x1200 (+3200), 16 bits
40
Mode 0x034a: 1600x1200 (+6400), 24 bits
41
Mode 0x034b: 1360x768 (+1360), 8 bits
42
Mode 0x034c: 1360x768 (+2720), 16 bits
43
Mode 0x034d: 1360x768 (+5440), 24 bits
44
Mode 0x0360: 1280x800 (+1280), 8 bits
45
Mode 0x0361: 1280x800 (+5120), 24 bits
46
Mode 0x0371: 1360x768 (+5440), 24 bits
47
Config Status: cfg=new, avail=yes, need=no, active=unknown
48
tsl0922@ubuntu:~$
我的笔记本分辨率是1366x768的所以我需要的是:1360x768-24
(4)修改grub文件
1
sudo gedit /etc/default/grub
-------------------------------------------------------------------------------------------------------------------
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
GRUB_DEFAULT=0
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset video=uvesafb:mode_option=1360x768-24,mtrr=3,scroll=ywrap"
GRUB_CMDLINE_LINUX=""
# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console
# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=1360x768
# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true
# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_LINUX_RECOVERY="true"
# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"
-------------------------------------------------------------------------------------------------------------------
(5)修改initramfs:
1
sudo gedit /etc/initramfs-tools/modules
-------------------------------------------------------------------------------------------------------------------
# List of modules that you want to include in your initramfs.
#
# Syntax: module_name [args ...]
#
# You must run update-initramfs(8) to effect this change.
#
# Examples:
#
# raid1
# sd_mod
uvesafb mode_option=1360x768-24 mtrr=3 scroll=ywrap
-------------------------------------------------------------------------------------------------------------------
(6)强制使用Framebuffer:
1
echo FRAMEBUFFER=y | sudo tee /etc/initramfs-tools/conf.d/splash
(7)更新grub和initramfs:
1
sudo update-grub2
2
sudo update-initramfs -u
(8)重启
摘自 tsl0922的博客