联想拯救者Y7000(自带win10 home) 安装Ubuntu16.04.6 + NVIDIA GTX1650驱动

0. 摘要

  • 第一部分主要讲了Ubuntu16.04系统的安装, BIOS设置和分区是重点; 不然很大概率会出现: 挂起后无法唤醒, 引导不成功, 或者swap分区不良的问题(swap分区小了可能会导致程序编译期间卡顿的问题);
  • 第二部分讲了WiFi连接不上的问题;(通病)
  • 第三部分讲了如何安装NVIDIA GTX1650显卡驱动; 使用核显的情况下(前提: 需要在BIOS中设置为Switchable Graphics), 用HDMI连接显示器后没有反应的问题, 这是由于独显驱动没有成功安装;
  • 第四部分讲了独立显卡安装以后会存在的一些问题和现象;
设置好BIOS以及正确安装好显卡驱动, 那么很多问题就可以得到解决:
问题: 引导失败; 黑屏; 无限登录; 挂起后无法唤醒; 安装显卡驱动以后屏幕亮度不能调节; 图形是llvmpipe; HDMI连接显示器没有反应; compiz进程占用很多的CPU;
	  提示The system is running in low-graphics mode进不入系统;

另: 本来安装这些是很简单的一件事, 但Y7000显卡采用了比较新的GTX1650显卡, 问题就变得不同了, 安装显卡驱动存在着较多问题, 到目前相关的帖子又很少, 所以这篇博客里讲了拯救者Y7000如何安装Ubuntu和NVIDIA显卡驱动.

1. 安装Ubuntu16.04.6系统

1.0. 由于安装ubunut系统的教程很多, 所以这里只是大概讲下流程和需要注意的地方;
1.1. 首先在win10环境下使用自带的磁盘管理工具将某个盘压缩出自己所需要的空间, 我这里压缩了250G给Ubuntu系统使用, 压缩完成后会看到存在一个未分配的分区,如下图所示; (如果在安装类型中选择了第一项, 系统会自动识别出这个未分配的分区进行Ubuntu的安装, 并且还会分为 /swap 两个分区)
联想拯救者Y7000(自带win10 home) 安装Ubuntu16.04.6 + NVIDIA GTX1650驱动_第1张图片1.2. 使用U盘制作启动盘:

  • 在win10上使用UltraSo工具将Ubuntuxxx.iso做成U盘启动盘;

1.3. 重点: 设置电脑BIOS选项(联想电脑: 开机连按F2) :
1.3.1. 在BIOS的Configuration这一项将图形设备Graphic Device选项改为: Switchable Graphics, 引导方式默认的UEFI就行;

  • 原因: 这样可以避免出现挂起后无法唤醒的问题, 因为这个显卡选项默认是独立显卡Discrete Graphics,
    由于真正的闭源驱动还没有安装成功(默认安装的是NVIDIA的开源驱动nouveau), 所以导致挂起后无法唤醒的问题;
    或者按默认的Discrete Graphics来也行, 安装好系统以后再改为Switchable Graphics就可以.

Graphic Device = Discrete Graphics, 会出现挂起后无法唤醒的问题. (这个时候系统设置->详细信息图形: llvmpipe(LLVM 6.0, 256 bits))
Graphic Device = Switchable Graphics, 不会出现挂起后无法唤醒的问题. (这个时候系统设置->详细信息图形: Intel® HD Graphics (Coffeelake 3x8 GT2) )

1.3.2. 在BIOS的Security这一项将Secure Boot改为: Disabled

  • 原因: 关闭安全模式, 才能进入Ubuntu系统, 否则即便安装成功了, 也不会引导到Ubuntu系统里;

1.4. 关机, 插入制作好的启动盘, 然后开机后连按F12(联想电脑) ,然后选择是启动盘那个选项;
联想拯救者Y7000(自带win10 home) 安装Ubuntu16.04.6 + NVIDIA GTX1650驱动_第2张图片
注: 如果以前安装了Ubuntu系统, 现在想再安装同样的系统或者其他, 最好将以前的Ubuntu系统引导项从电脑删除干净, 不然到最后系统的引导项会有好多个Ubuntu, 那时候就不容易分不清了, 具体方法见: 此处
1.5. 等待片刻就开始了Ubuntu系统的安装选项界面, 选项如下(选择第一个或第二个均可), 然后开始安装, 选择语言等:
联想拯救者Y7000(自带win10 home) 安装Ubuntu16.04.6 + NVIDIA GTX1650驱动_第3张图片
1.6. 重点:下来就是最重要的一步: 分区
1.6.1. 当执行到安装类型这一步的时候, 我们可以选第一个或者最后一个:
联想拯救者Y7000(自带win10 home) 安装Ubuntu16.04.6 + NVIDIA GTX1650驱动_第4张图片

  • 如果选择了第一个选项, 系统会自动查找磁盘中未分配的分区进行安装, 并且将该分区分为/swap分区, 如果安装的是Ubuntu 16.04.4版本, 可以直接选第一项, swap分区 = 电脑的运存, 如果是16.04.5及以后版本, 这个swap分区 = 1G, 显然不太合适(我在我自己电脑上测试结果是这样), 我安装了Ubuntu16.04.6, 所以我选择了最后一个: 其他选项进行手动分区

1.7. 分区结果如下:
/分区:
联想拯救者Y7000(自带win10 home) 安装Ubuntu16.04.6 + NVIDIA GTX1650驱动_第5张图片
swap分区:
联想拯救者Y7000(自带win10 home) 安装Ubuntu16.04.6 + NVIDIA GTX1650驱动_第6张图片
我这里只分了两类/swap, 剩下的那些分区没有必要分了, 这样使用就挺方便;
还有一个重要的boot分区没有分, 我直接使用了Windows的efi(当然也可以做两个efi分区来引导各自的系统,依然是点击+号,分差不多200M的空间挂载到/boot即可); 最终结果如下:
联想拯救者Y7000(自带win10 home) 安装Ubuntu16.04.6 + NVIDIA GTX1650驱动_第7张图片
1.8. 点击现在安装, 设置用户名等, 就可以将Ubuntu安装进去了, 差不多需要花费2分钟左右的时间就完成了.
1.9. 重启进入系统, 这样会自动进入grub引导界面,第一项就是Ubuntu,我们可以点回车进入系统(如果还是进入了Windows系统,那我们可以重启的时候按F2进入BIOS选项将Ubuntu移到最上面启动,这样就会进入grub引导界面了)
注: EasyBCD引导不了EFI类系统, 所以还是建议直接修改BIOS顺序进入就行.

2. 通病:WiFi问题

2.1. 这个系列电脑存在一个通病(其他系列的不清楚): **WiFi连接不成功 **; 我们通过rfkill命令来查看无线传输设备的情况:

$ rfkill list all

结果如下, 存在两个WiFi设备, 我们这里将第一个设备ideapad禁用掉即可(因为被Hard blocked了):
联想拯救者Y7000(自带win10 home) 安装Ubuntu16.04.6 + NVIDIA GTX1650驱动_第8张图片
解决方法, 在/etc/rc.local文件中exit 0的上一行写入echo "123" | sudo modprobe -r ideapad_laptop即可:

$ sudo gedit /etc/rc.local

2.2. 重启设备就可以连接上WiFi了.
2.3. 更新一下源,以便后续安装其他程序;

$ sudo apt-get update

3. GTX1650显卡驱动的安装

3.0. 问题: 当进行完上面那些步骤以后, 如果通过HDMI去连接显示器以后会发现显示器没有任何输出, 这主要是因为此电脑的HDMI接口是连在独显上的, 但是独显的闭源驱动并没有安装上, 所以显示器没有任何输出, 通过成功安装GTX1650显卡驱动, 外接显示器就可以正常工作.
3.1. 安装NVIDIA驱动一共有三种方法:

  • ppa方式, 也就是添加软件源, 然后sudo apt-get install xxxx, 通过deb文件进行安装;
  • 附加驱动方式,也就是系统设置->软件和更新->附加驱动中可以找到NVIDIA的驱动, 点击合适的版本,最后应用更改; (我这里是添加了ppa以后附加驱动才有内容的, 没有加ppa之前附加驱动是空白的);
  • .run方式, 也就是去NVIDIA驱动的官网下载对应显卡的run文件;

3.1.1. 查看电脑显卡的指令如下:

$ lspci -k | grep -A 2 -i "VGA"

联想拯救者Y7000(自带win10 home) 安装Ubuntu16.04.6 + NVIDIA GTX1650驱动_第9张图片
3.2. 我这里第二和第三种都没有安装成功, 会出现黑屏或者循环登录的情况, 最后通过ppa的方式安装成功, 方法如下:
注: 由于第一次安装可能不成功, 所以需要卸载以前不成功的驱动, 卸载方法如下(如果是第一次安装NVIDIA则可以跳过):

  • ppa方式安装
    $ sudo apt-get purge nvidia-*
  • .run方式安装
    $ cd
    $ sudo ./NVIDIA-Linuxxxxx-version.run --uninstall

3.3. 通过ppa方式安装方法如下:
3.3.1. 由于电脑安装了NVIDIA的开源驱动nouveau, 所以我们先要将其屏蔽掉, 屏蔽方法是将其放入blacklists中; 首先我们通过lsmod | grep nouveau可以发现系统已载入的nouveau模块:
联想拯救者Y7000(自带win10 home) 安装Ubuntu16.04.6 + NVIDIA GTX1650驱动_第10张图片
3.3.2. 禁用nouveau模块:

$ sudo gedit /etc/modprobe.d/blacklist.conf

在blacklist.conf文件中, 最后一行输入:

blacklist vga16fb
blacklist nouveau
blacklist rivafb
blacklist rivatv
blacklist nvidiafb

3.3.3. 升级一下内核:

$ sudo update-initramfs -u

注: 这里应该会出现两个下面的警告:
W: Possible missing firmware /lib/firmware/i915/kbl_guc_ver9_14.bin for module i915
W: Possible missing firmware /lib/firmware/i915/bxt_guc_ver8_7.bin for module i915
如果不修改,到时候安装ROS的时候也会存在这两个警告, 我们可以点击此处下载相应的文件, 复制到对应的目录即可:
$ cd [the path of bin file]
$ sudo cp kbl_guc_ver9_14.bin /lib/firmware/i915/
$ sudo cp bxt_guc_ver8_7.bin /lib/firmware/i915/

3.3.4. 重启

$ sudo reboot

3.3.5. 通过Ctrl + Alt + F1进入tty1界面(这个界面是纯黑底白字的, 如果想再次回到桌面, 可以通过Ctrl + Alt + F7进入), 然后将桌面管理器lightdm关闭, 添加ppa, 更新源, 查找推荐驱动, 安装驱动, 开启lightdm服务, 回到桌面, 重启.

$ sudo service lightdm stop
$ sudo add-apt-repository ppa:graphics-drivers/ppa
$ sudo apt-get update
$ sudo ubuntu-drivers devices # 这一步会看到推荐的驱动版本号,比如123
$ sudo apt-get install nvidia-123 nvidia-settings nvidia-prime
$ sudo service lightdm start
$ sudo reboot

需要注意的是: 我这里推荐安装的驱动版本是430, 结果失败了, 经过几次尝试安装了nvidia-418, 终端显示的是418.56版本, 虽然不是推荐的, 但是安装成功,没有问题 (推荐的驱动430安装失败…)
联想拯救者Y7000(自带win10 home) 安装Ubuntu16.04.6 + NVIDIA GTX1650驱动_第11张图片

疑问: GTX1650显卡是2019年4月23号推出的显卡, 430.09版本的驱动也是该天推出的, 驱动的官网也明确说明添加了对GTX1650的support, 后续的430.xx版本也推出了, 但是通过ppa方式和.run安装均失败. 418.56驱动是3月20号推出的, 没有讲支持GTX1650驱动, 但是却可以安装成功.

3.4. 检测成功与否

3.4.1. 重启以后可以发现系统设置->详细信息中的图形变成了: GeForce GTX 1650/PCIe/SSE2, 如下图所示:
联想拯救者Y7000(自带win10 home) 安装Ubuntu16.04.6 + NVIDIA GTX1650驱动_第12张图片
3.4.2. 通过下面命令可以打开NVIDIA的配置面板, 可以发现渲染器Renderer为独立显卡GTX1650, 如下图:

$ nvidia-settings

联想拯救者Y7000(自带win10 home) 安装Ubuntu16.04.6 + NVIDIA GTX1650驱动_第13张图片
3.4.3. 通过下面命令可以发现, 系统是否使用了NVIDIA显卡驱动, 如下图所示, 如果使用率为0, 多半是安装错误;

$ nvidia-smi --loop=1

联想拯救者Y7000(自带win10 home) 安装Ubuntu16.04.6 + NVIDIA GTX1650驱动_第14张图片
3.4.5 以前的旧电脑通过ppa安装推荐的NVIDIA驱动, 一次就成功了, 但是这次这个GTX1650着实让人觉得有些奇怪.
3.5. 双显卡切换
3.5.1. 安装好独立显卡以后,如果需要切换回集成显卡,可以在nvidia-settings界面的PRIME Profiles选项中切换为集成显卡,重启或注销;
3.5.2. 如果切换到集成显卡,会发现nvidia-settings打不开了,这个时候我们可以通过在终端输入命令来切换为独立显卡:

$ sudo prime-select nvidia

4. 问题

4.1. 如果出现下面问题, 多半是独立显卡安装有问题或者BIOS的图像选项没有设置对:

  • 图形选项不是GTX1650, 而是llvmpipe之类的; (此种情况下, compiz进程会占用相当大的CPU, 会吃掉你几个核, 从20%~300%, 虽然察觉不出来, 其实是有问题的,开的窗口越多越明显) (多半是.run文件安装引起的问题, 不知道是不是因为加了-no-opengl-files的原因)
  • 显卡配置的渲染器不是独立显卡, 而是llvmpipe(LLVM 6.0, 256 bits)之类的, 里面没有PRIME Profiles选项;
  • 显卡的使用率为0, 进程里显示为no progress;
  • 重启以后黑屏(.run安装方式会出现这个问题)
  • 或者提示The system is running in low-graphics mode;
  • 电脑挂起以后无法唤醒, 风扇一直转, 只能通过重启来解决; (如果电脑正确使用了集显或者独显不会出现挂起后无法唤醒的问题);

4.2. 如果安装驱动出现了上面的问题, 导致黑屏或者无限登录, 我们可以通过Ctrl + Alt + F1进入tty1界面卸载掉NVIDIA驱动就可以进入有桌面的系统了, 紧接着又可以尝试安装NVIDIA驱动了.

5. 安装相关软件

5.1. 系统方面: 安装htop, terminator, indicator-sysmonitor;
5.2. 输入法: 搜狗输入法;
5.3. 安装ROS环境;
5.4. 安装catkin tools,支持catkin build

$ sudo apt-get install python-catkin-tools

5.4. 编译环境: CLion, Roboware, MATLAB;
5.5. 优化库相关项: Eigen, Sophus, Ceres, g2o, Pangolin;
5.6. 文档类: 福昕阅读器, WPS, Xmind, Typora;

6. 补充

6.1. 根据下面的回复区,目前430.64也可以安装成功,GTX1650在它的support列表中;
详见此处官网430.64驱动说明
6.1.1. 在官网驱动页面对GTX进行选择时不要选择“Geforce GTX16 series (Notebooks)”,要选择“Geforce 16 series”,否则出不来430.64驱动版本的这个选项。
6.2. 其他

你可能感兴趣的:(Ubuntu,拯救者Y7000,GTX1650)