共计 2229 个字符,预计需要花费 6 分钟才能阅读完成。
飞牛应用市场自带的N卡驱动不完整,映射给jellyfin容器后,容器无法启动,会报错,因此需要自己编译安装驱动。
先到nvidia官方网站,找到自己显卡的linux 64位驱动安装包:https://www.nvidia.cn/drivers/lookup/

找到驱动后,右键复制链接地址,登录到飞牛的ssh 使用sudo -i 切换为root身份,用wget命令下载驱动,例如:
wget https://cn.download.nvidia.com/XFree86/Linux-x86_64/570.133.07/NVIDIA-Linux-x86_64-570.133.07.run
授予文件可执行权限:
chmod +x NVIDIA-Linux-x86_64-570.133.07.run
直接执行安装可能会报错,飞牛可能缺少下面环境依赖,可以提前安装一下(可以根据报错情况,自己修复缺少的依赖):
apt update
apt install gcc
apt install libc6=2.36-9+deb12u10
apt install libc6-dev
apt install pkg-config
apt install libglvnd-dev
然后执行驱动安装命令:
./NVIDIA-Linux-x86_64-570.133.07.run
根据弹出提示,屏蔽debian自带的驱动,然后进行重启。
如果有kernel相关的报错,需要为飞牛的headers创建一个软连接,然后再次执行安装就可以了:
sudo ln -sf /usr/src/linux-headers-6.6.38-trim /lib/modules/$(uname -r)/build
接下来还需要安装一下英伟达的nvidia-container-toolkit,以便让dcoker可以调用nvidia runtime:
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg && curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
apt update
apt install -y nvidia-container-toolkit
完成后使用nvidia-ctk命令配置docker运行时(可选操作,如果你docker不需要使用N卡,可以不安装)
nvidia-ctk runtime configure --runtime=docker
最后重启下docker守护进程:
systemctl restart docker
完成后docker就可以调用N卡进行转码加速了,不限于jellyfin,理论上emby、plex等支持N卡的容器都可以正常调用。
我这边使用的是compose yml管理的jellyfin容器,以下是我的配置代码,大家可以参考:
services:
jellyfin:
image: jellyfin/jellyfin
restart: 'always'
container_name: jellyfin
network_mode: 'host'
volumes:
- /vol1/1000/docker/jellyfin/config:/config
- /vol1/1000/docker/jellyfin/cache:/cache
- /vol1/1000/media:/media
- /vol1/1000/docker/jellyfin/msyh:/usr/share/fonts/truetype/dejavu
environment:
- TZ=Asia/Shanghai
runtime: nvidia
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [gpu]
我用的是官方镜像,官方镜像已经内置了NVIDIA_DRIVER_CAPABILITIES=all和NVIDIA_VISIBLE_DEVICES=all环境变量,因此不需要再进行配置。
– /vol1/1000/docker/jellyfin/msyh:/usr/share/fonts/truetype/dejavu
这一行是字体替换,官方镜像的中文字体会有乱码情况,因此我使用微软雅黑替换了官方的字体,不需要的话,可以将这行删除,其他路径根据自己的实际情况进行修改,不出意外的话,jellyfin就能够正常启动了。
最后,进入jellyfin web管理界面,在控制台-播放-转码配置中,选择Nvidia NVENC,并关闭不支持的编解码器(比如AV1),启用允许以 HEVC 格式编码和色调映射,点击最下面的保存,播放影片就能够使用N卡加速编解码了,至此教程结束。