Thinkpad T14 Ubuntu16.04下双屏显示解决笔记(未解决,仅为记录)——切换成18.04吧,一点问题没有(笑哭)

笔记本型号:Thinkpad T14

显卡:NVIDIA GeForce MX330

显存类型:2GB GDDR5

操作系统:ubuntu16.04

一、原因

ubuntu系统电脑如果有两个显卡:独显和核显,就会出现HDMI没有信号,因为电脑默认使用核显,而HDMI的输出是由独显给的,所以会出现HDMI没有信号的情况。

二、解决办法

安装自己的独显驱动。

显卡驱动安装

1.检查自己的显卡驱动型号

方法一、 最不费脑子的办法:重启进入windows,设备管理器直接看显卡型号,或者下载鲁大师硬件检测会有显卡型号。
方法二:lspci | grep -i vga会出现一个16进制的数字

选有nvidia的那个就是独显(我的是2191),把这个16进制数字粘贴到PCI devices(网址进去较慢,耐心ing)可以查询到显卡的型号。
Thinkpad T14 Ubuntu16.04下双屏显示解决笔记(未解决,仅为记录)——切换成18.04吧,一点问题没有(笑哭)_第1张图片

2.下载nvidia驱动

下载驱动网址,查询到之后选择一个版本下载。
Thinkpad T14 Ubuntu16.04下双屏显示解决笔记(未解决,仅为记录)——切换成18.04吧,一点问题没有(笑哭)_第2张图片

3.准备工作

禁用nouveau

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

在打开的文件中加入

blacklist nouveau
options nouveau modeset=0

更新系统

sudo update-initramfs -u

重启

sudo reboot

验证是否禁用nouveau,若系统没有任何输出则禁用成功。

lsmod | grep nouveau

4.开始安装

  1. 将下载的.run文件放在home文件夹下以便之后使用(一定要做)。

  2. 在ubuntu下ctrl+alt+f1进入命令行界面,在命令行界面ctrl+alt+f7退出命令行界面。(以防进去之后不知道怎么出来)

  3. 进入命令行界面ctrl+alt+f1之后的步骤最好先用手机拍照再进行

  4. sudo service lightdm stop //关闭图形界面

  5. sudo apt-get remove nvidia-* //卸载原有驱动

  6. sudo chmod 777 NVIDIA-Linux-x86_64-430.64.run //将驱动转换成可执行文件
    NVIDIA-Linux-x86_64-430.64.run是我的驱动文件,这个要改成自己的

  7. sudo ./NVIDIA-Linux-x86_64-430.64.run -no-nouveau-check -no-opengl-files//输全了

  8. 安装速度很快,一路回车就可。若有问题看下面的引用部分

The distribution-provided pre-install script failed! Are you sure you want to continue?

选择 yes 继续。


Would you like to register the kernel module souces with DKMS? This will allow DKMS to automatically build a new module, if you install a different kernel later?

选择 No 继续。


问题没记住,选项是:install without signing 问题大概是:Nvidia’s 32-bit compatibility
libraries?

选择 No 继续。


Would you like to run the nvidia-xconfigutility to automatically update your x configuration so that the NVIDIA x driver will be used when you restart x? Any pre-existing x confile will be backed up.

选择 Yes 继续


这些选项如果选择错误可能会导致安装失败,没关系,只要前面不出错,多尝试几次就好。

   9.sudo service lightdm start //启动图形界面

在安装过程中显示我的gcc版本过低,升级了gcc版本,安装教程参考Linux安装GCC 9.2.0

5.结束工作

挂载Nvidia驱动:

modprobe nvidia//一定要做

检查驱动是否安装成功:

nvidia-smi

 
进入自己的系统设置-详细信息,图形会显示自己的显卡信息

Thinkpad T14 Ubuntu16.04下双屏显示解决笔记(未解决,仅为记录)——切换成18.04吧,一点问题没有(笑哭)_第3张图片
 

     4.有可能有一个也有可能有多个,选择后面有recommended的那个

     5.我的是nvidia-430,不一样的自己改一下

sudo apt-get install nvidia-430 nvidia-settings nvidia-prime

      6.重启

 sudo reboot

结束

打开终端,输入

nvidia-settings

以上NVIDIA驱动安装教程转载自:https://www.freesion.com/article/35781091556/

问题:

1.问题一,No running processes found

在安装完成以后按照上述第5步输入

nvidia-smi

 发现显示如下内容:No running processes found

Thinkpad T14 Ubuntu16.04下双屏显示解决笔记(未解决,仅为记录)——切换成18.04吧,一点问题没有(笑哭)_第4张图片

而且在系统设置额详细信息中,图形一行显示:llvmpipe (LLVM 6.0, 256 bits)

Thinkpad T14 Ubuntu16.04下双屏显示解决笔记(未解决,仅为记录)——切换成18.04吧,一点问题没有(笑哭)_第5张图片

2.问题二,输入ubuntu-drivers devices后不显示任何内容

ubuntu-drivers devices

3.问题三,ERROR: Unable to load info from any available system

使用

nvidia-settings

后显示

ERROR: Unable to load info from any available system

解决历程

问题一(解决失败-重装系统)

不要按照下属方法做!!!

不要按照下属方法做!!!

不要按照下属方法做!!!

1.切换到NVIDIA驱动

sudo prime-select nvidia

显示

sudo: prime-select:找不到命令

输入以下代码解决

sudo apt-get install nvidia-prime

输入 下列代码查看当前显卡

prime-select query

返回

unknown

重新输入sudo prime-select nvisudo prime-select nvidiadia切换到NVIDIA后又出现问题:

Info: the current GL alternatives in use are: ['mesa', None]
Info: the current EGL alternatives in use are: ['mesa-egl', None]
Error: the installed packages do not support PRIME
Error: nvidia mode can't be enabled

输入(这应该是一个插件,能够显示任务栏图标)

sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt-get update
sudo apt-get install prime-indicator

重启后屏幕右上角出现图标点击后选择 Open NVIDIA Settings没有任何反应,选择Quick switch graphics也没有任何反应。

基于上面的错误Error: the installed packages do not support PRIME,我认为是版本不匹配,因此查询了系统版本,显卡版本,gcc版本。

查询系统版本

cat /proc/version

返回结果

Linux version 5.3.5-050305-generic (kernel@sita) (gcc version 9.2.1 20190909 (Ubuntu 9.2.1-8ubuntu1)) #201910071830 SMP Mon Oct 7 18:33:03 UTC 2019

查询显卡版本

cat /proc/driver/nvidia/version

返回结果

NVRM version: NVIDIA UNIX x86_64 Kernel Module  460.73.01  Thu Apr  1 21:40:36 UTC 2021
GCC version:  gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.12)

查询gcc版本

gcc -v

返回结果

Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/5/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 5.4.0-6ubuntu1~16.04.12' --with-bugurl=file:///usr/share/doc/gcc-5/README.Bugs --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-5 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-5-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-5-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-5-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.12)

可以看到上面显卡的返回结果使用的gcc仍然为5.4版本,因此想要把它升级以下,参考了教程ubuntu系统查看gcc版本及版本切换

安装完以后重启,系统进入到循环登录模式,网上搜索教程,没有解决,最终决定重装ubuntu

Thinkpad T14 Ubuntu16.04下双屏显示解决笔记(未解决,仅为记录)——切换成18.04吧,一点问题没有(笑哭)_第6张图片

重装完成后,按照这篇教程继续操作。

心态崩了,放放几天,回头再搞!

你可能感兴趣的:(Thinkpad,linux,ubuntu,nvidia,驱动程序)