NAS系统折腾记 | 黑群晖系统快速制作英特尔核显补丁支持硬解

常见的群晖机器,例如 DS920+DS918+,系统内核一直是 4.4 的,而这个内核自带的核显驱动最高支持到 9 代,支持的CPU型号分别是J3455(DS918+)和J4155(DS920+)。而目前DIY搭建NAS系统有了更多的低功耗平台选择,如发布于2021年的Jasper Lake平台系列:N5095,N5105,N6005等。这些平台的集成显卡在群晖NAS的4.4内核里并不能缺省支持,因此也无法实现在Emby/Jellyfin/Plex等媒体服务器的硬解和其它的一些高级功能。本文介绍一种在使用DS920+和DS918+镜像的黑群晖系统上快速制作核显补丁支持硬解的方法。其它的配置本人未经测试,请谨慎。

下载和备份核显驱动module i915.ko

在群晖系统里,驱动程序模块ko一般在/usr/lib/modules目录下。将这个目录下的i915.ko文件(核显驱动模块)备份一下以防意外。

sudo cp /usr/lib/modules/i915.ko /usr/lib/modules/i915.ko.orig

启动DSM File Station,找一个目录,一会儿需要用这个目录转存i915.ko。我这里选择的是我用户主目录下的temp目录。选中这个目录,单击鼠标右键,选择“属性”。

在属性对话框中,记下位置文本框中显示的绝对路径。

返回到NAS的命令行,将i915.ko拷贝到上面的路径。

sudo cp /usr/lib/modules/i915.ko /volume2/homes/hyang/temp

这时候temp目录下就有i915.ko文件了。

鼠标右键单击下载,将i915.ko文件下载到本地。

下载SynologyVGPUTools

下载SynologyVGPUTools到本地。本工具exe文件大小为2.412KB,仅支持Windows操作系统。

SynologyVGPUTools工具包下载地址请访问本博文原文:NAS系统折腾记 | 黑群晖系统快速制作英特尔核显补丁支持硬解 - HY's Blog

查询iGPU设备型号

通过浏览器访问英特尔的产品资料查询网站:https://ark.intel.com。

在“Search Specification”输入框中输入NAS的CPU型号。我的NAS用的是N6005 CPU,输入N6005,点击放大镜查询。

在查询的结果页面,选择GPU Specification,记录下Device ID的内容。我的GPU Device ID是0x4E71。

制作核显补丁

选中SynologVGPUTools.exe文件,单击鼠标右键,选择“以管理员身份运行”。

这时候会弹出一个对话框选择核显驱动的ko文件。选中我们刚才从File Station下载到本机的i915.ko文件,点击“打开”。

输入刚才记录下的Device ID,我的Device ID是0x4E71,所以输入4E71,按回车。

再次输入Device ID以确保无误,然后回车。

这时候核显驱动的补丁就已经成功生成,放在C:盘的根目录下了。

回到DSM File Station,将C:盘根目录下的i915.ko文件上传回到temp目录下,选择“上传-覆盖”以覆盖掉原来的i915.ko。

启用核显补丁

然后把这个补丁的ko文件拷贝回/usr/lib/modules目录,以替换系统原有的的核显驱动,并重新启动NAS以启用补丁后的核显驱动。

sudo cp -f /volume2/homes/hyang/temp/i915.ko /usr/lib/modules
sudo chmod 644 /usr/lib/modules/i915.ko
sudo reboot

重启后验证核显驱动加载是否正常。在命令行输入如下命令:

sudo -i
ls /dev/dri
cat /sys/kernel/debug/dri/0/i915_frequency_info

如果能看到红框中的信息则恭喜你,核显驱动工作正常,可以去Emby/Jellyfin/Plex启用硬解了。本文以开源的Jellyfin为例,Emby和Plex应该跟Jellyfin类似。

Jellyfin docker启用硬解

首先,Jellyfin docker启动的时候需要把/dev/dri设备映射到docker里,DSM缺省的container manager是不支持这样的操作的。可以用portainer或者命令行创建docker container。这里以命令行为例。

sudo docker run -d \
–name jellyfin_i915
–volume /volume1/docker/jellyfin_i915/config:/config
–volume /volume1/video:/mnt/video
–device /dev/dri:/dev/dri
–publish 8096:8096
–publish 8920:8920
–env UID=0
–env GID=0
–env GIDLIST=0
jellyfin/jellyfin:latest

登录Jellyfin server的管理界面,选择播放->转码->硬件加速,选择“Video Acceleration API (VAAPI)”,在“启用硬件解码”下面,勾选上。

VA-API设备设置“/dev/dri/renderD128”(缺省应该设置好了),在“启用硬件解码”下面勾选所有适用的选项,并保存。

打开Jellyfin客户端(或者其它客户端播放软件),播放一个高清视频。我用ios infuse播放阿凡达水之道。

在群晖DSM的资源监控里看到,CPU占用非常低,仅为8%,说明硬解工作正常了。

Emby如果需要支持硬解的话,需要购买Emby Premiere会员。如果仅出于学习目的的话,可以参考我的另外一篇博文使用Emby server开心版:NAS系统折腾记 | Emby搭建家庭多媒体服务器 - HY's Blog。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/400424.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【八股文面试】Java基础常见面试题总结(上)

Java基础常见面试题总结(上) Java有哪些特性 简单易学;面向对象(封装,继承,多态);平台无关性( Java 虚拟机实现平台无关性);支持多线程( C 语言没有内置的多…

Nginx-----------高性能的 Web服务端 location 优先级(二)

一、event事件 events {worker_connections 65536; #设置单个工作进程的最大并发连接数use epoll;#使用epoll事件驱动,Nginx支持众多的事件驱动,比如:select、poll、epoll,只能设置在events模块中设置。accept_mutex on; #on为同一时刻一个…

【二叉树层序遍历】【队列】Leetcode 102 107 199 637 429 515 116 117 104 111

【二叉树层序遍历】【队列】Leetcode 102 107 199 637 429 515 116 117 102. 二叉树的层序遍历解法 用队列实现107. 二叉树的层序遍历 II解法199. 二叉树的右视图 解法637. 二叉树的层平均值 解法429. N叉树的层序遍历515. 在每个树行中找最大值116. 填充每个节点的下一个右侧节…

如何用微软画图把1280X720的图片压缩成4:3?

最近在看20多年前的电视剧,视频截图是1280X720,比例失调。 如何压缩成4:3? 4 / 3 W / 720 W 720 X 4 / 3 960 打开画图,调整大学和扭曲(Ctrl W),依据选择像素,取消保持纵横比…

JVM原理学习

一.栈上的数据存储P95 二.堆上的数据存储 标记字段 指针压缩(节省空间 内存对齐(提高CPU缓存行效率 字段重排列方便内存对齐 类排在基本类型之后 三.JIT实时编译 优化手段 C2编译器,直接将循环相加求和优化为乘法。 方法内联 逃逸分析 四.G1垃圾回收器原理 年轻代…

【学习总结】慢SQL治理经验总结

一、慢SQL定义 执行超过1s的SQL为慢SQL 三、慢SQl的风险 系统的响应时间延迟,影响用户体验 资源占用增加,增高了系统的负载,其他请求响应时间也可能会收到影响。 慢SQL占用数据库连接的时间长,如果有大量慢SQL查询同时执行,可能…

阿里云 OSS

阿里云对象存储服务(Object Storage Service,简称 OSS) OSS 为 Object Storage Service,即对象存储服务。是阿里云提供的海量、安全、低成本、高可靠的云存储服务。 OSS 具有与平台无关的 RESTful API 接口,可以在任…

普中51单片机学习(定时器和计数器)

定时器和计数器 51单片机有两组定时器/计数器,因为既可以定时,又可以计数,故称之为定时器/计数器。定时器/计数器和单片机的CPU是相互独立的。定时器/计数器工作的过程是自动完成的,不需要CPU的参与。51单片机中的定时器/计数器是…

内核移植学习

内核移植 内核移植就是指将RT-Thread内核在不同的芯片架构、不同的板卡上运行起来。 移植可分为CPU架构移植和BSP板级支持包移植两部分。 CPU架构移植 在嵌入式领域有多种不同CPU架构,例如Cortex-M、ARM920T、MIPS32、RISC-V等等。 为了使RT-Thread能够在不同C…

第三百五十九回

文章目录 1. 概念介绍2. 使用方法3. 代码与效果3.1 示例代码3.2 运行效果 4. 内容总结 013pickers2.gif 我们在上一章回中介绍了"如何实现Numberpicker"相关的内容,本章回中将介绍wheelChoose组件.闲话休提,让我们一起Talk Flutter吧。 1. 概念…

浅谈加密算法(对称加密、非对称加密、混合加密、数字签名、哈希函数)

1、对称加密 对称加密只有一个密钥,直接使用这一个密钥对信息进行加密或解密。这样子就使得对称加密解密十分高效,计算量也相较于非对称加密小很多,适合有大量数据的场合。 密钥只有一个且他一定不能泄漏。由此分发密钥,讲这个密钥…

MyBatis---初阶

一、MyBatis作用 是一种更简单的操作和读取数据库的工具。 二、MyBatis准备工作 1、引入依赖 2、配置Mybatis(数据库连接信息) 3、定义接口 Mapper注解是MyBatis中用来标识接口为Mapper接口的注解。在MyBatis中,Mapper接口是用来定义SQL映射的接口,通…

Git 客户端可视化工具tortoisegit

Git 使用教程 git一点通 (kdocs.cn) 二、Git 客户端可视化工具-推荐 1.常用工具 tortoisegit 官网 https://tortoisegit.org/ 推荐 sourcetree 官网 https://www.sourcetreeapp.com/ 2.tortoisegit安装 2.1 下载安装包 2.2 下载语言包 2.3 安装 2.4 安装语言包 5.使用 5.1 新建…

Puppeteer 使用实战:如何将自己的 CSDN 专栏文章导出并用于 Hexo 博客(一)

文章目录 效果展示说明利用工具整体思路Puppeteer 使用笔记保持登录状态打开新的页面点击 dialog跳转页面设置页面可见窗口大小寻找元素等待元素出现 整体代码 效果展示 说明 看了看网上很少做这个功能,但是我有这个需求,就抽出时间写了个简单的工具目前…

opengl 学习着色器

一.GLSL 着色器是使用一种叫GLSL的类C语言写成的。GLSL着色器编码顺序:声明版本》定义输入输出》uniform》main函数。每个着色器的入口点是main函数,在main函数中我们处理所有的输入变量,并将结果输出到输出变量中。如下图: #ver…

RocketMQ高可用架构涉及常用功能整理

RocketMQ高可用架构涉及常用功能整理 1. 集群高可用系统架构和相关组件1.1 架构说明1.2 相关概念说明1.3 消息模型1.3.1 点对点模型1.3.2 发布订阅模型1.3.3 消息过滤 2. rocketmq的核心参数3. rocketmq常用命令4. 事务性4.1 数据写入流程4.2 数据读流程4.3 事务消息 5. 疑问和…

QT_day2

1.思维导图 2.使用手动连接,将登录框中的取消按钮使用qt4版本的连接到自定义的槽函数中,在自定义的槽函数中调用关闭函数 将登录按钮使用qt5版本的连接到自定义的槽函数中,在槽函数中判断ui界面上输入的账号是否为"admin"&#xff…

哈希应用 | 布隆过滤器概念 | 代码实现 | 哈希切割

文章目录 1.布隆过滤器1.1.布隆过滤器的基本概念1.2.代码实现1.3.测试代码分析误判率1.4.布隆过滤器的优点1.5.关于几道面试题 关于位图:往期分析的 博客链接 1.布隆过滤器 1.1.布隆过滤器的基本概念 布隆过滤器的引出 位图使用1个比特位 直接定址法,…

深入浅出JVM(一)之Hotspot虚拟机中的对象

本篇文章思维导图 对象的创建 对象的创建可以分为五个步骤:检查类加载,分配内存,初始化零值,设置对象头,执行实例构造器 类加载检查 HotSpot虚拟机遇到一条new指令,会先检查能否在常量池中定位到这个类的符号引用,检查这个类是否类加载过 没有类加载过就去类加载类加载过就进…

中国 AI 开课速度直逼美国 AI 颠覆性创新速度

原文链接: 中国 AI 开课速度直逼美国 AI 颠覆性创新速度 今日热帖,有网友发帖称:Sora 和 ChatGPT 告诉我们,美国确实是遥遥领先,而且还越拉越远。 是不是遥遥领先暂且不说,但领先我们的确是事实。 主要是…
最新文章