(PVE教程)12代核显在LXC容器实现jellyfin硬解码

2022-03-16 22:20:35 25点赞 154收藏 47评论

我的配置如下:i7-12700,核显为uhd770,PVE 7.0.2(debian 11),提供一下大概思路,详细的有人需要再补。因为目前12代核显在群晖是无法实现硬解功能,所以尝试在LXC容器里安装jellyfin实现硬解

查看核显驱动是否支持硬件加速

dmesg | grep i915

和我一样就可以了

(PVE教程)12代核显在LXC容器实现jellyfin硬解码

如果不是,而是有红色的not supported,并提示你应该使用i915.modprobe=xxxx,我的是4680,这时候在nano /etc/modprobe.d/i915.conf,添加options i915 force_probe=xxxx

然后update-initramfs -u -k all,之后重启查看dmesg | grep i915 是否正常以及ls /dev/dri存在card0 和 renderD128,其中pci设备和你的核显要对应

(PVE教程)12代核显在LXC容器实现jellyfin硬解码


安装LXC容器

只推荐官方的debian11模板,其他低版本未支持uhd770显卡https://mirrors.tuna.tsinghua.edu.cn/proxmox/images/system/debian-11-standard_11.0-1_amd64.tar.gz,创建容器取消勾选无特权的容器,具体看这篇帖子PVE 6.2 CT容器(LXC)安装Docker 并开启emby视频硬件加速_NAS存储_什么值得买 (smzdm.com)

在linux中,intel 8代以上的核显驱动升级了,不再是之前的i965-va-driver,而是使用新的intel-media-va-driver。

使用apt update && apt install intel-media-va-driver-non-free vainfo

接下来使用export LIBVA_DRIVER_NAME=iHD",否则vainfo会报错,想重启之后也有效,需要添加到/etc/profile

使用vainfo查看是否正常,就像这样

(PVE教程)12代核显在LXC容器实现jellyfin硬解码

安装jellyfin

可以使用apt安装,也可以用docker安装Jellyfin中国特供版+Docker镜像,含驱动,免折腾开箱即用 - 哔哩哔哩 (bilibili.com)

我是使用的这个镜像

docker run -d
--name=jellyfin
-e PUID=1000
-e PGID=1000
-e TZ=Europe/London
-p 8096:8096
-v /root/jellyfin/config:/config
--device /dev/dri:/dev/dri `必选`
--restart unless-stopped
nyanmisaka/jellyfin:latest

接下来打开测试一下


(PVE教程)12代核显在LXC容器实现jellyfin硬解码


作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起
47评论

  • 精彩
  • 最新
  • 之前折腾两天 pve lxc ubuntu下的docker emby硬解,看着都识别了 设置里也有了,但是cpu还是占用50以上

    校验提示文案

    提交
    你的cpu占用是lxc的占用高,还是宿主机占用高,我lxc只分配一个核心,解码的时候lxc的占用高 [喜极而泣] 。但是宿主机占用不大

    校验提示文案

    提交
    都高,我是8700tes,12个框的,分了4个框。lxc和宿主都占用高,就像没调用硬解一样

    校验提示文案

    提交
    还有3条回复
    收起所有回复
  • jellyfin-ffmpeg里已经包含最新的iHD驱动了,所以你装了intel-media-va-driver-non-free也是没有被使用到的。

    校验提示文案

    提交
    昨天在lxc容器直接使用apt安装jellyfin,测试硬解没成功,此时vainfo显示也是正常的,后面换到docker就可以了 [喜极而泣] ,一会下午可以再试试,主要还是宿主机驱动正常LXC容器才可以使用

    校验提示文案

    提交
    纠结买10代还是12代

    校验提示文案

    提交
    收起所有回复
  • 牛啊,我只是按照文章里的apt update && apt install intel-media-va-driver-non-free vainfo
    安装完成后就直接能硬解了

    校验提示文案

    提交
    客气客气,也是跟着这里学的

    校验提示文案

    提交
    收起所有回复
  • 好像没写完吧

    校验提示文案

    提交
    提供一下思路,核心点就是教PVE能正常驱动uhd770,后面跟文中提到的那个教程一样,那个更详细

    校验提示文案

    提交
    收起所有回复
  • 我安装的是emby,设置好后只要一进行硬件解码就会出错
    [ 160.144153] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:4:28fffffd, in ffmpeg [1898]
    [ 168.623214] i915 0000:00:02.0: [drm] *ERROR* Failed to reset chip
    [ 168.623225] i915 0000:00:02.0: [drm:add_taint_for_CI [i915]] CI tainted:0x9 by intel_gt_reset+0x2d9/0x300 [i915]
    [ 168.725888] i915 0000:00:02.0: [drm] ffmpeg[1898] context reset due to GPU hang
    [ 173.215451] Fence expiration time out i915-0000:00:02.0:ffmpeg[1898]:1554!
    [ 325.141083] i915 0000:00:02.0: [drm] *ERROR* rcs0 TLB invalidation did not complete in 4ms!

    校验提示文案

    提交
    没遇到这个问题

    校验提示文案

    提交
    收起所有回复
  • 撸主,我照着做,只能cpu软件转解码,有两个地方出错,vainfo时,会出现error: XDG_RUNTIME_DIR not set in the environment.error: can't connect to X server!用export LIBVA_DRIVER_NAME=iHD,错误依旧!再一个在拉取完emby镜像后,运行时会和apparmor冲突无法运行,要把apparmor卸载才行!不知道是否是因为这两原因导致无法硬件转码!望解惑,不胜感激

    校验提示文案

    提交
    Lxc模板是ubuntu21

    校验提示文案

    提交
    你这是安装桌面环境了吗

    校验提示文案

    提交
    还有6条回复
    收起所有回复
  • 265的 4K 能硬解吗?

    校验提示文案

    提交
    uhd770支持265 4k解码

    校验提示文案

    提交
    收起所有回复
  • 开始是在ubuntu22.04LTS桌面版本,jellyfin、emby、plex体验都很差,动不动就卡住,三个软件都能开硬解,但是除了emby能解4K10bitH265高码率外,另外两个都止步于4K10bitH265低码率。现在按楼主的方法能用jellyfin完美硬解了,但是emby的硬解不能用了,不知道为啥,jellyfin是docker装的,emby是下载安装包,qpkg装的

    校验提示文案

    提交

    Monkiq

    作者

    Ch_S

    我记得emby的需要正版或者加补丁是才能硬解的,你加了吗

    校验提示文案

    提交

    Ch_S

    Monkiq

    作者
    是正版的,我买了一个月

    校验提示文案

    提交
    收起所有回复
  • 想请问一下楼主,12代cpu在pve中能否给虚拟机只分配小核,我觉得用小核去跑一个软路由,感觉非常合适

    校验提示文案

    提交
    可以,arch linux的cpu pin看看

    校验提示文案

    提交
    好的谢谢,我试试看

    校验提示文案

    提交
    收起所有回复
  • 有直通独显的教程嘛

    校验提示文案

    提交
    直通独显简单啊,直接直通PCI设备就行了,但是解码这块没研究

    校验提示文案

    提交
    你可能没直通过独显?

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 使用vainfo查看报错是啥原因
    error: can't connect to X server!
    error: failed to initialize display

    校验提示文案

    提交
    我也是这样,后来解决了吗?

    校验提示文案

    提交
    我也是这样N100cpu

    校验提示文案

    提交
    还有2条回复
    收起所有回复
  • 露珠能否写个详细教程,根据站内两篇文章和国外那篇,还是没能搞定。
    error: XDG_RUNTIME_DIR not set in the environment.
    error: can't connect to X server!
    error: failed to initialize display

    校验提示文案

    提交
    你的最后两行出错和我一样,vainfo命令就报错

    校验提示文案

    提交
    去看看
    去看看
    你结合下这两篇文章,报错这关我已经过了

    校验提示文案

    提交
    收起所有回复
  • 8代的u行不行啊

    校验提示文案

    提交
  • Monkiq

    作者
    可以,但是得安装相应的驱动

    校验提示文案

    提交
  • vainfo看着都正常,但是plex和emby都硬解不了,权限都给root了。emby有过一次正常核显的情况,但是关机之后就复现不了了

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
154
扫一下,分享更方便,购买更轻松