1. 概述

在本教程中,我们将深入了解如何通过 .run 文件在Linux上安装最新的NVIDIA驱动程序。这种方法可以让我们获取到最新的驱动程序,可能包含bug修复、性能提升和对最新游戏及软件的支持。

本文以Ubuntu为例,但同样的方法也适用于其他Linux发行版。

2. 删除已安装的NVIDIA驱动程序

首先,我们需要确保系统中没有已经安装的NVIDIA驱动程序,以便能够顺利安装最新的驱动程序。

我们可以使用 apt purge 命令删除任何现有的NVIDIA包(或驱动程序)及其配置文件:

$ sudo apt purge nvidia*

然后,使用 apt autoremove 命令删除与驱动程序相关的未使用的依赖项:

$ sudo apt autoremove

现在,所有NVIDIA驱动程序已经从系统中完全删除,我们可以继续安装新的驱动程序。

3. 下载 .run 文件

要下载最新的 .run 文件,可访问NVIDIA官方驱动下载页面

可以通过 wget 命令进行下载:

$ wget https://download.nvidia.com/XFree86/Linux-x86_64/550.100/NVIDIA-Linux-x86_64-550.100.run

下载完成后,我们切换到 .run 文件所在的目录(例如,本例中是 /usr/nvidia):

$ cd /usr/nvidia

有一个类似 NVIDIA-Linux-x86_64-550.100.run 的文件,你的版本可能比我更新。

不过,我们暂时不执行它,因为还需要完成一些前置步骤。

4. 安装前置依赖

在安装驱动程序包之前,我们需要安装NVIDIA驱动程序正常运行所需的依赖项:

$ sudo apt install build-essential gcc-multilib dkms

如果使用的是Fedora,需要的依赖项是 epel-release、dkms 和 libstdc++.i686:

$ sudo yum install epel-release dkms libstdc++.i686

对于CentOS,我们需要安装 dkms 和 libstdc++.i686:

$ sudo dnf install dkms libstdc++.i686

Let’s proceed with some more pre-installation steps.

5. 禁用Nouveau驱动程序

Nouveau驱动程序是Linux内核默认包含的,为NVIDIA显卡提供软件驱动。但是,如果该驱动程序处于激活状态,它的内核模块就无法卸载,从而导致NVIDIA内核模块无法加载。因此,我们可能需要禁用Nouveau驱动程序。

为此,我们可以进入 /etc/modprobe.d 目录,创建一个名为 blacklist-nouveau.conf 的文件,并在其中添加以下内容:

$ cd /etc/modprobe.d
$ sudo touch blacklist-nouveau.conf
$ sudo nano blacklist-nouveau.conf
blacklist nouveau
options nouveau modeset=0

编辑完成后,保存并关闭文件。然后,重启系统生效。

6. 停止显示管理器

显示管理器负责管理操作系统的图形用户界面(GUI)。每个发行版都有默认的显示管理器。

在安装显卡驱动程序时,最好先停止系统默认的显示管理器,然后再执行 .run 文件,以确保安装过程顺利进行。

在Ubuntu中,默认的显示管理器是 lightdm,我们可以使用 systemctl 命令停止它:

$ sudo systemctl stop lightdm

在Fedora中,默认显示管理器是 gdm(GNOME显示管理器):

$ sudo systemctl stop gdm

在CentOS中,我们需要停止 kdm(KDE显示管理器):

$ sudo systemctl stop kdm

完成后,我们进入最后一步。

7. 正式安装 NVIDIA 驱动

现在,我们可以执行 .run 文件来安装最新的NVIDIA驱动程序。

首先,给文件赋予可执行权限:

$ chmod +x NVIDIA-Linux-x86_64-550.100.run

然后执行命令:

$ sh NVIDIA-Linux-x86_64-550.100.run

按下回车键后,安装程序将启动并在新窗口中开始安装过程。在此过程中,我们需要回答几个提示以继续进行安装。

首先,安装程序会询问是否将内核模块源注册到DKMS(动态内核模块支持)。DKMS是一个帮助构建和安装外部Linux内核模块的框架。

由于这样做可以使DKMS在安装不同内核后自动构建新模块,我们按回车键同意:

Would you like to register the kernel module sources with DKMS?

接着,安装程序会询问是否要安装NVIDIA的32位兼容库。回车继续:

Install NVIDIA's 32-bit compatibility libraries?

然后完成。

8. 总结

在本文中,我们详细介绍了如何使用 .run 文件在Linux系统上安装最新的NVIDIA驱动程序的步骤。