以下内容皆参考与jellyfin官方文档和个人操作的实验结果!
前言
最近Hetzner活动免除了AX42杜甫的安装费,我马上就购入了一波体验一下。
鉴于该杜甫有一个不错的780M型号的GPU,决定玩一玩Jellyfin。
写文章时杜甫已取消,导致并未有运行截图(大意了)
环境说明
服务器:AX42
系统平台:Hetzner官方提供Debian12
容器平台:最新版Docker
容器镜像:jellyfin提供的官方镜像
这里决定采用容器化操作是为了方便管理,有些驱动官方也封装在容器中,无需二次安装。同时有效降低血压,防止系统洁癖。
配置GPU
配置挺简单的
-
安装amd的3D驱动
apt update -y && apt install -y firmware-amd-graphics
-
重启服务器
reboot
-
验证
ls -l /dev/dri
检查是否有内容,尤其是
/dev/dri/renderD128
-
查询
render
和video
组查询的组号将会用在接下来的docker-compose.yml中
getent group render | cut -d: -f3 getent group video | cut -d: -f3
安装容器环境
自己谷歌。。。
Docker compose安装Jellyfin
直接贴出compose文件
services:
jellyfin:
image: jellyfin/jellyfin
user: 1000:1000
group_add:
- "122" # 替换成上面查到的 "render" 组号
network_mode: 'host' # 可以换成ports映射 8096:8096
volumes:
- /path/to/config:/config # 自行修改配置
- /path/to/cache:/cache # 自行修改配置
- /path/to/media:/media # 自行修改配置
devices:
- /dev/dri/renderD128:/dev/dri/renderD128 # 无需更改
不多解释,直接启动
docker compose up -d
环境验证和配置
-
检查 VA-API 编解码器
docker exec -it [你的容器名] /usr/lib/jellyfin-ffmpeg/vainfo --display drm --device /dev/dri/renderD128
-
检查 Vulkan 运行时状态
docker exec -it [你的容器名] /usr/lib/jellyfin-ffmpeg/ffmpeg -v debug -init_hw_device vulkan
-
在 Jellyfin 中启用 VA-API,并取消选中不支持的编解码器。
注意是 VA-API而不是AMD-AMF!!!
注意docker compose logs
检查启动日志,可能有映射目录归属和权限问题,也可在compose中直接指定用户,组。
chown -R 1000:1000 [你的目录]
目录权限根据需求自行调整,我这边是rclone挂载的OneDrive
GPU调用验证
没有可靠的方法来读取 Linux 上 AMD GPU 上 VCE/UVD/VCN 引擎的占用情况。
但是,您仍然可以通过使用该工具读取其他引擎来验证这一点。radeontop
注意:需要root权限。
-
安装软件包
radeontop
。apt update && apt install -y radeontop
-
在 Jellyfin Web 客户端播放视频,并通过设置较低的分辨率或比特率来触发视频转码,不要原画播放。
-
使用
radeontop
命令检查 3D 引擎的占用情况。
补充
容器中并不包含中文字体。。。
-
以root进入容器
docker exec -it --user root [你的容器名] bash
-
安装字体
apt update apt install fonts-noto-cjk-extra
-
重新启动容器
docker compose restart
或
docker compose down && docker compose up -d
-
删除原封面图
-
重新刷新元数据,或在计划任务中扫描媒体库
其他
Windows教程可查看:https://c7pai.com/4394/
叠甲
大部分参考自Jellyfin官方文档,如有错误,请联系改正!
大部分参考自Jellyfin官方文档,如有错误,请联系改正!
大部分参考自Jellyfin官方文档,如有错误,请联系改正!
- 最新
- 最热
只看作者