笔记本型号:Thinkpad T14
显卡:NVIDIA GeForce MX330
显存类型:2GB GDDR5
操作系统:ubuntu16.04
ubuntu系统电脑如果有两个显卡:独显和核显,就会出现HDMI没有信号,因为电脑默认使用核显,而HDMI的输出是由独显给的,所以会出现HDMI没有信号的情况。
安装自己的独显驱动。
方法一、 最不费脑子的办法:重启进入windows,设备管理器直接看显卡型号,或者下载鲁大师硬件检测会有显卡型号。
方法二:lspci | grep -i vga
会出现一个16进制的数字
选有nvidia的那个就是独显(我的是2191),把这个16进制数字粘贴到PCI devices(网址进去较慢,耐心ing)可以查询到显卡的型号。
禁用nouveau
sudo gedit /etc/modprobe.d/blacklist.conf
在打开的文件中加入
blacklist nouveau
options nouveau modeset=0
更新系统
sudo update-initramfs -u
重启
sudo reboot
验证是否禁用nouveau,若系统没有任何输出则禁用成功。
lsmod | grep nouveau
将下载的.run文件放在home文件夹下以便之后使用(一定要做)。
在ubuntu下ctrl+alt+f1
进入命令行界面,在命令行界面ctrl+alt+f7
退出命令行界面。(以防进去之后不知道怎么出来)
进入命令行界面ctrl+alt+f1
,之后的步骤最好先用手机拍照再进行
sudo service lightdm stop
//关闭图形界面
sudo apt-get remove nvidia-*
//卸载原有驱动
sudo chmod 777 NVIDIA-Linux-x86_64-430.64.run
//将驱动转换成可执行文件
NVIDIA-Linux-x86_64-430.64.run是我的驱动文件,这个要改成自己的
sudo ./NVIDIA-Linux-x86_64-430.64.run -no-nouveau-check -no-opengl-files
//输全了
安装速度很快,一路回车就可。若有问题看下面的引用部分
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
挂载Nvidia驱动:
modprobe nvidia//一定要做
检查驱动是否安装成功:
nvidia-smi
进入自己的系统设置-详细信息,图形会显示自己的显卡信息
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/
在安装完成以后按照上述第5步输入
nvidia-smi
发现显示如下内容:No running processes found
而且在系统设置额详细信息中,图形一行显示:llvmpipe (LLVM 6.0, 256 bits)
ubuntu-drivers devices
使用
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
重装完成后,按照这篇教程继续操作。
心态崩了,放放几天,回头再搞!