type
status
date
slug
summary
tags
category
icon
password
如需技术支持,请点击 👉 联系方式
目前,许多人选择在 NAS 上添加一块显卡以便于使用 Emby、Jellyfin 或者 Plex 等软件进行音视频解码。相比于核显,一块用于服务器领域的显卡,比如说比较流行的 Tesla P4,在音视频解码上自然要比核显高上一个等级,是比较大众的一种选择。
Tesla P4 价格便宜(二手约400元左右),而且最高能解码 8K 分辨率的 HEVC(H26.5)10bit 影音文件。但请新手朋友们注意,这一类用于服务器领域的显卡并不是为家用设计的,这一类显卡的特征是没有视频输出接口,比如说 HDMI 。
但鉴于有不少新手朋友还不了解如何在 unRAID 上给 Docker 添加参数来调用 Nvidia 的显卡实现 GPU 解码,所以本文将给大家介绍实现方法和一些常见的问题。
1、安装 Nvidia Driver 插件
请在 unRAID 的 APPS 应用商店安装此插件,其作用是检测你当前设备上的 Nvidia 显卡并自动下载相应的驱动。
注意: 请确保你的 unRAID 可以走科学上网,不然可能影响驱动的下载。
当插件顺利完成安装后,请重启你的 Docker 服务:
2、设置插件并获取相关参数
当你安装好插件后,进入到插件的设置界面( 插件 - Nvidia Driver ),安装好并能识别到显卡的效果如下:
- 在 Available Versions 的右侧点选版本号最高的那一个。
- 点击下方的
UPDATE & DOWNLOAD
。
- 将左侧
GPU-0bxxxxxxx
编号记录下来。
注意: 请不要选择图片中标注的latest: vxxxx
。如果你点选并应用了,那么当你重启 unRAID 时会重新去检测并下载 Nvidia 显卡驱动,如果此时你的 unRAID 无法走科学上网,那么会导致 unRAID 启动过程变得很长或者压根启动不了,因为此时 unRAID 还在等插件下载驱动。
3、给 Docker 添加变量和参数
打开 Docker 的配置界面,按照以下说明添加相应的变量和参数。
3.1、添加额外参数 --runtime=nvidia
3.2、添加 NVIDIA_VISIBLE_DEVICES
和 NVIDIA_DRIVER_CAPABILITIES
变量
(1)添加
NVIDIA_VISIBLE_DEVICES
变量值设置为先前获取到的
GPU-0bxxxxxxx
编号,如下图所示:(2)添加
NVIDIA_DRIVER_CAPABILITIES
变量添加变量:
值设置为:
最终如下:
点击应用重新创建 Docker 即可完成配置。
4、常见问题
Q:安装插件后插件设置界面没有识别出显卡信息
请尝试删除插件后重新安装插件,或者重启 unRAID 服务器。
Q:插件安装驱动时报错 unraid Can't get latest Nvidia driver version and found no installed local driver
此报错表示无法下载 Nvidia 的驱动,请:
- 检查网络:最好能给 unRAID 走科学保证驱动能正常下载。
- 使用浏览器隐身模式:尝试使用浏览器的隐身模式进行下载。
- 更换浏览器:如果不行那请尝试更换浏览器并重新下载插件。
- 更换科学上网的节点:如果你已经给 unRAID 设置了代理,那么请更换代理的节点然后再下载。
Q:安装 Docker 容器时报错 Unknow runtime specified nvidia
请使用以下命令查看
daemon.json
文件:检查此文件内容是否包含如下图所示的
runtimes
信息:如果没有,请使用以下命令添加:
注意: 此命令会覆盖原先daemon.json
文件内的内容,所以请你先备份好原先的文件,或者你也可以手动将下面的大括号{ }
内的内容手动添加到daemon.json
文件中。
- 作者:JackieWu
- 链接:https://www.jackiewu.top/article/nvidia-gpu-transcoding-for-docker
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。