笔者探索了通过.run文件完成了NVIDIA 570.144驱动的安装,在此做一个简单的记录。

1 硬件配置与系统环境

        _,met$$$$$gg.          cirno@ASUS
     ,g$$$$$$$$$$$$$$$P.       -----------
   ,g$$P""       """Y$$.".     OS: Debian GNU/Linux trixie/sid x86_64
  ,$$P'              `$$$.     Kernel: Linux 6.12.25-amd64
',$$P       ,ggs.     `$$b:    Uptime: 1 day, 1 hour, 48 mins
`d$$'     ,$P"'   .    $$$     Packages: 1905 (dpkg)
 $$P      d$'     ,    $$P     Shell: bash 5.2.37
 $$:      $$.   -    ,d$$'     Display (HDMI): 1920x1080 @ 144 Hz in 32" [External] *
 $$;      Y$b._   _,d$P'       Display (PHLC081): 1920x1080 @ 60 Hz in 22" [External]
 Y$$.    `.`"Y$$$$P"'          DE: GNOME 48.1
 `$$b      "-.__               WM: Mutter (X11)
  `Y$$b                        WM Theme: Adwaita
   `Y$$.                       Terminal: GNOME Terminal 3.56.1
     `$$b.                     CPU: 12th Gen Intel(R) Core(TM) i5-12600KF (16) @ 4.90 GHz
       `Y$$b.                  GPU: NVIDIA GeForce RTX 4060 [Discrete]
         `"Y$b._               Memory: 8.81 GiB / 31.16 GiB (28%)
             `""""             Swap: 8.00 KiB / 14.90 GiB (0%)
                               Disk (/): 83.16 GiB / 442.25 GiB (19%) - ext4
                               Disk (/home/cirno/hdd): 544.69 GiB / 1.82 TiB (29%) - fuseblk

笔者使用双显卡笔记本电脑、单显卡台式电脑在Debian 12、Debian 13系统上都进行了测试,本文的方法都可以成功安装。

2 准备工作

2.1 关闭Secure Boot、安装依赖

在开始操作前,先进入BIOS设置界面,将Secure Boot功能关闭,以避免后续驱动安装过程中出现故障。使用下列命令确认是否关闭了Secure Boot:

mokutil --sb-state

确认无误后,正常重启计算机进入图形化界面,打开终端模拟器并执行以下命令检查显卡是否能被识别:

lspci | grep -E "VGA|3D"

如果返回有NVIDIA GPU,说明GPU可以被正常识别。否则,需要优先解决GPU无法识别问题。这里我返回的是:

01:00.0 VGA compatible controller: NVIDIA Corporation AD107 [GeForce RTX 4060] (rev a1)

下面安装内核头文件和dkms等依赖:

sudo apt install -y linux-headers-$(uname -r) dkms gcc acpid libglvnd-core-dev libglvnd0 libglvnd-dev pkg-config

# 如果报错,就先执行下列命令修复依赖
# sudo apt --fix-broken install

拓展:卸载已安装的NVIDIA驱动(可选,如果是初次安装好的系统可以直接跳过这步)

sudo apt --purge remove "*nvidia*" "*libxnvctrl*"
sudo apt autoremove

 

2.2 禁用nouveau开源驱动

在/etc/modprobe.d/创建文件blacklist.conf:

sudo nano /etc/modprobe.d/blacklist.conf

在文件中添加以下内容:

blacklist nouveau
options nouveau modeset=0

Ctrl + X退出 > 按Y保存 > 按Enter写入文件。

修改grub,找到GRUB_CMDLINE_LINUX_DEFAULT="quiet",改为以下内容:

GRUB_CMDLINE_LINUX_DEFAULT="quiet rd.driver.blacklist=nouveau"

执行以下命令使修改生效:

# 更新initramfs
sudo update-initramfs -u
# 更新grub
sudo update-grub2
# 重启系统
sudo reboot
# 验证是否禁用nouveau
lsmod | grep nouveau

如果无返回,表明已经禁用nouveau。

2.3 启用32位库(可选)

如果要在安装NVIDIA驱动时安装NVIDIA依赖的32位库,可以执行以下命令。不需要安装32位库的读者可以跳转到2.5部分。

sudo dpkg --add-architecture i386    # 添加32位架构支持
sudo apt update                      # 更新软件仓库元数据
sudo apt install libc6:i386          # 安装任意一个32位库,目的是防止后续驱动安装时提示找不到32位库的目录

2.4 下载NVIDIA驱动

根据自己的显卡型号和系统类型从NVIDIA官网下载对应版本驱动,笔者使用的这台计算机显卡型号为NVIDIA GeForce RTX 4060,如下图:

提示:若启用了广告拦截插件(如AdBlocker、AdGuard等),点击"查找"按钮后可能无法正常显示下载界面。为确保功能正常使用,建议在使用前暂时停用相关插件。

点击“查看”。

NVIDIA官网提供了该版本驱动的《产品支持列表》(见上图左下角),读者可自行查询其显卡型号是否在支持范围内。

点击“下载”。这里我将该文件保存在~/,文件名为NVIDIA-Linux-x86_64-570.144.run。

安装NVIDIA驱动时最好在命令行界面进行。因此使用下列命令将图形界面改为命令行界面:

sudo systemctl set-default multi-user.target
sudo reboot

重启后,我们就完成了所有准备工作。

3 安装NVIDIA驱动

sudo chmod a+x NVIDIA-Linux-x86_64-570.144.run    # 赋予run程序可执行权限
sudo ~/NVIDIA-Linux-x86_64-570.144.run

脚本运行后,会依次出现以下5个步骤:

  • 自动构建内核模块。这步不需要操作。
  • 是否安装32位库?——选择yes
  • 是否使用dkms编译内核模块源代码?——选择yes
  • 是否重建initramfs?——选择yes(非强制,建议选择yes)
  • 是否代替使用NVIDIA X代替默认X服务?
    • 这步即选择yes意味着生成xconf文件,使用NVIDIA显卡进行渲染图形界面。如果是单显卡,这里选择yes,即使用独立显卡渲染图形界面
    • 如果是双显卡(1块核显+1块NVIDIA独显),选择no,即使用核心显卡渲染图形界面

双显卡在这步选择yes可能导致开机黑屏问题。

安装完成后,将命令行界面改为图形界面,然后重启计算机:

sudo systemctl set-default graphical.target
sudo reboot

    进入了图形界面后,验证是否安装成功:

    nvidia-smi

    对于单显卡计算机,安装成功后应显示除了Xorg以外的其它程序在运行,而不是只有Xorg(如上图所示)。

    对于双显卡计算机,安装成功后在Processes部分可能不会显示任何信息。

     

    4 补充:卸载.run文件安装的驱动

    sudo nvidia-uninstall

    在驱动卸载界面中,若显卡驱动安装时未生成xconf文件,请选择No;若已生成xconf文件且当前使用NVIDIA显卡显示,则需选择"Yes"以还原默认配置,系统将自动切换至核心显卡显示。

     

    5 补充:开机黑屏的处理

    这种问题往往是因为升级内核以后掉驱动,或者双显卡计算机在安装驱动时误选了执行nvidia-xconfig。因为内核升级导致的问题,可以通过卸载驱动后重新安装解决。这里展示的是双显卡计算机的问题。

    按下Ctrl+Alt+F2,输入账号密码后,执行以下命令查看当前集显和独显的id:

    lspci | grep -E "VGA | 3D"

    假设返回以下信息:

    00:02.0 VGA compatible controller: Intel Corporation HD Graphics P530 (rev 06)
    01:00.0 VGA compatible controller: NVIDIA Corporation GM107GLM [Quadro M2000M] (rev a2)

    可以看到,上述核显id为0:2:0(即第一列去掉多余的0),独显id为1:0:0

    接下来修改/etc/X11/xorg.conf:

    sudo nano /etc/X11/xorg.conf

    找到Device0,把下面的Driver:nvidiamodesetting,BusID改为PCI::0:2:0(核显id),然后保存重启,就可以正常开机了。

    参考资料

    [1] FusionServer Pro 服务器 GPU卡 操作指导书 10

    [2] 04【Debian12】安装NVIDIA驱动_哔哩哔哩_bilibili

    [3] 请问一下,我的nvidia驱动是否安装正确?

     

    Logo

    AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

    更多推荐