Linux系统装显卡驱动及分辨率不正常的解决方法

这里得说明一下,安装新的显卡驱动也有不完美的地方,就是开机进入系统的时候没有了进度圈的可视化图案,而且很有可能要强制修改分辨率才能正常显示,但安装显卡驱动后可以使用系统自带的桌面特效(很炫),而使用默认的noveau则有可视化的进度圈,分辨率也是不正常的,也可以强制修改,但不能使用系统自带的桌面特效。后面都有介绍方法,可自行选择。

1.到NIVIDIA官方网下载对应显卡型号的驱动(格式为xxxxx.run)
 
在Linux下查找自己显卡信息的指令为:lspci | grep VGA

2.关闭系统默认安装好的显卡驱动nouveau:
  1) vim/etc/modprobe.d/blacklist.conf,在文件最后加上blacklist nouveau
  2) 重建image :
    mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname-r).img.bak
    dracut -v /boot/initramfs-$(uname -r).img $(uname -r)

3.安装 gcc kernel-devel(驱动编译工具):
  yum -y install gcckernel-devel
  (这要求自己配好yum源,本blog也有简单介绍配yum源的文章)

4.进入图形化界面:
    init 3

5.登录root,进入xxx.run驱动程序所在的路径,然后执行:sh xxx.run
(驱动安装完后,会出现非常坑爹的情况,就是3D加速可渲染能够使用了,即桌面特效可以用了,但是分辨率出超级小,异常的很,所以还要修改分辨率)

分辨率设置:

首先得说明,这里的分辨率修改是不完美的,因为毕竟是强制性的修改,但是本人是强迫症患者,所以在强制修改后做了一些后期的补救,所以总的来说这个不完美的修改,比起扁得像一砣翔的分辨率来说,还是可以接受的。

这里有两种强制修改分辨率的方法:
一、使用默认的显卡驱动nouveau
 若使用默认的显卡驱动,则不需要关闭nouveau,只需执行一下的命令即可强制修改分辨率:
  1)cvt 1920 1080 60  //19201080是你想要的分辨率 60是刷新率
  执行结果:
  # 1920x1080 59.96 Hz (CVT 2.07M9) hsync: 67.16kHz; pclk: 173.00 MHz
Modeline "1920x1080_60.00" 173.00  1920 2048 2248 2576  10801083 1088 1120 -hsync +vsync
  注意:173.00 1920 2048 2248 2576  1080 1083 1088 1120 -hsync+vsync 这个数据很重要,后面需要用到

2)xrandr --newmode "1920x1080_60.00"173.00  1920 2048 2248 2576  10801083 1088 1120 -hsync +vsync
  注意,这里使用的数据“173.00  1920 20482248 2576  1080 1083 1088 1120 -hsync+vsync”就是上面第一步中得到的数据,而“1920x1080_60.00”是自己定义的新的模式的名称,如果你想要的分辨率是800x600,当然你可以改为"800x600"或者"800x600_60.00"(60.00只是标明刷新率是60,不是必要的)

3)xrandr --addmode VGA-0 "1920x1080_60.00"
 注意,这里的VGA-0不是固定的,而是根据具体的设备定的,有可能是VGA-0,VGA-1又或者是DIV1,DIV0都有可能,可通过xrandr指令查看当前连接的是哪个设备,一般在xrandr指令输出信息的前几行可以看到有个***connected xxxx,这个***就是你要使用的设备,上述指令的"1920x1080_60.00"参数就是在第二步里面添加的分辨率模式。

4)xrandr --output VGA-0 --mode"1920x1080_60.00"
  VGA-0 和“1920x1080_60.00"参数意思同上,guess what.

这步做完,就会发现分辨率已经修改好了,但是一重启之后,就会发现,又恢复到原来的低分辨率了,所以这里可以做一个脚本,使每次登录的时候都自动执行这个脚本,那么只要一登录就会自动地把分辨率改过来了,系统会报“xxx不正常”的错误,但这个并不会影响使用。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/18913.html