简介

前面在配置开源 NVR 监控 Frigate 时使用的是 PC 机(系统版本 Debian,默认安装了图形界面)。在 Frigate 的配置中启用了动作识别的配置(识别对象为 person),正常情况下该系统 CPU 的利用率不超过6% ,但是当检测到存在动作的画面时 CPU 的的利用率超过 40%。软件的官网有提醒建议配置独立的检测设备 TPU 或是使用 GPU,原以为这台 PC 是没有配置独立显卡的,后来发现配置有 GTX 730 显卡。

虽然配置有独立显卡,但从检测的结果来看没有更详细的信息。查资料了解如果没有独立安装驱动,操作系统使用内置的的第三方驱动 nouveau

启动模式设为文本模式

安装 Nvidia 显卡驱动会检测系统是否启用了 X 图形模式,驱动只有在文本模式下才能正常安装,需要先调整系统为文本模式。

1、修改 /etc/default/grub 内容如下图

2、修改启动菜单使其生效

update-grub
systemctl set-default multi-user.target

禁用 nouveau 驱动

系统内核加载的 nouveau 驱动会阻止 Nvidia 驱动的安装,需要先禁用该内核组件。

驱动组件的安装涉及编译环境,还需要安装相关的编译组件。

lsmod |grep nouveau
cat > /etc/modprobe.d/blacklist-nouveau.conf << EOF
blacklist nouveau
options nouveau modeset=0

EOF
update-initramfs -u
apt-get install build-essential cmake

安装驱动

直接到官网下载对应的驱动文件后保存到系统中,赋予安装文件的执行权限后直接执行安装操作。

如果出现如下的错误提示,说明系统缺少对应内核的编译源文件,需要安装对应的内核组件。

apt-get install linux-headers-$(uname -r)
chmod +x  NVIDIA-Linux-x86_64-470.256.02.run 
./NVIDIA-Linux-x86_64-470.256.02.run 

secure boot 的签名解决办法

在安装驱动过程中会检测到 PC 机的启动 BIOS 设置为 安全的 UEFI 启动,需要加载签名,如果选择忽略签名会导致驱动安装失败。即使是选择自动安装签名的方案如果没有设置安全启动项也会出现驱动加载了的情况(典型情况就是输入 nvidia-smi 指令会提示驱动没有加载)

1、首先设置 BIOS 的安全启动为审计模式(或者关闭安全启动检查)

2、手动生成安全证书并将其导入系统

openssl req -new -x509 -newkey rsa:2048 -keyout /root/Nvidia.key -outform DER -out /root/Nvidia.der -nodes -days 36500 -subj "/CN=Graphics Drivers"
mokutil --import /root/Nvidia.der
echo options nouveau modeset=0 | sudo tee -a /etc/modprobe.d/nouveau-kms.conf; sudo update-initramfs -u
./NVIDIA-Linux-x86_64-470.256.02.run -s --module-signing-secret-key=/root/Nvidia.key --module-signing-public-key=/root/Nvidia.der


  • 无标签

0 评论

你还没有登录。你所做的任何更改会将作者标记为匿名用户。 如果你已经拥有帐户,请登录