-
2022-01-01 12:48:26
一、下载安装NVIDIA显卡驱动1、查看自己的显卡型号2. 在官网下载对应的驱动:3、禁用nouveau驱动4、重塑开机镜像5、重启计算机6、检测nouveau是否禁用成功7、重启进入命令行模式(即无界面模式)8、输入root账户的账号和密码登陆9、使用cd命令切换到你下载的驱动存放的位置10、输入下面命令开始安装11、等待加载完成,出现对话框12、加载完成后,输入下面命令进入图形界面13、如果加载成功,则安装完成二、判断NVIDIA驱动是否安装成功1、图形界面-终端2、命令行或终端三、遇到的错误以及我的解决方案1、update-initramfs 未找到命令2、安装完成后卡住无法启动或者左上角光标闪烁2.1 方案1:放弃安装NVIDIA显卡驱动2.2 方案2:为计算机制定使用NVIDIA显卡3、在图形界面终端输入nvidia-settings出错四 、结言
一、下载安装NVIDIA显卡驱动
1、查看自己的显卡型号
1.1 打开终端
1.2 输入下方代码lspci进行查看自己的显卡型号
>>>lspci
找到含有NVIDIA的那一行查看相应型号
2. 在官网下载对应的驱动:
2.1 给出官网地址 :
英文版:
https://www.nvidia.com/Download/index.aspx
中文版:
https://www.nvidia.cn/Download/index.aspx?lang=cn
2.2 如图是我的显卡型号信息,你需要选择好自己电脑的显卡版本信息后点击搜索
2.3 点击 下载
3、禁用nouveau驱动
3.1 禁用默认的nouveau,据说这是NVIDIA显卡的开源驱动,默认是使用的这一个,不确定怎么办,可以输入 以下 命令进行查看,应该是有回显出现的,先让它再活一会,一会儿就要消失了。如果没有回显出现,那么你可以省略此步骤。
>>>lsmod | grep nouveau
3.2 在/etc/modprobe.d/blacklist.conf 中添加nouveau 到黑名单。
>>>vim /etc/modprobe.d/blacklist.conf
在里面添加:
blacklist nouveau
保存退出
4、重塑开机镜像
4.1 进入root模式
>>>su
4.2 备份原有镜像
>>>mv /boot/initramfs-(unamer).img/boot/initramfs(uname -r).img /boot/initramfs-(unamer).img/boot/initramfs(uname -r).img.bak
4.3 重塑
>>>dracut /boot/initramfs-$(uname -r).img $(uname -r)
当然也有使用下面这个命令的,但是在我的电脑上找不到这个命令
>>>sudo update-initramfs -u
5、重启计算机
>>>reboot
6、检测nouveau是否禁用成功
>>>lsmod | grep nouveau
如果该命令输入后回车,没有任何消息回显,则禁用成功,可以继续,否则重新开始上面步骤
7、重启进入命令行模式(即无界面模式)
>>>init 3
8、输入root账户的账号和密码登陆
(密码是不显示出来的,你只管输入就好)
9、使用cd命令切换到你下载的驱动存放的位置
10、输入下面命令开始安装
此处的xxxxxx用你下载好的驱动文件的文件名代替
>>>./NVIDIA-xxxxxxx.run
11、等待加载完成,出现对话框
根据提示使用左右箭头及回车键进行选择,大概3-5个对话框,具体没数
12、加载完成后,输入下面命令重启进入图形界面
>>>reboot
13、如果加载成功,则安装完成
二、判断NVIDIA驱动是否安装成功
1、图形界面-终端
进入图形界面后,在终端输入以下命令可以弹出英伟达设置界面
>>>nvidia-settings
2、命令行或终端
在命令行模式或者终端下输入以下命令,不提示未找到命令
>>>nvidia-smi
三、遇到的错误以及我的解决方案
1、update-initramfs 未找到命令
解决方案:使用下面命令代替
>>>dracut /boot/initramfs-$(uname -r).img $(uname -r)
分析:dracut 是一个事件驱动的 initramfs 基础设施。dracut(工具)被用来通过拷贝工具和文件,从一个已经安装的系统创建一个 initramfs 镜像,并将镜像与dracut框架结合在一起。
2、安装完成后卡住无法启动或者左上角光标闪烁
原因:尚未查明不过肯定和驱动是有关系的
解决方案有2
2.1 方案1:放弃安装NVIDIA显卡驱动
即卸载掉刚才安装的NVIDIA显卡驱动
2.1.1 在卡住的位置按Ctrl+Alt+F2进入命令行模式(如果没反应可以尝试其他组合键,Ctrl+Alt+F1-F12)
2.1.2 使用cd命令还是切换到你的显卡驱动的位置
2.1.3 进入root模式进行卸载
此处的xxxxxx用你下载好的驱动文件的文件名代替
>>>su
>>>./nvidia-xxxxxx.run --uninstall
2.1.4 卸载完成后,输入一下任一命令进入图形界面,应该是可以成功的,我成功了
>>>init 5
or
>>>reboot
2.2 方案2:为计算机制定使用NVIDIA显卡
此方案灵感来自于 博客 0007 kali linux 安装 NVIDA 显卡驱动
https://blog.csdn.net/weixin_33739627/article/details/92182185
2.2.0 按照方案1 的方法进入命令行模式
2.2.1 查看NVIDIA显卡的信息,记住PCI BusID 后面的 PCI 地址,我的是 5:0:0
>>>nvidia-xconfig --query-gpu-info
2.2.2 修改grub文本
1)切换目录
>>>cd /etc/X11
2)备份原有配置,为防止输错字母,可以使用ls命令查看是否备份成功
>>>mv xorg.conf xorg.conf.bak
3)添加xorg.conf 配置信息
>>>vim xorg.conf
输入以下内容,并将下面的PCI:x:x:x中的x替换成刚才查看到的地址
Section "ServerLayout"
Identifier "layout"
Screen 0 "nvidia"
Inactive "intel"
EndSection
Section "Device"
Identifier "nvidia"
Driver "nvidia"
BusID "PCI:x:x:x"
EndSection
Section "Screen"
Identifier "nvidia"
Device "nvidia"
Option "AllowEmptyInitialConfiguration"
EndSection
Section "Device"
Identifier "intel"
Driver "modesetting"
EndSection
Section "Screen"
Identifier "intel"
Device "intel"
EndSection
2.2.3 保存退出后,init 5进入图形界面,或者reboot 重启,则可以进入图形界面,想想都激动
>>>init 5
or
>>>reboot
3、在图形界面终端输入nvidia-settings出错
这种情况出现在安装完驱动直接可以打开图形界面,但是在终端输入nvidia-setting不会出现nvidia设置界面,而是报以下错误
ERROR: Unable to load info from any available syste
这个问题怎么解决呢,解决方案参考错误2的方案2,一模一样,只需要更改好自己的PCI地址即可。
四 、结言
更多相关内容 -
【亲测有效】Linux系统安装NVIDIA显卡驱动
2022-02-24 09:33:09文章目录一、NVIDIA显卡驱动安装的方法1、3种安装方式:建议方式二2、原显卡驱动卸载二、方式一(官网下载驱动包)步骤一:查询显卡支持的驱动步骤二:通过命令进行驱动安装二、方式二(software & updates)...文章目录
一、NVIDIA显卡驱动安装的方法
1、3种安装方式:建议方式二
方式一:使用 Nvidia 官网提供的*.run 文件进行安装(官网下载驱动文件);
方式二:software & updates里进行安装,(系统自带安装软件);
方式三:使用包管理器 apt 进行安装(通过指令进行安装);2、原显卡驱动卸载
如果有需要卸载原有的 nvidia driver,可以执行 $ sudo apt-get remove --purge nvidia*
如果是使用*.run 安装的驱动也可以使用$ sudo nvidia-uninstall 进行卸载二、方式一(官网下载驱动包)
步骤一:查询显卡支持的驱动
1、根据显卡的参数到NVIDIA官网查询显卡匹配的驱动版本 点击查询
(硬件参数可以通过使用$ nvidia-smi 获取)
步骤二:通过命令进行驱动安装
1、使用.run 进行安装需要关闭桌面系统,进入命令行状态,有两种方式:*
1)重新启动系统,然后选择 Advanced,并且选择 upstart 方式,这样直接进入命令行形态;
2)在桌面系统上打开终端 $ sudo /etc/init.d/lightdm stop 桌面 X Server 关闭,黑屏按下键
盘 Ctrl + Alt + F1 开启一个 tty,然后按照提示输入用户名和密码,进入命令形态;2、然后进入到刚刚下载*.run 所在的文件夹 执行$ sudo sh ./*.run 然后根据提示进行安装,
安装完成后 重新启动 $ reboot
提示:如果安装过程提示 pre-install 冲突,执行$ sudo rm -r /etc/local/nvidia- */pre-install,这里的 *号是实际的版本号
二、方式二(software & updates)
步骤一:打开系统设置中的software & updates;
1、如果刚安装完的 Ubuntu 系统会使用默认的 nouveau 驱动来使用 Nvidia 显卡,我们要更换驱动。
步骤二:打开系统设置中的software & updates;
点击 System Settings,选择 Additional Drivers 标签,下面会列出当前显卡可用的驱动版本。
点击Apply Changes即可安装;三、方式三(包管理器 apt )
步骤一:开启终端,输入命令;
执行 $ sudo add-apt-repository ppa:graphics-drivers/ppa 再 sudo apt-get update
执行 $ sudo apt-cache search nvidia-* 能查看到当前可以使用的所有版本
执行 $ sudo apt-get install nvidia-版本号 ,如: $ sudo apt-get install nvidia-384
执行上述命令即可安装;四、查看安装情况
验证显卡安装正常有两种方法,其一是使用命令 $ nvidia-smi 会显示显卡当前使用信息
如果显示没有找到显卡,重新启动即可。若重新启动也无有效输出则为显卡驱动安装失败。综上是NVIDIA的安装方法;
-
Linux下安装驱动的两种方法
2018-06-09 11:03:12linux 编译安装驱动有两种,动态加载与静态加载 动态加载 一,编译,在指点内核树下编译,生成.o文件或.ko文件 二,将生成的.o或.ko文件拷到相应目录,一般是/lib/module/kernel下面 三,用insmod命令加载,用...linux 编译安装驱动有两种,动态加载与静态加载
动态加载
一,编译,在指点内核树下编译,生成.o文件或.ko文件
二,将生成的.o或.ko文件拷到相应目录,一般是/lib/module/kernel下面
三,用insmod命令加载,用rmmod命令卸载
静态加载
静态加载主要就是编译内核。就是将编写好的驱动放进内核相应的目录下面。然后编译内核。然后运行编译好的内核。静态加载就是把驱动程序直接编译到内核里,系统启动后可以直接调用。静态加载的缺点是调试起来比较麻烦,每次修改一个地方都要重新编译下载内核,效率较低。
动态加载利用了LINUX的module特性,可以在系统启动后用insmod命令把驱动程序(.o文件)添加上去,在不需要的时候用rmmod命令来卸载。在台式机上一般采用动态加载的方式。
在嵌入式产品里可以先用动态加载的方式来调试,调试完毕后再编译到内核里。下面以我们的nHD板卡为例讲述一下加载驱动程序的方法。假设我们需要添加一个名为mydrv的字符型设备驱动,主设备号为254,次设备号为0(只有一个从设备),静态加载的步骤如下:
1、编写自己的驱动程序源文件mydrv.c,并放在firmware\uClinux-Samsung-2500\linux-2.4.x\drivers\char下面。一个典型的字符型驱动的最后一般包括如下内容:
static int mydrv_init(void)
{
int ret;
ret = register_chrdev(mydrv_major, ” mydrv “, &my_fops);
if(ret == 0) printk(“register_chrdev succeed!\n”);
else printk(“register_chrdev fail!\n”);
return 0;
}static __exit void mydrv _cleanup(void)
{
unregister_chrdev(mydrv _major, ” mydrv “);
printk(“register_chrdev succeed!\n”);
return ;
}
module_init(mydrv _init);
module_exit (mydrv _cleanup);函数mydrv_init的任务是注册设备,mydrv_cleanup的任务是取消注册。 Module_init和module_exit的作用后面会讲到。
2.在firmware\uClinux-Samsung-2500\vendors\Samsung\2500\Makefile中添加如下语句(以刚才的设备为例,实际添加时当然要根据你自己的设备名称和设备号来添加):
mknod $(ROMFSDIR) /dev/mydrv c 254 0
这句话的目的是在内核中创建一个与你的驱动程序对应的设备节点。
3.在firmware\uClinux-Samsung-2500\linux-2.4.x\drivers\char\Makefile
中添加如下语句:
obj-$(CONFIG_CHAR_MYDRV) +=mydrv.o这句话的目的是根据编译选项$(CONFIG_CHAR_MYDRV)来决定是否要添加该设备驱动。
4.在firmware\uClinux-Samsung-2500\linux-2.4.x\drivers\char\config.in
中添加:
if [“$CONFIG_ARCH_SAMSUNG”=”y”]; then
tristate ’ ,MYDRV driver module ’ CONFIG_CHAR_MYDRV这句话的目的是在运行make menuconfig时产生与你的设备对应的编译选项。
5.运行make menuconfgi,应该能看到你自己的设备的选项,选中就可以了。
6.编译内核,下载,运行自己的测试程序。
如果你觉得上述步骤比较麻烦,可以把4、5两条都省去,把第3条中的
obj-$(CONFIG_CHAR_MYDRV) +=mydrv.o
改为
obj-y +=mydrv.o这样在menuconfig就没有与你的设备对应的选项了,编译内核时直接会把你的驱动编译进去。
还有一个问题需要说明一下。在…/drivers/char下有一个mem.c文件,其中最后有一个int __init chr_dev_init(void)函数。大家可以看到,所有字符设备的初始化函数(IDE_INT_init之类)都要添加在这里,而我们刚才的驱动程序的初始化函数并没有添加到这里。这个问题涉及到系统启动时的do_initcall函数,详细讲述起来比较烦琐,大家有兴趣可以看一下《情景分析》下册P726~P729。这里简单介绍一下。如果对一个函数(通常都是一些初始化函数)作如下处理(仍以我们的mydrv_init函数为例):
__initcall(mydrv_init)
那么在编译内核时会生成一个指向mydrv_init的函数指针__initcall_mydrv_int,系统启动时,在运行do_initcall函数时,会依次执行这些初始化函数,并且会在初始化结束后把这些函数所占用的内存释放掉。
回到mem.c文件,在最后有一行:
__initcall(chr_dev_init)这句话的作用就显而易见了,在系统启动时自动执行chr_dev_init函数。所以我们完全可以不用在mem.c/chr_dev_init中添加我们自己的初始化函数,而是在我们自己的设备文件中(mydrv.c)添加如下一行:
__initcall(mydrv_init).在我们前面说到的我们自己的设备文件mydrv.c中,最后有一句:
module_init(mydrv _init);
大家可以看一下module_init的定义,在…linux.-2.4.x\include\linux\init.h中。如果定义了宏MODULE时,module_init是作为模块初始化函数,如果没有定义MODULE,则
module_init(fn)就被定义为__initcall(fn)。静态编译时是不定义MODULE的,所以我们的驱动中的module_init就等于是:__initcall(mydrv_init).
这样我们的初始化函数就会在启动时被执行了。
至于究竟是在mem.c/chr_dev_init中添加你的设备初始化函数,还是在设备文件中通过module_init来完成,完全取决于你的喜好,没有任何差别。如果你的初始化函数只是注册一个设备(没有申请内存等操作),那即使你在两个地方都加上(等于初始化了两次)也没关系,不会出错(有兴趣可以看一下内核里注册设备的函数实现,
…linux-2.4.x\fs\devices.c\register_chrdev)。不过为了规范起见,还是不建议这样作。最后一个问题。在静态加载驱动的时候,我们那个mydrv_cleanup和module_exit函数永远不会被执行,所以去掉是完全可以的,不过为了程序看起来结构清晰,也为了与动态加载的程序兼容,还是建议保留着。
下面讲一下动态加载驱动的方法。
1、运行make menuconfgi,在内核配置中进入Loadable module support,选择Enable loadable module support和Kernel module loader(NEW)两个选项。在应用程序配置中进入busybox,选择insmod, rmmod, lsmod三个选项。2、在…vendors\Samsung\2500\Makefile中添加相应的设备节点,方法与静态加载时完全一样。
3、编写自己的驱动程序文件,在文件开始处加一句:
define MODULE
文件最后的
mydrv_init
mydrv_cleanup
module_init(mydrv _init)
module_exit (mydrv _cleanup)
这四项必须保留。4、仿照如下的格式写自己的Makefile文件:
KERNELDIR= /home/hexf/hardware/nHD/Design/firmware/uClinux-Samsung-2500/linux-2.4.x
CFLAGS = -D__KERNEL__ -I$(KERNELDIR)/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fno-common -pipe -fno-builtin -D__linux__ -DNO_MM -mapcs-32 -mshort-load-bytes -msoft-float
CC = arm-elf-gccall: mydrv.o
clean:
rm -f *.o5、编译自己的驱动程序文件。注意在动态加载时只编译不连接,所以得到的是.o文件。
6、把编译后的驱动程序的.o 文件,连同自己的测试程序(假设叫mytest,注意这个是可执行文件)一起放在编译服务器的/exports/自己的目录下。测试程序就是一个普通的应用程序,其编写和编译的步骤这里就不讲了。
7、启动nHD板卡,用nfs的方法把编译服务器上/exports/自己的目录mount上来(假设mount 到 /mnt下)。Nfs的使用大家都很熟悉了,这里就不再说。
8、
cd /mnt
/bin/insmod mydrv.o
现在你的设备就已经被动态加载到系统里了。可以用lsmod命令查看当前已挂接的模块。9、运行你的测试程序
10、调试完毕后用 rmmod mydrv把你的设备卸载掉。
补充几点:
1、关于建立设备节点的问题,因为大家所使用的系统不太一样,所以不需要按照我说的方法。总之只要在你自己的系统的dev目录下建立了自己的驱动程序的设备节点就可以了。2、没有考虑动态分配主设备号的问题。所以注册设备那个地方稍微有点不严密。
3、模块加载时要把自己的.c文件编译成.o文件,CFLAGS后面那一串编译选项有时可能有点烦人,如果你没搞定,最简单的办法就是重新编译一遍内核并重定向到一个文件中(别忘了先make clean一下):make > out。
然后在out文件里随便找一个字符驱动程序的编译过程,把它的编译选项找出来,拷贝到你自己的Makefile里就可以了。我就是这么作的。
下面是一个最简单的字符设备驱动的例子。实际的驱动千差万别,但其实也就是“填充”自己的open,close,read,write,ioctl几个函数而已。
ifndef KERNEL
define KERNEL
endif
define MODULE
define drvtest_major 254
include
include
include
include
include // printk()
include // kmalloc()
include // error codes
include // size_t
include // mark_bh
include
include
include
include
include
include
include
static int mytest_open(struct inode *inode,struct file *filp)
{MOD_INC_USE_COUNT;
printk(“mytest open!\n”);
return 0;
}
static ssize_t mytest_read(struct file flip,char buff,size_t count,
loff_t * f_pos)
{
char buf[10] ={0x1,0x2,0x3,0x4,0x5};memcpy(buff,buf,5);
return 5;
}static int mytest_close(struct inode *inode,struct file *filp)
{ MOD_DEC_USE_COUNT;
printk(“mytest close!\n”);
return 0;
}
static struct file_operations my_fops = {
read: mytest_read,
// write: mytest_write,
open: mytest_open,
release: mytest_close,
// ioctl: mytest_ioctl,};
static int mytest_init(void)
{
int ret;
ret = register_chrdev(drvtest_major, “drvtest”, &my_fops);if(ret == 0) printk(“register_chrdev succeed!\n”);
else printk(“register_chrdev fail!\n”);
return 0;}
static __exit void mytest_cleanup(void)
{unregister_chrdev(drvtest_major, “drvtest”);
printk(“register_chrdev succeed!\n”);
printk(“bye!\n”);return ;
}
module_init(mytest_init);
module_exit(mytest_cleanup); -
Linux安装NVIDIA显卡驱动的正确姿势
2021-01-17 22:27:09文章目录 Linux安装NVIDIA显卡驱动的正确姿势 ...可能想玩Linux系统的童鞋,往往死在安装NVIDIA显卡驱动上,所以这篇文章帮助大家以正常的方式安装NVIDIA驱动。 本文将介绍四种NVIDIA驱动安装方式。具.目录
Linux安装NVIDIA显卡驱动的正确姿势
可能想玩Linux系统的童鞋,往往死在安装NVIDIA显卡驱动上,所以这篇文章帮助大家以正常的方式安装NVIDIA驱动。
本文将介绍四种NVIDIA驱动安装方式。具体选择需要根据你的情况而定。
- 使用标准Ubuntu仓库进行自动化安装
- 使用PPA仓库进行自动化安装
- 使用官方的NVIDIA驱动进行手动安装
什么是nouveau驱动?
nouveau,是一个自由及开放源代码显卡驱动程序,是为Nvidia的显示卡所编写,也可用于属于系统芯片的NVIDIA Tegra系列,此驱动程序是由一群独立的软件工程师所编写,Nvidia的员工也提供了少许帮助。
该项目的目标为利用逆向工程Nvidia的专有Linux驱动程序来创造一个开放源代码的驱动程序。
所以nouveau开源驱动基本上是不能正常使用的,性能极低,所以网上有很多人都在骂:干死黄仁勋!!
想了解历史的可以去看看这篇知乎,腾讯和AMD是linux的罪人吗?。
好了不扯了,正式开始讲安装把!
检测NVIDIA驱动是否成功安装
- 使用nvidia-settings命令
nvidia-settings
终端执行这个命令会调出NVIDIA的驱动管理程序,如下:
如果出现这个界面可以看到 NVIDIA Driver Version:390.48,这就代表nvidia-setting安装正常。
- 使用nvidia-smi命令测试
英伟达系统管理接口(NVIDIA System Management Interface, 简称 nvidia-smi)是基于NVIDIA Management Library (NVML) 的命令行管理组件,旨在(intened to )帮助管理和监控NVIDIA GPU设备。
nvidia-smi
执行这条命令将会打印出当前系统安装的NVIDIA驱动信息,如下:
我们可以看到我们显卡的型号,我的是GTX 960M,包括显存大小都可以看见。
- 系统信息查看
这一步不重要,因为有时候系统信息里面显示的可能会有误,只显示集显不显示独显的情况。
比如我的就没有显示出独显,如下:
这里面不显示没有关系,可以略过。
- 命令行搜索集显和独显
打开终端执行以下命令:
lspci | grep VGA # 查看集成显卡 lspci | grep NVIDIA # 查看NVIDIA显卡
如果都能搜索到说明正常。
查看nouveau是否启动运行可以执行下面命令:
lsmod | grep nouveau
没有返回代表没有运行。
集显与独显的切换
当我们需要切换独显与集显的时候,一般就是外出的时候,想节省电量,增长待机时间。下面讲解两种切换方式。
- 使用nvidia-setting切换
终端执行nvidia-setting,在弹的界面中选择独显与集显:
- 命令行切换
NVIDIA提供了一个切换显卡的命令:
sudo prime-select nvidia # 切换nvidia显卡 sudo prime-select intel # 切换intel显卡 sudo prime-select query # 查看当前使用的显卡
注意: 每一次切换显卡都需要重新启动电脑才能生效。
使用标准仓库进行自动化安装
在安装的发行版中,如 ubuntu, Linux Mint等,找到附加驱动管理软件,下面是Linux Mint界面:
选择推荐的驱动安装,点击应用更改,等待下载然后重启即可。
这种安装方式有如下缺点:
-
如果你的显卡比较新可能会出现安装低版本的NVIDIA驱动而造成即可安装完成,但是并没有真正安装成功,可能会出现循环登录,关机死机等等原因。
-
当你更换驱动的时候可能原有的NVIDIA驱动删除不干净。
当然这种方式也是有优点的:
- 不需要手动禁止nouveau
- 操作方便
可能有的童鞋还使用过命令行的方式安装:
sudo apt-get install nvidia*
如图:
这种方式安装同样也是使用ubuntu官方源的形式安装的,你可以选择不同的驱动版本来安装,但是本质上和标准仓库进行自动化安装是一样的。
其实ubuntu自带命令行版本安装工具ubuntu-drivers,终端输入:
ubuntu-drivers devices # 查询所有ubuntu推荐的驱动
这路我是有一个推荐安装的驱动,那就是nvidia-driver-390,明显我已经安装完成了。
然后就可以使用下面一条命令安装所有推荐的驱动程序:
sudo ubuntu-drivers autoinstall
安装完成后重启就可以了,这里要注意,这种安装方式和驱动管理器软件安装的效果是一样的,就是一个是UI版本,一个是命令行版本。
使用PPA仓库进行自动化安装
使用图形驱动程序PPA存储库允许我们安装NVIDIA beta驱动程序,这有可能会出现兼容性的问题,但是有些时候必须使用这种方式,比如显卡比较新,使用上面所讲的方式检测驱动的安装情况,如果不正常那么只能使用这种方式安装最新的NVIDIA驱动。
- 添加PPA到我们的系统:
sudo add-apt-repository ppa:graphics-drivers/ppa
更新系统源:
sudo apt update
此时我们就可以下载最新的NVIDIA驱动了:
安装的方式有以下三种,其实前面已经讲过,这里总结一下:
- 附加驱动管理软件
- sudo apt-get install nvidia-xxx
- ubuntu-drivers方式
这三种都可以,选择一个版本安装,然后重启即可。
使用官方的NVIDIA驱动进行手动安装
这种安装方式我认为是比较野蛮的,也是最正规,最原始的的方式,当然难度是最高的。你可以来挑战一下!!!!
1. 查看当前电脑的显卡型号
lshw -numeric -C display
执行完毕后我的显卡型号为 GTX 960M,如下图:
2. 下载NVIDIA官方驱动
到NVIDIA的官方驱动网站下载对应显卡的驱动程序,下载后的文件格式为run。
下载好之后放到用户目录下,等下后面会用到。
3. 删除原有的NVIDIA驱动程序
如果你没有安装过,或者已经卸载,可以忽略:
sudo apt-get remove –purge nvidia*
4. bios禁用禁用secure boot,也就是设置为disable
如果没有禁用secure boot,会导致NVIDIA驱动安装失败,或者不正常。
5. 禁用nouveau
打开编辑配置文件:
sudo gedit /etc/modprobe.d/blacklist.conf
在最后一行添加:
blacklist nouveau
这一条的含义是禁用nouveau第三方驱动,之后也不需要改回来。
由于nouveau是构建在内核中的,所以要执行下面命令生效:
sudo update-initramfs -u
6. 重启
reboot
重启之后,可以查看nouveau有没有运行:
lsmod | grep nouveau # 没输出代表禁用生效
7. 停止可视化桌面:
为了安装新的Nvidia驱动程序,我们需要停止当前的显示服务器。最简单的方法是使用telinit命令更改为运行级别3。执行以下linux命令后,显示服务器将停止,因此请确保在继续之前保存所有当前工作(如果有):
sudo telinit 3
之后会进入一个新的命令行会话,使用当前的用户名密码登录
8. 安装驱动
给驱动文件增加可执行权限:
sudo chmod a+x NVIDIA-Linux-x86_64-390.48.run
然后执行安装:
sudo sh ./NVIDIA-Linux-x86_64-390.48.run --no-opengl-files
安装完成后重启即可,记得验证是否安装成功,参考前面所讲。
–no-opengl-files 参数必须加否则会循环登录,也就是loop login
参数介绍:
- –no-opengl-files 只安装驱动文件,不安装OpenGL文件。这个参数最重要
- –no-x-check 安装驱动时不检查X服务
- –no-nouveau-check 安装驱动时不检查nouveau
后面两个参数可不加。
关于使用此方式可以参照Ubuntu 18.04安装NVIDIA(英伟达) RTX2080Ti显卡 这篇文章。
注意:
- 安装CUDA时一定使用runfile文件,这样可以进行选择。不再选择安装驱动,以及在弹出xorg.conf时选择NO
常见问题解决
-
安装完驱动后,HDMI扩展屏幕不能使用,现象表现为能识别扩展屏幕但是黑屏。
这种情况需要确定以下内容是否已经设置:- bios内是否已经禁止安全启动、快速启动。
- linux系统是否设置了禁止nouveau
如果上面的都已经做了,但还是有问题,可以尝试下面的配置:
sudo nano /usr/share/X11/xorg.conf.d/10-amdgpu.conf
-
有可能不是这个文件,但是类似。
修改为下面这样
Section "OutputClass" Identifier "AMDgpu" MatchDriver "amdgpu" Driver "amdgpu" Option "PrimaryGPU" "no" EndSection
-
下面修改nvidia的配置
-
sudo nano /usr/share/X11/xorg.conf.d/10-nvidia.conf
- 1
修改为下面这样:
然后重新启动。Section "OutputClass" Identifier "nvidia" MatchDriver "nvidia-drm" Driver "nvidia" Option "AllowEmptyInitialConfiguration" Option "PrimaryGPU" "yes" ModulePath "/usr/lib/x86_64-linux-gnu/nvidia/xorg" EndSection
到此NVIDIA的安装方式讲解完了。。。。
END
-
Kali Linux安装 WIFI无线网卡驱动 教程
2021-05-19 20:13:15今天就简单的给大家分享一下:注意:Kali Linux安装无线网卡驱动的过程最核心的两步:1、安装内核头文件2、安装无线网卡驱动一、修改Kali linux更新源由于Kali Linux更新源有很多,我在这里就只简单的示例一种就行了... -
【Linux】Nvidia显卡驱动安装教程
2021-12-17 16:15:46Ubuntu系统集成的显卡驱动程序是nouveau,它是第三方为NVIDIA开发的开源驱动,我们需要先将其屏蔽才能安装NVIDIA官方驱动。 所以我们要先把驱动加到黑名单blacklist.conf里,我们要先修改该文件的属性才能编辑。 ... -
Linux Nvidia显卡驱动安装
2020-10-17 03:11:20因为某些需要需要在Linux上安装显卡驱动,这里记录一下安装过程。 2 环境 Manjaro RTX 2060 3 下载驱动安装包 到官网上搜索下载即可,可以戳这里: 选择自己的显卡型号即可,笔者选择参考如下: 搜索下载即可,... -
Linux安装显卡驱动
2020-05-18 12:08:37该项目的目标为利用逆向工程Nvidia的专有Linux驱动程序来创造一个开放源代码的驱动程序。 所以nouveau开源驱动基本上是不能正常使用的,性能极低 **集显与独显的切换 1.使用nvidia-setting切换 2.命令行切换 NVIDIA... -
Linux下Nvidia驱动的安装 /tesla A100显卡驱动安装下载
2022-03-27 13:46:241.查看Linux系统是否已经安装了Nvidia驱动 命令行输入:nvidia-smi 进行查看可能出现两种情况: nvidia-smi //注意中间没有空格 情况1: 如果出现如下则表示没有安装驱动 bash: nvidia-smi: command not found... ... -
在Linux下安装打印驱动,以佳能LBP2900+为例
2021-05-18 13:46:30相较于在Windows下安装打印驱动程序,在linux下安装打印驱动程序要复杂一些,不过安装成功后,打印驱动比在Windows下稳定,不会出现让人迷惑无从下手的问题,这正是linux系统相比于windows系统的魅力所在。... -
Linux安装网卡驱动
2018-02-01 14:38:22Linux安装网卡驱动 Linux安装腾达网卡驱动 Ubuntu安装网卡驱动 Ubuntu安装腾达网卡驱动 Ubuntu安装TP-LINK网卡驱动 -
Intel Linux 显卡驱动安装指南
2021-01-14 15:22:26简介通常情况下, Intel 显卡驱动已经被集成在 Linux 发行包里面了,用户无需单独安装。这篇指导是为那些自己从头开始编译最新版本驱动的人而写的。当你想订制显卡驱动或者了解更多的时候,这篇文章就会管用。本篇... -
linux系统下 usb网卡的驱动安装
2022-04-29 16:15:46本文分享一种思路去解决linux下不能直接识别usb网卡的方案 尤其针对没有内核-头文件的内核系统 首先确认系统版本: uname -a -
Linux系统-安装显卡GPU驱动的两种方式
2019-12-11 11:41:57方案1 1)先到NVIDIA的官方下载 xx.run GPU驱动文件,可以到官方下载对应的版本: ... ubuntu-drivers devices #选择合适的驱动版本 执行此命令 ...如果你没有安装过,或者已经卸载,可以忽略:(如果如... -
linux怎么安装pcie串口卡驱动,pci串口卡驱动是什么接口 pci串口卡驱动安装方法...
2021-05-15 09:28:10pci串口卡驱动是什么接口以前,很多老式的打印机都是使用并口来连接电脑的,当用户在重新更换了新的电脑只有,没有pci/pcie插槽了应该怎么办呢?事实上很简单,用户只需要购买一个pci/pcie转并口/串口卡就能够轻松的... -
详细讲解Linux驱动程序
2021-05-08 23:40:04Linux内核在使用驱动时需要装载与卸载驱动?装载驱动:建立设备文件、分配内存地址空间等;module_init 函数处理驱动初始化?卸载驱动:删除设备文件、释放内存地址空间等;module_exit函数处理退出包含这两个函数的... -
Linux虚拟机安装谷歌浏览器和驱动
2021-12-15 17:15:57配置软件源 vim /etc/yum.repos.d/google.repo [google] name=Google-x86_64 baseurl=http://dl.google.com/linux/rpm/stable/x86_64 enabled=1 gpgcheck=0 ...在centos中安装我们的chrome浏览器 yum instal -
linux中安装无线网卡驱动
2019-03-09 18:29:31安装manjaro 不能上无线 查了一下没驱动 下载了个驱动安装上了 1查看自己网卡的版本 命令行:lspic 最后那个 network controller 后面就是无线网卡型号 2下载对应版本型号源码 git原地址:... -
Linux驱动开发|WiFi驱动
2022-01-14 17:30:04WiFi驱动 -
Kali Linux 安装WIFI无线网卡驱动:rtl8822bu 教程
2021-05-19 20:14:54RTL8822BU是一款瑞昱Realtek USB接口 5.8G双频 wifi+BT4.1无线模块的网卡,具体的,大家自行去了解,我这就不多说了,下面给大家说一下 Kali Linux安装 rtl8822bu 驱动的具体操作步骤:1、进入目录[emailprotected]:... -
Linux 安装Nvidia GPU显卡驱动
2020-06-08 20:12:37安装Nvidia GPU驱动 Centos7.7安装Nvidia GPU驱动 Centos7.7安装Nvidia GPU驱动及CUDA以及tensorflow-GPU 原文链接:https://blog.csdn.net/gy87900311/article/details/105074940 Ubuntu 18.04安装Nvidia GPU驱动 ... -
Linux下安装网卡驱动程序详解
2017-12-08 10:59:03Linux下安装网卡驱动程序详解 -
Canon LBP2900打印机安装Linux驱动的经验:已在Deepin中成功
2021-05-12 17:50:17本文带来Canon LBP2900打印机安装Linux驱动的经验,适合佳能2900、2900+、hp1106、hp1108等序列,已在Deepin 20系统中测试安装成功,所用的Linux内核是5.4.70-amd64-desktop版本,采用了以下方法实验了一下,能顺利... -
LINUX安装ODBC驱动
2019-09-17 02:03:181、先下载unixODBC源码包( http://www.unixodbc.org/unixODBC-2.3.1.tar.gz)放到/usr/local下 解压: tar -zxvf unixODBC-2.3.1.tar.gz 2、安装unixODBC-2.3.1.ta... -
在Redhat Linux系统上安装NVIDIA显卡驱动的详细教程
2020-06-01 20:51:12一次在red hat上安装英伟达NVIDIA显卡驱动的经历分享 包含下载驱动以及遇到的一些问题的解决方案,如左上角光标闪烁,Unable to load info from any available syste等 -
[Linux] CUDA 安装(一)-------NVIDIA显卡驱动
2022-04-27 04:06:04注意: nvidia驱动版本是470.103.01, 这也是linux推荐的版本, 若没有显示,则继续下面安装 二 查看推荐安装的nvidia 版本 $ ubuntu-drivers devices 此处, 只安装 recommended version, 其他不管 . ... -
Linux下Intel集成显卡驱动安装
2021-05-15 03:34:05在http://intellinuxgraphics.org/中下载最新的驱动包 xf86-video-intel 2.15.0Debian的源中有安装包xserver-xorg-video-intel,其实就是...首先安装下面四个包#apt-get install xserver-xorg-devx11proto-core-dev ... -
大恒相机gige接口在linux环境下的驱动安装和配置
2021-03-12 17:14:16在大恒官网下载驱动包,附上链接: https://www.daheng-imaging.com/Software/index.aspx?nodeid=304 下面是具体的安装步骤: -
Linux(Centos) Python编译安装达梦驱动 dmPython
2021-10-19 12:44:21安装完 DM 数据库软件后,在安装路径下的 drivers 目录下,可以找到 dmPython 的驱动源码,由于提供的是源码,需要自己编译安装。 安装的时候区分是否本机已经安装达梦数据库,如果本机已经安装好达梦数据库,参考第...