前言回顾
Ubuntu 16.04 LTS + Windows 10双系统(notebook)
显卡:GeForce GTX 950M
集显+独显
所有不说环境的教程都是耍流氓啊QWQ,
本来想了解一下X-Window,所以打算去tt1,结果ctrl+alt+f1
出现的居然是图形界面,搜了一下是显卡驱动版本的问题,此时我用的是Xorg开源驱动,于是根据教程,准备安装一个最新版的NVIDIA驱动,然后噩梦就开始了QWQ
先回顾一下我的过程:
- 1.先去nvidia官网找个支持显卡的最新版的NVIDIA
- 2.结果为NVIDIA-Linux-x86_64-418.43.run
- 3.然后卸载所有N卡驱动
sudo apt-get remove --purge nvidia*
- 4.禁用nouveau驱动
sudo vi /etc/modprobe.d/blacklist.conf
文末加入
blacklist nouveau
更新
sudo update-initramfs -u
lsmod |grep nouveau
无输出
- 5.禁用x-window
sudo /etc/init.d/lightdm stop
- 6.然后按照命令行安装驱动,即先给权限
sudo chmod a+x
NVIDIA-Linux-x86_64-418.43.run,然后加参数sudo ./NVIDIA-Linux-x86_64-418.43.run -no-opengl-files
- 7.重启x-window服务
sudo /etc/init.d/lightdm start
- 8.reboot
但是这样进入系统之后发现分辨率变成了1024*768,并且不能修改,使用xrandr修改失败,Additional Drivers
中变成了Continue using a manually installed driver
details
中显示如下,LLVMpipe 是一个基于 LLVM 的 Gallium3D 驱动,这个我在用virtual box的时候出现过,是利用 CPU 的实现 OpenGL ,同时可以在不具备 3D 加速的设备(虚拟机或者显卡驱动有问题)上提供 GNOME Shell 体验。
所以综上,我装了驱动,但是安装有问题,或者没有被识别
到这里为止,我就开始放飞自我(zuo si)
我尝试重新调低版本,所以直接去software centre
找了个384版本,也就是上上图中灰色的那个版本
,安装重启,然后就黑屏了0.0
但是tt1又可以进去了,所以我又在tt1重装下了那个最新版本,进入之后分辨率依然出错,所以我又回tt1下换回了384版本,然后就login loop了,然后这个过程开始循环......期间查找各路大神博客,一篇篇尝试,但是没什么用,进去不是黑屏,就是login loop,还有分辨率问题
最终解决:
在ubuntu论坛上查找
https://ubuntuforums.org/showthread.php?t=1613132
其中提到一个问题,安装专有驱动后nomodset不再需要,这个内核选项我是在安装双系统的时候加上去的,目的是告诉内核不加载驱动程序,而是使用BIOS模式,等到加载X服务,也就是调用集显来进入tt7(x-window),因为刚安装的系统还没有安装过驱动。
原文:
Note that this option is sometimes needed for nVidia cards when using the default "nouveau" drivers. Installing proprietary nvidia drivers usually makes this option no longer necessary, so it may not be needed to make this option permanent, just for one boot until you installed the nvidia drivers.
在nvidia论坛上找了相关问题
解决:
https://devtalk.nvidia.com/default/topic/1031213/linux/problem-installing-nvidia-390-42-driver-on-ubuntu-16-04/
也就是用从ubuntu's graphics ppa中进行安装,而不是run的文件
此时我已经进不去tt7了,所以往下都是在tt1下进行的操作
综上开始以下操作:
0.关闭x服务
sudo service lightdm stop
1.禁用nouveau
sudo vi /etc/modprobe.d/blacklist.conf
#文末加入
blacklist nouveau
sudo update-initramfs -u
lsmod |grep nouveau
无输出
2.加入
sudo add-apt-repository ppa:graphics-drivers/ppa
3.更新
sudo apt-get update
4.查找匹配驱动
sudo ubuntu-drivers devices
输出
5.选择推荐版本
sudo apt-get install nvidia-415
6.等待安装后重启,nvidia-smi
查看是否安装成功,或者lsmod | grep nvidia
,成功结果如下
7.重启x服务
sudo device lightdm start
8.此时还不能进入图形界面,因为nomodeset还在,所以重启,在grub界面,此时按下`E'键
9.删除 nomodeset
参数,在GRUB_CMDLINE_LINUX_DEFAULT="quiet splash
之后,删除它,然后留一个空格
10.按f10
进入
一般此时已经成功了,所以修改grub,删除 nomodeset
参数
sudo vi /etc/default/grub
更新grub
sudo update-grub
11.重启,结束
12.option
如果在第8仍然不能进去,可以尝试在删除后空一格,然后加入acpi_osi=linux
,来将内核伪装为linux进行执行,从而执行相应例程,如下图所示。这样进入系统之后,仍然需要修改grub,即先删除nomodeset
,然后加入acpi_osi=linux
,更新grub,重启,结束
13.最后结果,显示正常,tt1~tt7都没有问题