免费开源影音服务Jellyfin,PVE下LXC套娃Docker核显硬解N5105

2023-01-09 1,285 0

之前2022年5月份做过N5105在PVE下LXC套娃Docker Jellyfin核显硬解,时间过得真快,转眼半年多过去了。上次测试硬酷R1刚好做过新版PVE7.3硬解也更方便了!更新下新版PVE核显硬解的教程,以N大Jellyfin为例,希望能帮到需要的朋友!

感谢您的关注订阅🙏,三连投币转发 充电是对我最大的支持和鼓励!🙏我会继续努力做出更多的高质量视频!加爱折腾的群和讨论组:https://diyforfun.565856.xyz/ 爱折腾的老高欢迎您加入和有着共同折腾爱好的朋友们一起:折腾的开心!开心的折腾!

免费开源影音服务Jellyfin,PVE下LXC套娃Docker核显硬解N5105

声明:爱折腾的老高视频及技术交流群仅供数码爱好者正规合法讨论技术交流。不涉及任何违法违规技术交流。请不要在评论或私聊中提及任何违法违规技术问题,一概不予回答谢谢合作。请各位朋友不在在群中讨论任何相关违法违规及风险问题,群规见群公告。所分享资源均来自互联网公开资源,均有其各自的作者和出处,尊重知识产权。相关设备和服务请购买正版。各厂商服务商请不要群内发广告、图片及二维码等。如有合作意向,敬请与老高联系。

pve的安装过程,请观看往期视频:https://www.bilibili.com/video/BV18L4y1F7gN/

我们采用的是jellyfin开发组 国人大神nyanmisaka的jellyfin版docker中集成了驱动,并且N大优化了很多。链接是:https://hub.docker.com/r/nyanmisaka/jellyfin

下面从安装完pve之后开始:

确保PVE已经升级到7.3-3及以上版本
1、更新PVE内核到5.19(2022-9-13官网更新)

apt update && apt install pve-kernel-5.19

2、检查PVE下915 guc huc dmc固件是否齐全(正常情况下PVE7.3-3默认系统自带)

cd /lib/firmware/i915 && ls ehl_guc.bin && ls ehl_huc.bin && ls icl_dmc*.bin

是否包含以下固件,如果齐全进步骤3
ehl_guc_70.1.1.bin
ehl_huc_9.0.0.bin
icl_dmc_ver1_09.bin

如不全,则补全缺少的915 guc huc dmc固件

mkdir -p /lib/firmware/i915 && cd /lib/firmware/i915
curl -LO https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/i915/ehl_guc_70.1.1.bin
curl -LO https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/i915/ehl_huc_9.0.0.bin
curl -LO https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/i915/icl_dmc_ver1_09.bin

3、lxc模板安装debian 11,安装时一定把非特权容器前面的勾去掉,去掉,去掉。我们需要一个特权的容器。完成后不要启动!

4、在宿主PVE节点下指派核显及Docker相关权限映射给lxc下的debian

#查看核显
ls -l /dev/dri
nano /etc/pve/lxc/101.conf
# 粘贴
lxc.cgroup2.devices.allow: c 226:0 rwm
lxc.cgroup2.devices.allow: c 226:128 rwm
lxc.cgroup2.devices.allow: c 29:0 rwm
lxc.mount.entry: /dev/dri dev/dri none bind,optional,create=dir
lxc.apparmor.profile: unconfined
lxc.cap.drop:

ctrl+x,y,回车

nano /etc/modprobe.d/i915.conf
#粘贴大补丸:
options i915 enable_guc=3

reboot 重启后验证低功耗编码HuC和GuC是否开启命令如下:

journalctl -b -o short-monotonic -k | egrep -i "i915|dmr|dmc|guc|huc"

返回信息中有以下HuC和GuC成功开启:
[ 3.862964] pve kernel: i915 0000:00:02.0: [drm] Finished loading DMC firmware i915/icl_dmc_ver1_09.bin (v1.9)
[ 3.884978] pve kernel: i915 0000:00:02.0: [drm] GuC firmware i915/ehl_guc_70.1.1.bin version 70.1
[ 3.884987] pve kernel: i915 0000:00:02.0: [drm] HuC firmware i915/ehl_huc_9.0.0.bin version 9.0
[ 3.899160] pve kernel: i915 0000:00:02.0: [drm] HuC authenticated
[ 3.899505] pve kernel: i915 0000:00:02.0: [drm] GuC submission enabled
ctrl+x,y,回车

5、启动LXC的Debian,开启Debian远程root账号第三方SSH登录工具

nano /etc/ssh/sshd_config
PermitRootLogin yes
PasswordAuthentication yes

ctrl+x,y,回车

service ssh restart

Lxc下Debian更改国内源:

备份源存储文件:

mv /etc/apt/sources.list /etc/apt/sources.list.bk
nano /etc/apt/sources.list

添加国内源

中科大源

deb https://mirrors.ustc.edu.cn/debian/ bullseye main non-free contrib
deb-src https://mirrors.ustc.edu.cn/debian/ bullseye main non-free contrib
deb https://mirrors.ustc.edu.cn/debian-security/ bullseye-security main
deb-src https://mirrors.ustc.edu.cn/debian-security/ bullseye-security main
deb https://mirrors.ustc.edu.cn/debian/ bullseye-updates main non-free contrib
deb-src https://mirrors.ustc.edu.cn/debian/ bullseye-updates main non-free contrib
deb https://mirrors.ustc.edu.cn/debian/ bullseye-backports main non-free contrib
deb-src https://mirrors.ustc.edu.cn/debian/ bullseye-backports main non-free contrib

ctrl+x,y,回车

#更新
apt update && apt upgrade -y

5、挂载NAS NFS(smb)

PVE宿主机挂载SMB(NFS)

在PVE节点shell下运行

pct set 101 -mp0 /mnt/pve/share_nfs,mp=/mnt/share_nfs

LXC号 挂载点1 PVE下目录 LXC-debian下的存储目录
-mp2挂载点2
-mp3挂载点3

有群友问此命令什么意思,这里简单介绍一下:

100是机器号,也就是lxc建立的debian()括号里的号码

mp0是第一个挂载点。后面如果还有多个挂载点,按照顺序就是mp1,mp2,mp3

/mnt/pve/share_nfs 这是pve已经挂载好的目录(视频里有把smb/nfs挂载到pve的操作)

把这个pve挂载好的目录,映射给lxc,映射后在debian里面的位置是/mnt/share_nfs(以后安装在debian下的jellyfin设置媒体库的时候需要映射这个影音目录)

#重启后查看是否挂载正常
cd /mnt/share_nfs
ls -l

检查是否挂载完好

6、安装docker

一键安装Docker

apt install curl -y
curl -sSL https://get.docker.com/ | sh

启动docker服务

systemctl start docker

7、安装portainer

docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock --restart=always --name portainer portainer/portainer-ce

8、安装N大集成驱动的Docker版Jellyfin
nyanmisaka/jellyfin:latest

8096
8920
/media
/mnt/share_nfs

/dev/dri

注意:最近portainer新版貌似有点问题,导致安装报错,可以使用以下命令行安装N大jellyfin

docker run -d -p 8096:8096 -p 8920:8920 --volume jellyfin-config:/config --volume jellyfin-cache:/cache -v /mnt/share_nfs:/media --device=/dev/dri:/dev/dri --restart=always --name jellyfin nyanmisaka/jellyfin:latest

9、安装GPU监控应用

apt-get update && apt install intel-gpu-tools
intel_gpu_top

6、LXC开机自动修改解码器用户组权限
在LXC-Debian(ubuntu)下
先通过以下命令对systemd注入rc-local服务:

cat>>/etc/systemd/system/rc-local.service<<EOF
[Unit]
Description=/etc/rc.local
ConditionPathExists=/etc/rc.local
[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
StandardOutput=tty
RemainAfterExit=yes
SysVStartPriority=99
[Install]
WantedBy=multi-user.target
EOF

然后执行开机启动rc.local

systemctl enable rc-local.service

创建开始脚本

cat </etc/rc.local
!/bin/sh -e
#
#rc.local
#
#This script is executed at the end of each multiuser runlevel.
#Make sure that the script will "exit 0" on success or any other
#value on error.
#
#In order to enable or disable this script just change the execution
#bits.
#
#By default this script does nothing.
chmod 777 /dev/dri/*
sleep 30
systemctl restart docker
exit 0
EOF

并给文件赋权限

chmod +x /etc/rc.local

重启开机后检查权限是否自动更改解码器用户组为render

ls -l /dev/dri

重启开机后检查权限是否自动加权

reboot

您的订阅点赞分享充电打赏(三连投币分享)是对老高最大的支持和鼓励!看完片子,加爱折腾的群和讨论组:http://diyforfun.565856.xyz/

转载原创文章请注明,转载自: 爱折腾的老高博客 https://diyforfun.cn

相关文章

降噪~居然听不到机柜吵了!iKF蓝牙耳机主动降噪头戴式蓝牙耳机简单体验
卷王万兆网卡也来啦!乐扩USB4网卡深度测试10G兼容雷电雷雳单口丐版mac升级
爱墨AIMO彩虹机P12pro 便携热转印标签打印机 布熨丝带夜光冰箱磁性尼龙线缆
享打就打超轻便携无墨A4打印机 想打就打小巧轻便无需碳粉墨水
Unraid 核显直通虚拟Win HDMI/DP显示输出完整版 修复闪屏问题以迈云达M1 Mini Pro N100为例
摩客M6 Ryzen5 6600H迷你电脑深度测试评测

发布评论