Ubuntu 10.04 安装Nvidia显卡后开机花屏完美解决

来源:岁月联盟 编辑:exp 时间:2011-12-17

 

笔记本联想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的博客