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

news/2024/11/15 1:42:12/

0. 摘要

  • 由于NVIDIA的GTX1650显卡刚推出不久, 就我所知, 目前没有关于在Ubuntu上成功安装GTX1650显卡驱动教程, 所以我在安装GTX1650显卡驱动的过程中走了很多弯路, 同时也学会了很多的知识, 所以在此博客分享我的经验.
  • 第一部分主要讲了Ubuntu16.04系统的安装, BIOS设置和分区是重点; 不然很大概率会出现: 挂起后无法唤醒, 引导不成功, 或者swap分区不良的问题(swap分区小了可能会导致程序编译期间卡顿的问题);
  • 第二部分讲了WiFi连接不上的问题;(通病)
  • 第三部分讲了如何安装NVIDIA GTX1650显卡驱动;
    使用核显的情况下或者安装完系统以后(前提: 需要在BIOS中设置为Switchable Graphics), 用HDMI连接显示器后没有反应的问题, 这是由于独显闭源驱动没有成功安装的原因;
    (如果安装好了独显驱动, 而BIOS设置的是Discrete Graphics的时候(也就是拯救者Y7000的独显直连模式), Ubuntu系统的屏幕亮度是无法调节亮度的)
  • 第四部分讲了独显安装以后会出现的一些问题和现象;
设置好BIOS以及正确安装好显卡驱动, 那么下面很多问题就可以得到解决:
问题: 引导失败; 黑屏; 无限登录; 挂起后无法唤醒; 安装显卡驱动以后屏幕亮度不能调节; 图形是llvmpipe; HDMI连接显示器没有反应; compiz进程占用很多的CPU;提示The system is running in low-graphics mode进不入系统;

另: a. 本来安装这些是很简单的一件事, 但Y7000显卡采用了比较新的GTX1650显卡, 问题就变得不同了, 安装显卡驱动存在着较多问题, 到目前相关的帖子又没有, 所以这篇博客里讲了拯救者Y7000 2019如何安装Ubuntu和NVIDIA显卡驱动.
b. 这款Y7000应该属于Intel机型中拥有独显输出的机型了,所以外接显示器需要独立显卡来工作,而目前NVIDIA开源驱动Nouveau对GTX1650的支持并不是很好,所以导致了很多问题出来。
在这里插入图片描述
c. 另外Y7000 2019不支持集显和核显的热切换,需要重启电脑才行,此外它有个新的技术是Dual-Direct GFX(以及此处技术讲解),允许独显直接输出到笔记本的屏幕上,不是通过GPU渲染再交给核显进行显示;而2020.4月份联想通过NVIDIA提供的Advanced Optimus技术解决了不能热切换显卡的问题。

在这里插入图片描述
0.1. 所以2010年NVIDIA的Optimus技术解决了系统什么时候该用独立显卡什么时候该用集成显卡来运行程序的问题;而联想2019年的推出的DDG技术解决了先前不管怎么样独显处理完的数据还得交给核显来进行显示的难题;而2020.4月NVIDIA推出的Advanced Optimus技术解决了独显和核显热切换的难题以及独显直连的问题,相当于前面两种问题都被这个技术解决了。(可以看出联想在游戏本上的开发投入的精力还是不少)

1. 安装Ubuntu16.04.6系统(发布时间2019.02.28)

1.0. 由于安装ubuntu系统的教程很多, 所以这里只是大概讲下流程和需要注意的地方;
1.1. 首先在win10环境下使用自带的磁盘管理工具将某个盘压缩出自己所需要的空间, 我这里压缩了250G给Ubuntu系统使用, 压缩完成后会看到存在一个未分配的分区,如下图所示; (如果在安装类型中选择了第一项, 系统会自动识别出这个未分配的分区进行Ubuntu的安装, 并且还会分为 /swap 两个分区)
在这里插入图片描述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(联想电脑) ,然后选择是启动盘那个选项;
在这里插入图片描述
注: 如果以前安装了Ubuntu系统, 现在想再安装同样的系统或者其他, 最好将以前的Ubuntu系统引导项从电脑删除干净, 不然到最后系统的引导项会有好多个Ubuntu, 那时候就不容易分不清了, 具体方法见: 此处
1.5. 等待片刻就开始了Ubuntu系统的安装选项界面, 选项如下(选择第一个或第二个均可), 然后开始安装, 选择语言等:
在这里插入图片描述
1.6. 重点:下来就是最重要的一步: 分区
1.6.1. 当执行到安装类型这一步的时候, 我们可以选第一个或者最后一个:
在这里插入图片描述

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

1.7. 分区结果如下:
/分区:
在这里插入图片描述
swap分区:
在这里插入图片描述
我这里只分了两类/swap, 剩下的那些分区没有必要分了, 这样使用就挺方便; (一般情况下在Linux里必须建立一个/根分区, 系统内存已经足够大; 系统内存一般的情况下,至少要建立两个分区: /swap, 其他的其实无所谓,详见此处)
还有一个重要的boot分区没有分, 我直接使用了Windows的efi(当然也可以做两个efi分区来引导各自的系统,依然是点击+号,分差不多200M的空间挂载到/boot即可); 最终结果如下:
在这里插入图片描述
1.8. 点击现在安装, 设置用户名等, 就可以将Ubuntu安装进去了, 差不多需要花费2分钟左右的时间就完成了.
1.9. 重启进入系统, 这样会自动进入grub引导界面,第一项就是Ubuntu,我们可以点回车进入系统(如果还是进入了Windows系统,那我们可以重启的时候按F2进入BIOS选项将Ubuntu移到最上面启动,这样就会进入grub引导界面了)
注: EasyBCD引导不了EFI类系统, 所以还是建议直接修改BIOS顺序进入就行.
2.0. 如果使用Windows比较多, 我们可以通过修改grub来让Windows默认启动, 具体见此处连接

2. 通病:WiFi问题

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

$ rfkill list all

结果如下, 存在两个WiFi设备, 我们这里将第一个设备ideapad禁用掉即可(因为被Hard blocked了):
在这里插入图片描述
解决方法, 在/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

2.4. (2019款电脑可略过)这款Y7000 2019 PG0使用的无线网卡型号是Intel AC 9560(无线网卡是接在PCI总线上的,所以我们通过lspci就可以从列表中看到无线网卡的型号),所以不用更新Ubuntu内核驱动版本(16.04.6默认内核版本为4.15.0)就可以使用此无线网卡;而Y7000 2020款使用的无线网卡是Intel AX201,这款是Intel新推出的无线网卡并且支持WiFi6,由于硬件很新,为了在Ubuntu上使用此网卡需要我们更新内核驱动,具体方法见此博客;[在新的硬件上使用旧的软件系统(或者旧的硬件上使用新的软件系统),很可能会出现这种内核版本的问题]
不同无线网卡对应的Linux内核版本情况,可见Intel官网:
在这里插入图片描述
不同Ubuntu版本对应的初始内核版本见此官网;

:电脑的三个卡介绍(显卡,声卡,网卡):很多电脑安装的主板声卡和有线网卡都是Realtek这个厂商的,因为便宜稳定;除此以外一个声卡是在NVIDIA独显上的,这个声卡主要是为了在外接显示器下通过HDMI接口输出声音信号而服务的;集成显卡和无线网卡大都采用的是Interl厂商的。

3. GTX1650显卡驱动的安装

我这款联想拯救者Y7000 2019版电脑安装的是旧的GTX1650显卡,在2020年4月份NVIDIA又推出了新的GTX1650显卡和GTX1650Ti显卡,升级成了GDDR6显存,具体区别可以见下图:
在这里插入图片描述
性能区别见此处,如果按照这篇帖子显卡安装失败了,有可能是新旧1650显卡的原因,这一部分的补充我写在了第六节。
补充资料:此处链接描述了笔记本电脑外接显示器的三种接口方式与注意的问题,原来Type-C接口也具有显示输出的功能,Type-C的显示输出功能其实并没有占用USB带宽,而是单独做了个DP显示总线放在了Type-C口上
3.0. 问题: 当进行完上面那些步骤以后, 如果通过HDMI去连接显示器以后会发现显示器没有任何输出, 这主要是因为此电脑的HDMI接口是连在独显上的, 但是独显的闭源驱动并没有安装上, 所以显示器没有任何输出, 通过成功安装GTX1650显卡驱动, 外接显示器就可以正常工作。
Ubuntu一般默认安装的是Intel的集显驱动以及独显的开源驱动,经常导致连接扩展屏没有图像输出(针对GTX1650显卡来说)
3.1. 安装NVIDIA驱动一共有三种方法:

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

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

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

在这里插入图片描述
3.2. 我这里第二和第三种都没有安装成功, 会出现黑屏或者循环登录的情况, 最后通过ppa的方式安装成功, 方法如下:
注: 由于第一次安装可能不成功, 所以需要卸载以前不成功的驱动, 卸载方法如下(如果是第一次安装NVIDIA则可以跳过):

  • ppa方式安装
    $ sudo apt-get purge nvidia-*
  • .run方式安装
    $ cd <the path of .run file>
    $ sudo ./NVIDIA-Linuxxxxx-version.run --uninstall

3.3. 通过ppa方式安装方法如下:
3.3.1. 由于电脑安装了NVIDIA的开源驱动nouveau, 所以我们先要将其屏蔽掉, 屏蔽方法是将其放入blacklists中; 首先我们通过lsmod | grep nouveau可以发现系统已载入的nouveau模块:
在这里插入图片描述

Nouveau是由第三方为NVIDIA显卡开发的一个开源3D驱动,也没能得到NVIDIA的认可与支持。虽然Nouveau Gallium3D在游戏速度上还远远无法和NVIDIA官方私有驱动相提并论,不过确让Linux更容易的应对各种复杂的NVIDIA显卡环境,让用户安装完系统即可进入桌面并且有不错的显示效果,所以,很多Linux发行版默认集成了Nouveau驱动,在遇到NVIDIA显卡时默认安装。企业版的Linux更是如此,几乎所有支持图形界面的企业Linux发行版都将Nouveau收入其中。
这段文字参考自此处
由于GTX1650很新,有可能这个开源驱动Nouveau对这个显卡的支持并不是那么完善,所以会导致无法使用扩展屏等一系列问题。

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安装失败…)
在这里插入图片描述

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

3.4. 检测成功与否

3.4.1. 重启以后可以发现系统设置->详细信息中的图形变成了: GeForce GTX 1650/PCIe/SSE2, 如下图所示:
在这里插入图片描述
3.4.2. 通过下面命令可以打开NVIDIA的配置面板, 可以发现渲染器Renderer为独立显卡GTX1650, 如下图:

$ nvidia-settings

在这里插入图片描述
3.4.3. 通过下面命令可以发现, 系统是否使用了NVIDIA显卡驱动, 如下图所示, 如果使用率为0, 多半是安装错误;

$ nvidia-smi --loop=1

在这里插入图片描述
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, vscode, MATLAB; (注意: 不要安装roboware, 异常不好用)
5.5. 优化库相关项: Eigen, Sophus, Ceres, g2o, Pangolin;
5.6. 文档类: 福昕阅读器, WPS, Xmind, Typora;
5.7. 小工具类: redshift-gtk;

6. 补充

6.1. 根据下面的回复区,目前430.64也可以安装成功,GTX1650在它的support列表中;
详见此处官网430.64驱动说明
6.1.1. 在官网驱动页面对GTX进行选择时不要选择“Geforce GTX16 series (Notebooks)”,要选择“Geforce 16 series”,否则出不来430.64驱动版本的这个选项。
6.1.2. 有的小伙伴在Ubuntu18.04 GTX1650配置下,435.21版本也可以安装成功,这个驱动介绍在Geforce GTX16 series (Notebooks)上;需要注意的是笔记本的2060显卡和台式机的2060显卡是不一样的,但是随着技术的进步,笔记本的显卡相比台式机的不再阉割了,所以目前他们的名字都一样,以往同一型号的显卡使用后缀来区分台式机和笔记本,但需要明白的是笔记本显卡由于体积散热的原因显卡的性能释放不出来,参见此链接的评论。
6.2. 有的小伙伴购买了联想拯救者R7000型号,配置为R7-4800h, GTX1650;在Ubuntu16.04上面尝试了多次,最终安装440.100这个驱动版本成功了,此版本驱动下载地址点击此处。 发布日期为: 2020.6.24
6.3. PPA指南;通过PPA软件包的方式相应的开发人员能够创建自己的存储库,用户第一时间可以得到新的软件包或更新包,所以Ubuntu开发了一个launchpad的平台供开发人员使用,我们可以通过在ppa查看相应的驱动包,比如上面介绍的很多显卡版本都可以在它的ppa中找到,可以作为一种验证手段。


http://www.ppmy.cn/news/246219.html

相关文章

联想小新Win11系统屏幕和声音间歇性卡顿解决方案

相信很多人在微软发布win11时就加入了windows体验计划&#xff0c;本人是在去年夏天的时候刚出这项计划就体验了win11&#xff0c;整体来说没有win10舒服&#xff0c;尤其是流畅度方面&#xff0c;但是既然已经更新了就不想再退到win10&#xff0c;因为这涉及到个人的工作环境问…

《庄子》笔记

庄子 前述&#xff1a;庄子&#xff0c;战国时宋国人。 1.鲲鹏&#xff1a;胸襟宽广&#xff0c;高远&#xff0c;无界限。 2.寒蝉和灵龟&#xff1a;小年的悲哀。 3.小麻雀的得意&#xff1a;境界不同&#xff0c;又有什么可比性呢。 4.列子随风而行&#xff1a;得大道者&…

Go语言配置解析库viper

Go语言配置解析库viper 1、viper简介 viper 配置管理解析库&#xff0c;是由大神 Steve Francia 开发&#xff0c;他在google领导着 golang 的产品开发&#xff0c;他也是 gohugo.io 的创始人之一&#xff0c;命令行解析库 cobra 开发者。 viper是一个配置管理的解决方案&a…

CVE漏洞复现-CVE-2023-32233 NetFilter权限提升

CVE-2023-32233 NetFilter权限提升 Netfilter是Linux 内核中的网络数据包处理框架&#xff08;iptables&#xff09;通过各种规则和过滤器&#xff0c;基于数据包的来源、目标地址、协议类型、端口号等信息&#xff0c;控制网络流量和数据包的转发和处理具体&#xff0c;详情请…

调用腾讯云API实现英文识别

目录 1. 作者介绍2. 腾讯云英文识别API介绍2.1 英文识别原理—OCR技术2.2 腾讯云英文识别API 3. 实验过程3.1获得API3.2申请调用接口3.3调试接口3.4实验代码3.5实验结果3.6 问题分析 4. 参考连接 1. 作者介绍 乔奕婕&#xff0c;女&#xff0c;西安工程大学电子信息学院&#…

观澜街道田背西村城市更新项目,开发商保利地产

龙华区观澜街道田背西村保利旧改位于深圳市龙华区田背路与观澜大道交汇处西100米&#xff0c;4号线的北延线茜坑站地铁口物业&#xff0c;毗邻龙华区政府&#xff0c;周边交通便利&#xff0c;毗邻4号线茜坑站&#xff0c;无需换乘&#xff0c;直达深圳北站、福田CBD&#xff1…

明基ew3270u评测

明基EW3270U也是一款拥有4K分辨率的显示器&#xff0c;它采用了一块32英寸VA面板&#xff0c;而4K分辨率则让这么大的屏幕有了细腻的画面呈现效果。HDR技术的加入和较广的色域覆盖&#xff0c;让它拥有较好的画面色彩表现。丰富的的接口&#xff0c;也能让你在使用时获得更好的…

Java之BigDecimal使用

Java之BigDecimal使用 1、BigDecimal概述 ​ BigDecimal用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效数&#xff0c;但在实际应用中&#xff0c;可能需要对更大或者更小的数进行运算和处理。一般情况下&#xff0c;对于那些不需要准确计…