本文由 简悦 SimpRead 转码, 原文地址 blog.csdn.net

环境:N5105 第四版 + esxi 7.0u3sf+frdora 5.19+docker emby
问题:使用核显硬解视频
解法:核显直通给 frdora 来跑 docker 硬解

背景:一切从 chorme 不支持 HEVC(H265) 开始,虽然 edge 和 safri 直接硬解,但不如自己折腾来的爽快,一开始尝试折腾群晖 918+ 6.2.3 和 7.11 的方式 虚拟化方式均失败 ,听说物理机装群晖应该是可以,不喜未试

本文参考了 老高的视频 https://www.bilibili.com/video/BV1oW4y117bR,该视频用的应该是第三版主机,我对比我的主板固件明显不一样,但照着步骤

1. 系统安装

1.1 N5105 软路由小主机是 600 块买的准系统,安装 ESXI-7.0U3SF-20036586-STANDARD-C 系统

1.2 在 esxi 中安装 frdora 系统,虚拟机引导选着 UEFI,并关闭安全引导
我看有的人装 Debian 也是可以的,安装的时候一定要选允许 root ssh 远程登陆

2. 内核更新

2.1 将 Linux 的内核更新到 5.19 并重启,据说这个版本有核显驱动

1
2
3
4
dnf update
reboot
uname -a
Linux fedora 5.19.8-200.fc36.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Sep 8 19:02:21 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

2.1 增加开机启动项以支持显卡:

1
2
3
4
5
6
vi /etc/default/grub
#增加一行:
GRUB_CMDLINE_LINUX_DEFAULT="intel_iommu=on i915.enable_guc=3 quiet"

#更新开机文件
grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg```

在这里关闭虚拟机

3. 显卡直通

3.1 在显卡直通之前先确保可以 ssh 远程登陆
3.2 在 esxi 中开启直通,但不要重启

3.3 ssh 到 esxi 中,在命令行执行下列命令并重启 esxi,这个命令是把显卡直通给虚拟机,重启后你的物理机接显示器就没画面了

先开启 esxi ssh 服务

1
esxcli system settings kernel set -s vga -v FALSE

3.4 在虚拟机中新增 PCI 设备,并预先分配所有内存

3.5 修改虚拟机配置关闭显示输出,这时候虚拟机 KVM 都不会有画面了

自此,核显直通虚拟机配置完成了,前面虚拟机开机启动项也完成了

3. 开机测试

3.1 打开虚拟机,网页 KVM 无任何画面显示,直接 ssh 进去查看设备如下

1
2
3
4
5
6
7
8
9
ls -l /dev/dri

#检查一下驱动状况
ls -l /lib/firmware/i915/ehl_guc_69*
ls -l /lib/firmware/i915/ehl_huc_9*
ls -l /lib/firmware/i915/icl_dmc_ver1_0*

#观察 guc huc 有无enable字样
journalctl -b -o short-monotonic -k | egrep -i "i915|dmr|dmc|guc|huc"


3.2 在虚拟机中安装 docker 并运行容器

1
docker run --network=bridge -p '8096:8096' -p '8920:8920' -p '1900:1900/udp' -p '7359:7359/udp' -v /docker/emby/config:/config -v /docker/emby/data/:/data -v /docker/emby/meidia/:/media -e TZ="Asia/Shanghai" --device /dev/dri:/dev/dri -e UID=0 -e GID=0 -e GIDLIST=0 --restart always --name emby -d lovechen/embyserver:4.7.6.0

3.3 进入容器查看转码 - 高级,测试下来 quicksync 速度最快,如果这里没有 quicksync 就去检查前面步骤对不对,特别是查看显卡驱动

3.4 安装 GPU 插件,查看 GPU 运行状况, 播放一个待转码的视频看看效果

1
2
3
dnf -y install intel-gpu-tools 

intel_gpu_top


检查 CPU 应该在 10% 以下才对,超过 10% 那就还是 CPU 在解码

文章引用:
老高的视频 https://www.bilibili.com/video/BV1oW4y117bR

如果你有 N5105 esxi 虚拟化环境下直通核显硬解的方案,欢迎提供给我~