Proxmox VE(PVE)下使用(PCT)LXC搭建媒体服务器后正确开启硬件加速

2020-08-20
0评论
/
阅读
爱搜啊

配置CT渲染设备节点,开启硬件加速

默认情况下.LXC并不会自动映射dev目录下的设备节点文件.所以我们首先需要修改配置文件,使LXC自动映射dev下的设备文件.

Proxmox VE(PVE)下使用(PCT)LXC正确开启硬件加速

1、首先我们需要在host(pve) shell中确认一下host设备文件的情况,标红的参数我们需要用到:

root@pve:~# ls -l /dev/dri/

total 0
drwxr-xr-x 2 root root         80 Apr 20 12:24 by-path
crw-rw---- 1 root video  226,   0 Apr 20 12:24 card0
crw-rw---- 1 root render 226, 128 Apr 20 12:24 renderD128
video  id: 226,   0
render id:226, 128

2、修改LXC的配置文件,路径为/etc/pve/lxc/{你的CT ID}.conf

3、例如我的CT ID是100,所以对应的文件是/etc/pve/lxc/100.conf

4、使用编辑器打开该文件进行编辑:

vim /etc/pve/lxc/100.conf

5、将以下内容添加到文件末尾(将对应的id替换成自己的):

lxc.cgroup.devices.allow = c 226:0 rwm
lxc.cgroup.devices.allow = c 226:128 rwm
lxc.autodev: 1
lxc.hook.autodev:/var/lib/lxc/100/render_device_hook.sh

6、CT启动的时候,会执行lxc.hook.autodev里的内容,我们需要手动创建对应的节点文件

7、还是一样,使用编辑器创建并打开脚本文件:

vim /var/lib/lxc/100/render_device_hook.sh

8、将以下内容添加到文件中(一样,还是要替换成自己的设备id):

mkdir -p ${LXC_ROOTFS_MOUNT}/dev/dri
mknod -m 666 ${LXC_ROOTFS_MOUNT}/dev/dri/card0 c 226 0
mknod -m 666 ${LXC_ROOTFS_MOUNT}/dev/dri/renderD128 c 226 128

9、最后设置文件权限:

chmod 755 /var/lib/lxc/100/render_device_hook.sh

10、这样,我们CT的配置就修改好了,现在去启动CT吧.

11、启动后,我们还需要在CT里安装VA的驱动文件,以下命令均在CT内执行:

apt-get install i965-va-driver
apt-get install vainfo

12、安装完成后执行vainfo命令,如果打印如下类似信息就表明硬件转码已经可用了:

root@mediaserver ~# vainfo

error: XDG_RUNTIME_DIR not set in the environment.

error: can't connect to X server!

libva info: VA-API version 0.39.4

libva info: va_getDriverName() returns 0

libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so

libva info: Found init function __vaDriverInit_0_39

libva info: va_openDriver() returns 0

vainfo: VA-API version: 0.39 (libva 1.7.3)

vainfo: Driver version: Intel i965 driver for Intel(R) Kabylake - 1.7.3

vainfo: Supported profile and entrypoints

      VAProfileMPEG2Simple            :        VAEntrypointVLD

      VAProfileMPEG2Simple            :        VAEntrypointEncSlice

      VAProfileMPEG2Main              :        VAEntrypointVLD

      VAProfileMPEG2Main              :        VAEntrypointEncSlice

      VAProfileH264ConstrainedBaseline:        VAEntrypointVLD

      VAProfileH264ConstrainedBaseline:        VAEntrypointEncSlice

      VAProfileH264Main               :        VAEntrypointVLD

      VAProfileH264Main               :        VAEntrypointEncSlice

      VAProfileH264High               :        VAEntrypointVLD

      VAProfileH264High               :        VAEntrypointEncSlice

      VAProfileH264MultiviewHigh      :        VAEntrypointVLD

      VAProfileH264MultiviewHigh      :        VAEntrypointEncSlice

      VAProfileH264StereoHigh         :        VAEntrypointVLD

      VAProfileH264StereoHigh         :        VAEntrypointEncSlice

      VAProfileVC1Simple              :        VAEntrypointVLD

      VAProfileVC1Main                :        VAEntrypointVLD

      VAProfileVC1Advanced            :        VAEntrypointVLD

      VAProfileNone                   :        VAEntrypointVideoProc

      VAProfileJPEGBaseline           :        VAEntrypointVLD

      VAProfileJPEGBaseline           :        VAEntrypointEncPicture

      VAProfileVP8Version0_3          :        VAEntrypointVLD

      VAProfileVP8Version0_3          :        VAEntrypointEncSlice

      VAProfileHEVCMain               :        VAEntrypointVLD

      VAProfileHEVCMain               :        VAEntrypointEncSlice

      VAProfileHEVCMain10             :        VAEntrypointVLD

      VAProfileHEVCMain10             :        VAEntrypointEncSlice

      VAProfileVP9Profile0            :        VAEntrypointVLD

      VAProfileVP9Profile0            :        VAEntrypointEncSlice

      VAProfileVP9Profile2            :        VAEntrypointVLD

13、现在再到Jellyfin的控制台,将转码的硬件加速设置为VA API,在转码再看看CPU占用以及拖动视频的相应速度~:

Enjoy....


本站附件分享,如果附件失效,可以去找找看

诚通网盘附件百度网盘附件


标签: pve lxc pct
于2020-08-20发布