在Ubuntu上安装NVIDIA显卡驱动(笔记本外接显示器)

您所在的位置:网站首页 ubuntu双显示器 在Ubuntu上安装NVIDIA显卡驱动(笔记本外接显示器)

在Ubuntu上安装NVIDIA显卡驱动(笔记本外接显示器)

2023-08-12 02:55| 来源: 网络整理| 查看: 265

这些天战队里要求安装Ubuntu双系统,之前都是整虚拟机的,所以经历了很多比较曲折的事情,不限于重装Windows和Ubuntu系统各一次······以及昨晚为了在Ubuntu上使用外接显示器又不得不面对令人蛋疼的NVIDIA显卡驱动。今天准备好好的总结一下。

在正式介绍前,建议大家使用timeshift这个软件对自己的Ubuntu系统环境进行备份,这个工具确实好用。因为我本人也只是刚入门的菜鸟,不能保证自己的说明百分百正确。

操作环境:

Ubuntu20.04

NVIDIA GTX1650ti

1.坑

在CSDN上找Ubuntu下使用外接显示器的教程时,很多教程直接贴上在“软件与更新”(softeware & updates)中的Additional Drivers中选择安装NVIDIA显卡驱动这个方法。在没换显卡驱动就进入这个界面时,系统一般都是选择在最后一个选项,不过因为我以及成功更换了NVIDIA的显卡驱动,所以是第一个。

 最后一个是Ubuntu自带的Nouveau驱动,这个驱动特别蛋疼,和NVIDIA的显卡不兼容,但要知道现在市面上绝大部分的显卡都是NVIDIA啊!

如果你直接在这个界面里换显卡驱动,恭喜你,大概率会无法成功开机。然后你就不得不找一堆教程来解决,本人第一次踩这个坑时,直接重装了Ubuntu,第二次找到一篇比较靠谱的方法(别问我为什么会两次踩坑)

参考CSDN博文

解决办法就是在root中输入下面的命令来卸载安装了的NVIDIA显卡驱动并重启,这样就能重新进入Ubuntu了。

sudo apt-get remove --purge nvidia* sudo reboot

 但问题又来了,我是要整外接显示器,没有NVIDIA显卡驱动整不了啊。

然后我翻遍了百度和CSDN都没找到一篇靠谱的博文,要么是官网下驱动自己装,要么还是在softeware & updates中装,又或者使用命令行装。三种方法我都试过,没有什么区别,而且很多教程挺麻烦的,其实最主要的问题不是安装的方式,而是“nomodeset”这个东西。

2.最终解决方法:

只需要在 /etc/default/grub 中找到**GRUB_CMDLINE_LINUX_DEFAULT=“quiet splash nomodeset”**这一行,把nomodeset这个参数和它前面相邻的空格删掉,即改成:GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" 后保存并更新

sudo update-grub

参考CSDN博文

然后就可以在softeware & updates中选择适配你显卡的驱动版本,再Apply Changes,等安装好后重启就OK了。

3.分析:

“nomodeset”这个东西一开始是没有的,是我们在安装Ubuntu时为了能正常启动而自行添加的,我也很好奇这个东西到底做了啥事,就上谷歌查了下(不得不说谷歌比百度和CSDN都好使多了)。

nomodeset,quiet和splash内核参数是什么意思?

Is nomodeset still required?

第一篇文章中介绍了这三个参数的作用

最新的内核已将视频模式设置移入内核。因此,在X服务器启动时,所有针对硬件的时钟速率和视频卡上寄存器的编程都在内核中进行, 而不是在X驱动器中进行。.这样就可以拥有高分辨率的漂亮的启动(启动)屏幕和闪烁从启动启动画面到登录屏幕的免费过渡。 不幸的是,在某些卡上这不能正常工作,并且最终出现黑屏。添加nomodeset参数指示内核在加载X之前不加载视频驱动程序,而改用BIOS模式。

(原文:The newest kernels have moved the video mode setting into the kernel. So all the programming of the hardware specific clock rates and registers on the video card happen in the kernel rather than in the X driver when the X server starts.. This makes it possible to have high resolution nice looking splash (boot) screens and flicker free transitions from boot splash to login screen. Unfortunately, on some cards this doesn’t work properly and you end up with a black screen. Adding the nomodeset parameter instructs the kernel to not load video drivers and use BIOS modes instead until X is loaded.)

在我理解中,nomodeset就相当于把显卡驱动的一些功能给ban掉了,因为Ubuntu官方自带的开源驱动Nouveau 与N卡不适配,所以我们需要添加这个参数。

在第二篇论坛求助中,网友也给出了一个比较易懂的解释

nomodeset disables more features than the nouveau drivers for the NVIDIA GPU and nouveau.modeset=0 disables only the nouveau drivers for making use of the NVIDIA GPU. :)

 因为相比于Nouveau驱动,nomodeset将NVIDIA驱动中的更多功能都给ban掉了,这样如果这个参数存在,我们装驱动时当然不成功,同时ta也给出了一个更好的解决方案,就是这个参数

 nouveau.modeset=0

不过如果换了NVIDIA的驱动,这个就无所谓啦。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3