在虚拟机debian里面利用Jellyfin进行核显直通转码
自从把NAS转到pve,就折腾无休止。终于搞定了debian安装docker,docker里的Jellyfin可以直通核显硬件解码杜比视界。博家电视是支持杜比视界,这次试验纯是学习。那开始吧。
一,pve直通设置,在pve主机里操作
nano /etc/default/grub
改成如下
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on i915.enable_gvt=1 video=vesafb:off video=efifb:off video=simplefb:off"
更新
update-grub
二,修改内核模块
nano /etc/modules
写入以下内容
vfio vfio_iommu_type1 vfio_pci vfio_virqfd kvmgt
然后
update-initramfs -u
然后重启一下pve主机
三,新建虚拟机,镜像为debian
新建虚拟机时,需要注意几点
- BIOS要用OVMF
- 机型用q35
- 添加核显
- 其它要直通的看自身需要
正常安装deiban至完成
四,修改虚拟机内核及查看核驱动是否加载成功,以下在虚拟机debian里操作
修改虚拟机deiban的内核
nano /etc/defalut/grub
改为
GRUB_CMDLINE_LINUX_DEFAULT="intel_iommu=on i915.enable_guc=3 quiet quiet"
更新一下
update-grub
重启一下虚拟机debian
用下面的命令查看一下核显是否加载成功
ls -l /dev/dri
如果显示如renderD128,则为核显加载成功
如下图
五,安装docker及Jellyfin
docker请身行安装,Jellyfin安装如下
docker run -d \ -p 8096:8096 \ -e PUID=0 \ -e PGID=0 \ -e TZ=Asia/Shanghai \ --name jellyfin \ --net=host \ --volume /usr/local/etc/docker/jellyfin/config:/config \ --volume /usr/local/etc/docker/jellyfin/cache:/cache \ --mount type=bind,source=/mnt/Public/download,target=/media \ --device=/dev/dri:/dev/dri \ --restart=unless-stopped \ nyanmisaka/jellyfin
Jellyfin安装,请注意以下几点
- 要把核显驱动映射到docker里的Jellyfin,所以加了--device
- 要用国内特供版的Jelllyfin
- 其它目录请按自身目录修改
六,进入docker里面的Jellyfin查看核显是否映射成功
docker ps
查询Jellyfin的id,再用下面的命令进入,这一串id改为自己查到的
docker exec -it 41f06c4267f2 /bin/bash
然后
ls -l /dev/dri
同样看到了renderD128了,说明映射成功
七,在Jellyfin里进行硬解解码设置
如下设置
下载一个杜比视界的视频,用普通的播放器看一下,发绿,再用Jellyfin网页看一下,颜色完全正确。