lxc搭建emby的笔记!本文使用PVE x86平台最新版8.2版本
PVE检查核显固件
1
| cd /lib/firmware/i915 && ls ehl_guc*.bin && ls ehl_huc*.bin && ls icl_dmc*.bin
|
显示类似如下内容则说明不缺固件,否则需要补固件

如果缺固件,则补固件
1 2 3 4
| 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
|
检查核显是否正确加载

没有显示GuC、HuC内容说明没有正确加载核显驱动,需要修改i915.conf文件
修改i915.conf文件
1
| echo "options i915 enable_guc=3" >> /etc/modprobe.d/i915.conf
|
修改后重启机器
再次检查i915驱动是否正确加载
显示如下,正确加载,驱动核显成功!

在PVE下已经把核显成功驱动了,接下来挂载到lxc里面使用就行!
lxc使用特权容器,非特权容器会有权限问题!!!
查看cgroup版本
PVE高版本都是使用cgroup2,为了保险起见,可以查看一下
如图,显示是cgroup2

编辑lxc配置文件
以lxc 110为例
1
| nano /etc/pve/lxc/110.conf
|
将下列内容粘贴到打开的配置文件最下方
1 2
| lxc.cgroup2.devices.allow: c 226:* rwm lxc.mount.entry: /dev/dri dev/dri none bind,optional,create=dir
|
重启lxc并进入
1
| pct reboot 110 && lxc-attach 110
|
安装EMBY
emby下载页,如不是debian,自行选择对应系统及安装方法
1 2
| wget https://github.com/MediaBrowser/Emby.Releases/releases/download/4.8.8.0/emby-server-deb_4.8.8.0_amd64.deb dpkg -i emby-server-deb_4.8.8.0_amd64.deb
|
解决EMBY权限问题
emby安装完默认是emby用户运行,可能导致一系列权限问题,比如调用GPU无权限、挂载的媒体库目录无写入权限,有两种方法解决问题。
方法一:直接root用户运行emby
建议此方法,最简单,方便,快速,一劳永逸!
修改emby-server.service文件
1
| nano /lib/systemd/system/emby-server.service
|
这样如下修改
1 2 3 4 5 6 7 8 9 10 11 12 13
| [Unit] Description=Emby Server is a personal media server with apps on just about every device After=network.target
[Service] EnvironmentFile=/etc/emby-server.conf WorkingDirectory=/opt/emby-server ExecStart=/opt/emby-server/bin/emby-server RestartForceExitStatus=3 User=root
[Install] WantedBy=multi-user.target
|
重载systemd
重启emby-server
1
| systemctl restart emby-server
|
方法二:给emby用户各种权限
以赋予核显权限为例,媒体库目录如果无法写入也可类似方法解决!
查看lxc容器内核显

不知为何,发现lxc内核显设备用户组与PVE中不一样,需要给emby用户访问权限
查看emby用户的组权限
将emby用户加入核显设备的用户组
缺啥补啥,我只缺sgx组权限,则只加sgx组

重启emby-server
1
| systemctl restart emby-server
|
进入emby web
接下来进入emby就可以看到硬解的编码器了

播放时调整视频分辨率后有显示硬解图标

1
| apt install intel_gpu_tools -y
|
查看gpu占用

视频播放时显示占用,完美硬解!