精华内容
下载资源
问答
  • 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地址即可。

    四 、结言

    更多相关内容
  • 文章目录一、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:12
    linux 编译安装驱动有两种,动态加载与静态加载 动态加载 一,编译,指点内核树下编译,生成.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-gcc

    all: mydrv.o 
    clean: 
    rm -f *.o

    5、编译自己的驱动程序文件。注意在动态加载时只编译不连接,所以得到的是.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显卡驱动的正确姿势

    什么是nouveau驱动?

    检测NVIDIA驱动是否成功安装

    集显与独显的切换

    使用标准仓库进行自动化安装

    使用PPA仓库进行自动化安装

    使用官方的NVIDIA驱动进行手动安装

    常见问题解决


     

     

     

    Linux安装NVIDIA显卡驱动的正确姿势

    可能想玩Linux系统的童鞋,往往死在安装NVIDIA显卡驱动上,所以这篇文章帮助大家以正常的方式安装NVIDIA驱动。

    本文将介绍四种NVIDIA驱动安装方式。具体选择需要根据你的情况而定。

    • 使用标准Ubuntu仓库进行自动化安装
    • 使用PPA仓库进行自动化安装
    • 使用官方的NVIDIA驱动进行手动安装

    什么是nouveau驱动?

    nouveau,是一个自由及开放源代码显卡驱动程序,是为Nvidia的显示卡所编写,也可用于属于系统芯片的NVIDIA Tegra系列,此驱动程序是由一群独立的软件工程师所编写,Nvidia的员工也提供了少许帮助。

    该项目的目标为利用逆向工程Nvidia的专有Linux驱动程序来创造一个开放源代码的驱动程序。

    所以nouveau开源驱动基本上是不能正常使用的,性能极低,所以网上有很多人都在骂:干死黄仁勋!!

    这里写图片描述

    想了解历史的可以去看看这篇知乎,腾讯和AMD是linux的罪人吗?

    好了不扯了,正式开始讲安装把!

    检测NVIDIA驱动是否成功安装

    1. 使用nvidia-settings命令
    nvidia-settings
    

    终端执行这个命令会调出NVIDIA的驱动管理程序,如下:

    这里写图片描述

    如果出现这个界面可以看到 NVIDIA Driver Version:390.48,这就代表nvidia-setting安装正常。

    1. 使用nvidia-smi命令测试

    英伟达系统管理接口(NVIDIA System Management Interface, 简称 nvidia-smi)是基于NVIDIA Management Library (NVML) 的命令行管理组件,旨在(intened to )帮助管理和监控NVIDIA GPU设备。

    nvidia-smi
    

     

     

    执行这条命令将会打印出当前系统安装的NVIDIA驱动信息,如下:

    这里写图片描述

    我们可以看到我们显卡的型号,我的是GTX 960M,包括显存大小都可以看见。

    1. 系统信息查看

    这一步不重要,因为有时候系统信息里面显示的可能会有误,只显示集显不显示独显的情况。

    比如我的就没有显示出独显,如下:

    这里写图片描述

    这里面不显示没有关系,可以略过。

    1. 命令行搜索集显和独显

    打开终端执行以下命令:

    lspci | grep VGA     # 查看集成显卡
    lspci | grep NVIDIA  # 查看NVIDIA显卡
    

     

     

    这里写图片描述

    如果都能搜索到说明正常。

    查看nouveau是否启动运行可以执行下面命令:

    lsmod | grep nouveau
    

     

     

    没有返回代表没有运行。

    集显与独显的切换

    当我们需要切换独显与集显的时候,一般就是外出的时候,想节省电量,增长待机时间。下面讲解两种切换方式。

    1. 使用nvidia-setting切换

    终端执行nvidia-setting,在弹的界面中选择独显与集显:

    这里写图片描述

    1. 命令行切换

    NVIDIA提供了一个切换显卡的命令:

    sudo prime-select nvidia # 切换nvidia显卡
    sudo prime-select intel  # 切换intel显卡
    sudo prime-select query  # 查看当前使用的显卡
    

     

     

    这里写图片描述

    注意: 每一次切换显卡都需要重新启动电脑才能生效

    使用标准仓库进行自动化安装

    在安装的发行版中,如 ubuntuLinux Mint等,找到附加驱动管理软件,下面是Linux Mint界面:

    这里写图片描述

    选择推荐的驱动安装,点击应用更改,等待下载然后重启即可。

    这种安装方式有如下缺点

    1. 如果你的显卡比较新可能会出现安装低版本的NVIDIA驱动而造成即可安装完成,但是并没有真正安装成功,可能会出现循环登录,关机死机等等原因。

    2. 当你更换驱动的时候可能原有的NVIDIA驱动删除不干净。

    当然这种方式也是有优点的:

    1. 不需要手动禁止nouveau
    2. 操作方便

    可能有的童鞋还使用过命令行的方式安装:

    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驱动。

    1. 添加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

    常见问题解决

    1. 安装完驱动后,HDMI扩展屏幕不能使用,现象表现为能识别扩展屏幕但是黑屏。
      这种情况需要确定以下内容是否已经设置:

      • bios内是否已经禁止安全启动、快速启动。
      • linux系统是否设置了禁止nouveau

      如果上面的都已经做了,但还是有问题,可以尝试下面的配置:

      sudo nano /usr/share/X11/xorg.conf.d/10-amdgpu.conf
      
    2. 有可能不是这个文件,但是类似。

      修改为下面这样

      Section "OutputClass"
         Identifier "AMDgpu"
         MatchDriver "amdgpu"
         Driver "amdgpu"
         Option "PrimaryGPU" "no"
      EndSection
      
    3. 下面修改nvidia的配置

    4. 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:46
    Ubuntu系统集成的显卡驱动程序是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...
  • 1.查看Linux系统是否已经安装了Nvidia驱动 命令行输入:nvidia-smi 进行查看可能出现两种情况: nvidia-smi //注意中间没有空格 情况1: 如果出现如下则表示没有安装驱动 bash: nvidia-smi: command not found... ...
  • 相较于Windows下安装打印驱动程序,在linux安装打印驱动程序要复杂一些,不过安装成功后,打印驱动Windows下稳定,不会出现让人迷惑无从下手的问题,这正是linux系统相比于windows系统的魅力所在。...
  • Linux安装网卡驱动

    千次阅读 2018-02-01 14:38:22
    Linux安装网卡驱动 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
  • 方案1 1)先到NVIDIA的官方下载 xx.run GPU驱动文件,可以到官方下载对应的版本: ... ubuntu-drivers devices #选择合适的驱动版本 执行此命令 ...如果你没有安装过,或者已经卸载,可以忽略:(如果如...
  • pci串口卡驱动是什么接口以前,很多老式的打印机都是使用并口来连接电脑的,当用户重新更换了新的电脑只有,没有pci/pcie插槽了应该怎么办呢?事实上很简单,用户只需要购买一个pci/pcie转并口/串口卡就能够轻松的...
  • 详细讲解Linux驱动程序

    千次阅读 2021-05-08 23:40:04
    Linux内核使用驱动时需要装载与卸载驱动?装载驱动:建立设备文件、分配内存地址空间等;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:04
    WiFi驱动
  • RTL8822BU是一款瑞昱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:03
    Linux安装网卡驱动程序详解
  • 本文带来Canon LBP2900打印机安装Linux驱动的经验,适合佳能2900、2900+、hp1106、hp1108等序列,已Deepin 20系统中测试安装成功,所用的Linux内核是5.4.70-amd64-desktop版本,采用了以下方法实验了一下,能顺利...
  • LINUX安装ODBC驱动

    千次阅读 2019-09-17 02:03:18
    1、先下载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...
  • 一次red hat上安装英伟达NVIDIA显卡驱动的经历分享 包含下载驱动以及遇到的一些问题的解决方案,如左上角光标闪烁,Unable to load info from any available syste等
  • 注意: 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 ...
  • 大恒官网下载驱动包,附上链接: https://www.daheng-imaging.com/Software/index.aspx?nodeid=304 下面是具体的安装步骤:
  • 安装完 DM 数据库软件后,在安装路径下的 drivers 目录下,可以找到 dmPython 的驱动源码,由于提供的是源码,需要自己编译安装。 安装的时候区分是否本机已经安装达梦数据库,如果本机已经安装好达梦数据库,参考第...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 238,748
精华内容 95,499
关键字:

在linux下面怎么安装驱动