N100 PVE 下通过LXC 安装Jellyfin的Docker容器版服务端 实现4K硬解

第一、pve的shell中查看核显是否正常,并安装intel-gpu-tools

# 查看是否有核显
root@majorpve:~# ls -l /dev/dri
total 0
drwxr-xr-x 2 root root         80 May 18 06:59 by-path
crw-rw---- 1 root video  226,   0 May 18 06:59 card0
crw-rw---- 1 root render 226, 128 May 18 06:59 renderD128

# 查看intel核显驱动固件i915是否齐全
    ls -lh /lib/firmware/i915/ | grep guc
    ls -lh /lib/firmware/i915/ | grep huc
    ls -lh /lib/firmware/i915/ | grep dmc

# 安装intel-gpu-tools,(附 该工具使用方法,直接运行命令 intel_gpu_top 即可查看核显工作情况)
root@majorpve:~# apt install intel-gpu-tools

第二、pve创建基于RockyLinux的LXC 特权容器(创建后先不启动)

file

第三、让LXC支持Docker,添加一些权限映射

root@majorpve:~# vi /etc/pve/lxc/106.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

第四、修改 intel 核显 i915 的配置,N5105,N6005,N100等之后的低功耗cpu需要添加低功耗U核显硬解参数

  # 注意该文件默认不存在
root@majorpve:~# vi /etc/modprobe.d/i915.conf
options i915 enable_guc=3

  # 并重启pve

第五、重启完成后,进入pve的shell查看i915核显的guc,huc,dmc是否开启

root@pvesecondary:~# journalctl -b -o short-monotonic -k | egrep -i "i915|dmr|dmc|guc|huc"
[    4.432710] pvesecondary kernel: Setting dangerous option enable_guc - tainting kernel
[    4.433747] pvesecondary kernel: i915 0000:00:02.0: [drm] VT-d active for gfx access
[    4.433775] pvesecondary kernel: i915 0000:00:02.0: vgaarb: deactivate vga console
[    4.433832] pvesecondary kernel: i915 0000:00:02.0: [drm] Using Transparent Hugepages
[    4.434302] pvesecondary kernel: i915 0000:00:02.0: vgaarb: VGA decodes changed: olddecodes=io+mem,decodes=io+mem:owns=io+mem
[    4.435564] pvesecondary kernel: mei_hdcp 0000:00:16.0-b638ab7e-94e2-4ea2-a552-d1c54b627f04: bound 0000:00:02.0 (ops i915_hdcp_ops [i915])
[    4.446303] pvesecondary kernel: i915 0000:00:02.0: [drm] Finished loading DMC firmware i915/adlp_dmc.bin (v2.20)
[    4.454785] pvesecondary kernel: i915 0000:00:02.0: [drm] GT0: GuC firmware i915/tgl_guc_70.bin version 70.20.0
[    4.454792] pvesecondary kernel: i915 0000:00:02.0: [drm] GT0: HuC firmware i915/tgl_huc.bin version 7.9.3
[    4.459467] pvesecondary kernel: i915 0000:00:02.0: [drm] GT0: HuC: authenticated for all workloads
[    4.459911] pvesecondary kernel: i915 0000:00:02.0: [drm] GT0: GUC: submission enabled
[    4.459913] pvesecondary kernel: i915 0000:00:02.0: [drm] GT0: GUC: SLPC enabled
[    4.460202] pvesecondary kernel: i915 0000:00:02.0: [drm] GT0: GUC: RC enabled
[    4.460988] pvesecondary kernel: mei_pxp 0000:00:16.0-fbf6fcf1-96cf-4e2e-a6a6-1bab8cbe36b1: bound 0000:00:02.0 (ops i915_pxp_tee_component_ops [i915])
[    4.461174] pvesecondary kernel: i915 0000:00:02.0: [drm] Protected Xe Path (PXP) protected content support initialized
[    4.486629] pvesecondary kernel: [drm] Initialized i915 1.6.0 20230929 for 0000:00:02.0 on minor 0
[    4.488547] pvesecondary kernel: i915 display info: display version: 13
[    4.488550] pvesecondary kernel: i915 display info: cursor_needs_physical: no
[    4.488551] pvesecondary kernel: i915 display info: has_cdclk_crawl: yes
[    4.488552] pvesecondary kernel: i915 display info: has_cdclk_squash: no
[    4.488553] pvesecondary kernel: i915 display info: has_ddi: yes
[    4.488554] pvesecondary kernel: i915 display info: has_dp_mst: yes
[    4.488554] pvesecondary kernel: i915 display info: has_dsb: yes
[    4.488555] pvesecondary kernel: i915 display info: has_fpga_dbg: yes
[    4.488556] pvesecondary kernel: i915 display info: has_gmch: no
[    4.488557] pvesecondary kernel: i915 display info: has_hotplug: yes
[    4.488558] pvesecondary kernel: i915 display info: has_hti: no
[    4.488558] pvesecondary kernel: i915 display info: has_ipc: yes
[    4.488559] pvesecondary kernel: i915 display info: has_overlay: no
[    4.488560] pvesecondary kernel: i915 display info: has_psr: yes
[    4.488561] pvesecondary kernel: i915 display info: has_psr_hw_tracking: no
[    4.488562] pvesecondary kernel: i915 display info: overlay_needs_physical: no
[    4.488562] pvesecondary kernel: i915 display info: supports_tv: no
[    4.488563] pvesecondary kernel: i915 display info: has_hdcp: yes
[    4.488564] pvesecondary kernel: i915 display info: has_dmc: yes
[    4.488565] pvesecondary kernel: i915 display info: has_dsc: yes
[    4.488650] pvesecondary kernel: i915 0000:00:02.0: [drm] Cannot find any crtc or sizes
[    4.488781] pvesecondary kernel: i915 0000:00:02.0: [drm] Cannot find any crtc or sizes
[    4.488885] pvesecondary kernel: snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])

第六、启动LXC的RockyLinux容器,安装Docker环境

# 添加软件源,安装docker-ce
    dnf config-manager --add-repo=http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    dnf -y install docker-ce
    systemctl enable --now docker

第七、拉取并jellyfin镜像,创建必要的配置文件和目录,挂载远程smb电影仓库(均在RockyLinux中运行)

# 配置时区
    timedatectl set-timezone Asia/Shanghai
# 拉取镜像
    docker pull nyanmisaka/jellyfin
# 创建配置文件和目录
    mkdir /opt/jellyfin/media -p
    mkdir /opt/jellyfin/config
    mkdir /opt/jellyfin/cache

# 挂载smb
[root@LT-Jellyfin-60 ~]# dnf install cifs-utils -y
[root@LT-Jellyfin-60 ~]# cat /etc/fstab 
//192.168.10.23/video /opt/jellyfin/media cifs username=xxxxx,password=xxxxxxx,vers=3.0,uid=0,gid=0 0 0

# 修改开机自启脚本,赋予intel核显777权限
[root@LT-Jellyfin-60 ~]# chmod +x /etc/rc.local
[root@LT-Jellyfin-60 ~]# cat /etc/rc.local
chmod 777 /dev/dri/*

# 重启LXC的RockyLinux后,并检查核显权限是否正常(应该是像这样的,777权限)
[root@LT-Jellyfin-60 ~]# ls -l /dev/dri
total 0
drwxrwxrwx 2 root root       80 Jul 14 22:02 by-path
crwxrwxrwx 1 root   44 226,   0 Jul 14 22:02 card0
crwxrwxrwx 1 root  104 226, 128 Jul 14 22:02 renderD128

# 启动容器
docker run -d  --name jellyfin  --net=host  -v /opt/jellyfin/config:/config  -v /opt/jellyfin/cache:/cache  --mount type=bind,source=/opt/jellyfin/media,target=/media  --device /dev/dri --restart=unless-stopped  nyanmisaka/jellyfin

第八、首次访问jellyfin,设置root密码,并设置硬件

浏览器访问 http://ip地址:8096
file

声明:本文为原创,作者为 辣条①号,转载时请保留本声明及附带文章链接:https://boke.wsfnk.com/archives/1370.html
谢谢你请我吃辣条谢谢你请我吃辣条

如果文章对你有帮助,欢迎点击上方按钮打赏作者

最后编辑于:2024/7/24作者: 辣条①号

目标:网络规划设计师、系统工程师、ceph存储工程师、云计算工程师。 不负遇见,不谈亏欠!

暂无评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

arrow grin ! ? cool roll eek evil razz mrgreen smile oops lol mad twisted wink idea cry shock neutral sad ???

文章目录