项目需要显示器的分屏,刚好机器的显卡是nVidia的,所以打算通过nVidia驱动进行分屏。
一、安装前环境的检测
nVidia驱动的安装需要内核的gcc版本与本机当前环境的gcc版本一致,可以通过下列语句进行查询
#看看kernel,kernel-devel,kernel-header版本是不是一致的,一般从镜像装的版本是一致的
cat /proc/version
#看看gcc的版本是否和其一致
gcc --version
二、nVidia驱动下载
可以在nVidia的官网下载自己所需的显卡驱动,https://www.nvidia.cn/Download/index.aspx?lang=cn
我这台电脑用的是gtx780的显卡,而且系统的内核环境比较低,打不了太高的显卡驱动,所以最终选择了390.141版本的显卡驱动,可以根据自己的电脑选择驱动的版本,每个驱动的Reademe里都写了最低的环境要求。建议下下来后重命名一下,方便后面终端的输入。
三、nVidia驱动的安装
首先输入下面指令
vim /etc/modprobe.d/blacklist.conf
在最下面添加
blacklist nouveau
并且将里面的
blacklist nvidiafb
改为
#blacklist nvidiafb
在输入下面指令
vim /boot/grub/grub.conf
将里面的timeout(应该是这个名字)注释掉,要不进不去系统选择的界面。
并且在kernel行的末尾加上rdblacklist=nouveau。
将nVidia的驱动放到目录下,建议放到/home里,方便输入,然后重启电脑
到开机选择系统的地方按e,在内核选择上在类似
kernel /vmlinuz-2.6.31.1-56.fc12.i686.PAE ro root=UUID=0a86cf1f-ea02-4016-9c15-c9c537489eaf LANG=zh_CN.UTF-8 KEYBOARDTYPE=pc KEYTABLE=us rhgb quiet
的选项处再次按e,在后面加入空格和3,然后按enter退出编辑模式,按b启动系统就进入了bash的界面,登录root的账号,打开之前放nVidia驱动的文件夹,输入下面指令
# 我这里把驱动文件重命名为NVIDIA了
sh ./NVIDIA.run
一路下一步,建议全选yes,安装完成后重启电脑进入桌面系统,打开首选项看看有没有Nvidia x config这个选项,如有即为安装完成。
如果打开Nvidia x config 后显示You do not appear to be using the NVIDIA X driver
在终端进入管理员账号后输入
# 这里建议输入两遍
nvidia-xconfig
然后重启电脑即可。
若是在安装驱动的时候出现错误,可以在log文件下看到到底出了什么错误,如果什么错误都没有发生,顺利安装完毕,但进入桌面后并没有Nvidia x config选项,那就是缺少了一些环境上的东西,具体是什么我也不太清楚,我是重装了系统,把镜像里带的所有东西都打上了就好了。
在驱动装好后,两个屏幕就已经默认进入分屏(如果你在装驱动之前就插好了显示器)如果没有打开Nvidia x config检测一下就好了,我这个版本的驱动是只有分屏和独立两个选项的,不过这里的分屏是物理意义上的分屏,两张屏幕会让你在系统里的分辨率到达3840 x 1080(如果两个都是1920 x 1080),如果你要运行一些需要抓屏的程序,会让其效率下降。选择独立后鼠标可以在两张屏幕之间移动但窗口不行,可以选择使用xinerama让其也变成分屏的互动,但是在运行一些程序的时候可能会报下面的错误
Xlib: extension "RANDR" missing on display ":0.0".
如果不需要RANDR可以忽略,不过并不会改变其物理拓宽的效果,没啥解决方法,我这是系统内核太低且不能升级,如果你有切实需求还是将系统升级到最新,可以使用xname桌面进行分屏的设置,可以做出类似windows的分屏效果