N5095使用经验分享 Step By Step (一 核显直通jellyfin)

2022-06-25 12:05:29 10点赞 101收藏 13评论

1. 前言

前面写的折腾日记系列随心所欲的写了写,都只涉及了想法和思路。没有基础的人可能很难get到我说的点,也没办法参照着使用起来。因此想另外写一个Step By Step系列,基本遵循可操作的原则。

因为不是软路由的专家,所以此系列也不敢称为教程,只做是经验分享。

废话说完了,这篇主要是介绍一下N5095在PVE上如何进行核显直通,并进行硬件解码。

2. PVE核显直通配置

2.1 更改grub

修改/etc/default/grub文件,在GRUB_CMDLINE_LINUX_DEFAULT中增加下面的参数:

intel_iommu=on video=efifb:off

N5095使用经验分享 Step By Step (一 核显直通jellyfin)

2.2 更新grub

执行 update-grub命令,可以看到下面的信息。

N5095使用经验分享 Step By Step (一 核显直通jellyfin)

2.3 配置开机加载vfio模块

编辑/etc/modules,写入下面的模块名

vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd

N5095使用经验分享 Step By Step (一 核显直通jellyfin)

2.4 配置禁止加载显卡驱动

编辑/etc/modprobe.d/pve-blacklist.conf文件,增加下面的内容

blacklist i915

N5095使用经验分享 Step By Step (一 核显直通jellyfin)

2.5 更新initrd

执行update-initramfs -u命令

N5095使用经验分享 Step By Step (一 核显直通jellyfin)

2.6 重启PVE

3. 创建虚拟机

这里以创建Archlinux为例说明(5.15左右的版本内核存在一个bug会导致核显无法使用,每个发行版的内核版本的差异还是有一些的,可能在其他版本的内核上也会遇到这个bug)

3.1 下载archlinux虚拟机的镜像

从arch官方下载了镜像,地址如下:

https://gitlab.archlinux.org/archlinux/arch-boxes/-/jobs/63736/artifacts/browse/output

选择basic就好了。

N5095使用经验分享 Step By Step (一 核显直通jellyfin)

3.2 把镜像拷贝到PVE中

命令可以参考下面的,其中192.168.50.3是我的PVE地址

scp Arch-Linux-x86_64-basic-20220528.58196.qcow2 root@192.168.50.3:/root/

3.3 创建虚拟机

在PVE中创建一个新的虚拟机,不需要带磁盘,相关配置如下

N5095使用经验分享 Step By Step (一 核显直通jellyfin)

N5095使用经验分享 Step By Step (一 核显直通jellyfin)

N5095使用经验分享 Step By Step (一 核显直通jellyfin)

cpu按需求选择就好了。习惯性的选上了aes,默认应该也会启用

N5095使用经验分享 Step By Step (一 核显直通jellyfin)

memory按需选择就好了。我喜欢把balloon去掉。

N5095使用经验分享 Step By Step (一 核显直通jellyfin)

network 也是按需选择

N5095使用经验分享 Step By Step (一 核显直通jellyfin)

一个不带磁盘的虚拟机就创建好了。

3.4 导入磁盘

把之前下载的archlinux的镜像导入到虚拟机中。看一下上一步创建的虚拟机id,和需要使用的存储。这里虚拟机id为103,存储为local-lvm

N5095使用经验分享 Step By Step (一 核显直通jellyfin)

执行下面的命令导入磁盘

qm importdisk 103 Arch-Linux-x86_64-basic-20220528.58196.qcow2 local-lvm

三个参数分别是 虚拟机id,下载的镜像名,导入的存储名

N5095使用经验分享 Step By Step (一 核显直通jellyfin)

3.5 启用导入的磁盘

N5095使用经验分享 Step By Step (一 核显直通jellyfin)

N5095使用经验分享 Step By Step (一 核显直通jellyfin)

3.6 设置从导入的磁盘启动

N5095使用经验分享 Step By Step (一 核显直通jellyfin)

钩上,再拖动到第一个

N5095使用经验分享 Step By Step (一 核显直通jellyfin)

3.7 添加核显

N5095使用经验分享 Step By Step (一 核显直通jellyfin)

这里是00:02.0。如果跟我设备不一样的话,需要执行命令查看一下 lspci | grep VGA

N5095使用经验分享 Step By Step (一 核显直通jellyfin)

N5095使用经验分享 Step By Step (一 核显直通jellyfin)

N5095使用经验分享 Step By Step (一 核显直通jellyfin)

3.8 启动虚拟机

不出意外的话,就可以进来了。外面已经配置完成了,到里面了。用户名:arch 密码:arch

N5095使用经验分享 Step By Step (一 核显直通jellyfin)

3.9 进入虚拟机

查看一下ip,并开启sshd服务,命令如下(通过ssh连进去可以拷贝)。

ip a
sudo systemctl start sshd

N5095使用经验分享 Step By Step (一 核显直通jellyfin)

上面在启动sshd服务的时候太慢了,我停了重启了一次,直接等也是可以的。

N5095使用经验分享 Step By Step (一 核显直通jellyfin)

不出意外的话,就已经可以看到显卡的节点了。

N5095使用经验分享 Step By Step (一 核显直通jellyfin)

3.10 设置软件源

切换到root用户,设置ustc源。顺便把vim也装上。命令如下(注意:下面两个$前面都需要一个反斜杠,这里没办法打出来)

sudo su
echo "Server = https://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch" > /etc/pacman.d/mirrorlist
pacman -Sy
pacman -S vim

N5095使用经验分享 Step By Step (一 核显直通jellyfin)

3.11 设置核显驱动参数

设置guc,安装核显的firmware,然后重启。命令如下:

echo “options i915 enable_guc=3” > /etc/modprobe.d/i915.conf
pacman -S linux-firmware
reboot

N5095使用经验分享 Step By Step (一 核显直通jellyfin)

启动之后可以看到guc,huc启动成功的日志

N5095使用经验分享 Step By Step (一 核显直通jellyfin)

虚拟机的配置到这里就完成了。

4. jellyfin

不知道多少人是因为jellyfin才需要硬解的

4.1 安装启动docker

sudo pacman -Sy docker docker-compose
sudo systemctl start docker

N5095使用经验分享 Step By Step (一 核显直通jellyfin)

4.2 安装jellyfin

创建个目录,新建docker-compose.yml,把下面的内容拷贝进去。需要自定义目录或者端口的话,需要自己改一下。

version: “2.1”
services:
jellyfin:
image: nyanmisaka/jellyfin
container_name: jellyfin
volumes:
- /home/cfs/jellyfin/config:/config
- /home/cfs/jellyfin/tvseries:/data/tvshows
- /home/cfs/jellyfin/movies:/data/movies
ports:
- 8096:8096
- 8920:8920 #optional
devices:
- /dev/dri:/dev/dri #optional
restart: unless-stopped

执行下面的命令安装jellyfin

sudo docker-compose up -d

N5095使用经验分享 Step By Step (一 核显直通jellyfin)

N5095使用经验分享 Step By Step (一 核显直通jellyfin)

jellyfin已经安装完成了

N5095使用经验分享 Step By Step (一 核显直通jellyfin)

4.3 测试jellyfin硬解

进入到jellyfin的容器中,找到ffmpeg。相关命令如下

sudo docker exec -it jellyfin /bin/bash

N5095使用经验分享 Step By Step (一 核显直通jellyfin)

硬解使用的是ffmpeg的qsv编解码器

N5095使用经验分享 Step By Step (一 核显直通jellyfin)

安装一个wget,下载一个测试的视频

apt update && apt install wget

N5095使用经验分享 Step By Step (一 核显直通jellyfin)

视频可以自己随便找一个

wget https://f7881eaf9ab44d-a.akamaihd.net/files/media_publication/16/wsb_B_02_r720P.mp4

N5095使用经验分享 Step By Step (一 核显直通jellyfin)

测试命令,好像也不是很快,N5105应该会快很多

/usr/lib/jellyfin-ffmpeg/ffmpeg -i wsb_B_02_r720P.mp4 -vcodec hevc_qsv out.mp4

N5095使用经验分享 Step By Step (一 核显直通jellyfin)

对比一下软件的编解码(惨不忍睹)

/usr/lib/jellyfin-ffmpeg/ffmpeg -i wsb_B_02_r720P.mp4 -vcodec libx264 out.mp4

N5095使用经验分享 Step By Step (一 核显直通jellyfin)

jellyfin已经可以进行硬解了,其他配置就不说了。

5. 遗留问题

vbios一直报着错误,还不清楚原因和影响,不过好像并不影响使用

N5095使用经验分享 Step By Step (一 核显直通jellyfin)

6. 后记

11代的核显直通,别人做过很多的尝试了。可以参考一下,尤其是windows。此处删除一个链接

GVT-g在八代以后的CPU中就已经不支持了,SR-IOV是用了替换GVT-g的技术。SR-IOV之前应该只用在了网卡上。

SR-IOV的性能比GVT-g应该会强一些的,但遗憾的是目前linux上还没有支持的方案。在intel的社区中,官方回复过,windows上的驱动是支持的,linux上的支持是受限的,依赖厂商的支持。

其实折腾了半天,我根本用不上jellyfin的硬解,甚至用不上jellyfin……

好吧,一切都是为了折腾……

另外,忘了说一件事。PVE现在是我的生产环境,所以没有重装来验证配置步骤,可能会出现有问题的地方。

再吐槽一句,排版太复杂了,各种特殊字符,格式也很难搞。

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

展开 收起

WPS 金山软件 AI会员1年 金山办公软件官方正版

WPS 金山软件 AI会员1年 金山办公软件官方正版

93元起

Microsoft 微软 OFFICE 365 家庭版 会员

Microsoft 微软 OFFICE 365 家庭版 会员

109元起

Microsoft 微软 OFFICE 365 个人版 办公软件

Microsoft 微软 OFFICE 365 个人版 办公软件

209元起

微软在线发 多年office365家庭版个人版续费新订microsoft365订阅密钥 Microsoft365 个人版 一年 密钥-在线直发咚咚聊天窗口领取

微软在线发 多年office365家庭版个人版续费新订microsoft365订阅密钥 Microsoft365 个人版 一年 密钥-在线直发咚咚聊天窗口领取

209元起

微软微软win10win11专业版授权解决企业化office copilot订阅 授权 copilot订阅服务含税

微软微软win10win11专业版授权解决企业化office copilot订阅 授权 copilot订阅服务含税

3099元起

Microsoft 微软 Office 2016 电子版 送outlook

Microsoft 微软 Office 2016 电子版 送outlook

149元起

Microsoft 微软 365/Office 家庭版 文档自动保存 各设备通用 1年盒装版 6人同享

Microsoft 微软 365/Office 家庭版 文档自动保存 各设备通用 1年盒装版 6人同享

279元起

ihuman 洪恩 识字子集拼音思维ABC会员永久包3-6岁儿童早教启蒙礼物玩具 识字会员终身包

ihuman 洪恩 识字子集拼音思维ABC会员永久包3-6岁儿童早教启蒙礼物玩具 识字会员终身包

268元起

Microsoft 微软 365 家庭版 电子秘钥 正版高级Office应用 1T云存储

Microsoft 微软 365 家庭版 电子秘钥 正版高级Office应用 1T云存储

279元起

Microsoft 微软 Office365 个人版 3个月密钥 笔记本电脑 台式机平板 办公必备

Microsoft 微软 Office365 个人版 3个月密钥 笔记本电脑 台式机平板 办公必备

128元起

WPS 金山软件 超级会员2年卡 赠AI会员

WPS 金山软件 超级会员2年卡 赠AI会员

暂无报价

Microsoft 微软 Office 家庭和学生版 2021 彩盒包装 适用Windows/MAC

Microsoft 微软 Office 家庭和学生版 2021 彩盒包装 适用Windows/MAC

暂无报价

WPS超级会员4年套餐pdf转word排版PPT润色模板素材

WPS超级会员4年套餐pdf转word排版PPT润色模板素材

暂无报价

WPS稻壳会员1年套餐PPT模板素材字体美化图标思维导图官方正版

WPS稻壳会员1年套餐PPT模板素材字体美化图标思维导图官方正版

59元起

Microsoft 微软 365 家庭版 30月

Microsoft 微软 365 家庭版 30月

538元起

国行版 Switch体感游戏套装 《健身环大冒险》

国行版 Switch体感游戏套装 《健身环大冒险》

344元起
13评论

  • 精彩
  • 最新
  • 感谢大佬的教程,等机器到了第一时间试试

    校验提示文案

    提交
    不客气~ 交流使人快乐,哈哈

    校验提示文案

    提交
    收起所有回复
  • 没看明白这是啥,为什么要在pve里设置屏蔽核显 。pve下直接安装docker然后给docker调用核显不行吗?这个也是lxc?

    校验提示文案

    提交
    这一篇只是写了如何做。为什么这样做,在折腾日记四中有说,这里就不再重复解释了。

    校验提示文案

    提交
    收起所有回复
  • 许久没用jellyfin,不知道倍速下快进几次后内嵌字幕不同步的问题解决了么。当初这个原因换到了emby

    校验提示文案

    提交
    不知道,其实装上了并没有怎么使用…

    校验提示文案

    提交
    收起所有回复
  • "11代的核显直通,别人做过很多的尝试了。可以参考一下,尤其是windows。"怎么才能把核显直通给虚拟机windows?我试过都是蓝屏。。

    校验提示文案

    提交
    没有什么好的方案,目前看到的最接近成功的尝试,也会在重启后蓝屏

    校验提示文案

    提交
    收起所有回复
  • 是不是不用pve,直接装arch linux也可以这样操作来硬解?

    校验提示文案

    提交
    当然可以

    校验提示文案

    提交
    前面都ok,到dmesg这一步,是失败的。 failed to find vbios tables。请问这个有遇到么?

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 一直不明白:都说esxi 性能比pve 强,为啥还有人喜欢pve ?

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关好价推荐
查看更多好价

相关文章推荐

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