文章目录
第一、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 特权容器(创建后先不启动)
第三、让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
如果文章对你有帮助,欢迎点击上方按钮打赏作者
暂无评论