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

news2024/12/26 23:47:59

常见的群晖机器,例如 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.coloradmin.cn/o/1461717.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

BioTech - 大型蛋白质复合物的组装流程 (CombFold)

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/136187314 CombFold是用于预测大型蛋白质复合物结构的组合和分层组装算法,利用AlphaFold2预测的亚基之间的成对相互作用。CombFold的组…

golang实现图片上传

实现个图片上传,记录一下 我这里是采用的调试工具,apipost去直接上传的,参数值选择file即可 上传的图片,两种方式,一是用原来的文件名,直接file.Filename即可。 func Upload(c *gin.Context) {file, _ : …

基于SSM实现的人事管理系统(源代码+数据库脚本)

文章目录 系统介绍技术选型成果展示账号地址及其他说明源码获取 系统介绍 系统演示 微信视频号:【全栈小白】查看视频 基于SSM实现的人事管理系统使用JavaEE开发,基于SpringMVCMybatis框架,该项目包含了用户管理、部门管理、职位管理、员工…

为什么在MOS管开关电路设计中使用三极管容易烧坏?

MOS管作为一种常用的开关元件,具有低导通电阻、高开关速度和低功耗等优点,因此在许多电子设备中广泛应用。然而,在一些特殊情况下,我们需要在MOS管控制电路中加入三极管来实现一些特殊功能。然而,不同于MOS管&#xff…

Sora:视频生成模型作为世界模拟器

我们探索了视频数据上生成模型的大规模训练。具体来说,我们在可变持续时间、分辨率和长宽比的视频和图像上联合训练文本条件扩散模型。我们利用了一个在视频和图像潜在码的时空块上操作的变压器架构。我们规模最大的模型 Sora 能够生成一分钟的高保真视频。我们的结…

mybitsPlus乐观锁@Version案例测试,发现有失效的情况

mybitsPlus乐观锁Version案例测试,发现有失效的情况 一、案例 Data TableName("NEWTABLE_TEST") ApiModel(value "BusBalance对象", description "额度表") public class NewTableTest {private static final long serialVersion…

Servlet中的请求与响应

Request和Response 1.Request和Response的概述2.Request对象2.1 Request继承体系2.2 Request获取请求数据2.3 解决post请求乱码问题 *2.4 Request请求转发(-,*)2.5 request的生命周期 3.HTTP响应详解(理解)1.使用抓包查看响应报文协议内容2.HTTP响应报文协议介绍 4.…

[notice] A new release of pip is available: 23.2.1 -> 24.0

翻译之后:〔通知〕新版本的pip可用:23.2.1->24.0 就是说,你的pip版本需要从当前的 23.2.1 升级到最新版本 24.0,执行如下命令: cmd命令以管理员身份进入目录 ${Python}\Python3.12.1\Scripts下,执行 p…

分享金媒v10.3开源系统中CRM线下客户管理系统使用指南和小程序上架细分流程

本系统金媒婚恋开源系统v10.3也叫择爱系统目前最新版全开源包括OElove最新版10.0都是最新但是很多客户不动CRM使用流程我就按照流程给大家介绍下如果大家对程序感兴趣也可以分享给你看我昵称里可以Q我,请注明:CSDN网友 ●本系统红娘分两种,一…

杂题——1028: [编程入门]自定义函数求一元二次方程

题目描述 求方程 的根,用三个函数分别求当b^2-4ac大于0、等于0、和小于0时的根,并输出结果。从主函数输入a、b、c的值。 输入格式 a b c 输出格式 x1? x2? 样例输入 4 1 1 样例输出 x1-0.1250.484i x2-0.125-0.484i 分析: 注意输出的格式和…

论文阅读——SqueezeSAM

SqueezeSAM: User-Friendly Mobile Interactive Segmentation 比SAM更小,更快。 框架: 使用的U型结构 使用BatchNorm而不是LayerNorm节省计算; 对于用户点击和框,单独作为通道,前融合和后融合(sam只有后融…

QML | 信号和信号处理器特性

信号和信号处理器特性 很多时候,应用程序的用户界面组件需要相互通信。例如,一个按钮需要知道用户是否进行了单击:当用户单击后,它可能会更改颜色来指示它状态的改变,或者执行一些逻辑代码实现一定的功能。同Qt一样,QML包含了相似的信号和信号处理器机制。 信号是发出事件…

惠尔顿安全审计系统任意文件读取漏洞

免责声明:文章来源互联网收集整理,请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该…

每日OJ题_二叉树dfs③_力扣814. 二叉树剪枝

目录 力扣814. 二叉树剪枝 解析代码 力扣814. 二叉树剪枝 814. 二叉树剪枝 难度 中等 给你二叉树的根结点 root ,此外树的每个结点的值要么是 0 ,要么是 1 。 返回移除了所有不包含 1 的子树的原二叉树。 节点 node 的子树为 node 本身加上所有 n…

读书笔记-增强型分析:AI驱动的数据分析、业务决策与案例实践

目录 前言 运用人工智能技术,可以使人类社会变得更美好。人们总是期待产品更适合、服务更贴心、生活更便利。在实践中,技术给企业赋能,企业通过优质的产品和服务满足社会,提升人类福祉。很多金融企业已经开始尝试向潜在客户推送…

使用JavaVisualVM排查FullGC问题

1.工具准备 在这里使用 jdk/bin 目录下的 jvisualvm.exe,是自带工具。 2.工具使用 将下载到本地的dump 文件导入工具中,会展示各个类的实例数占比,大小占比。 3.问题排查 前期准备 在分析dump文件之前,我们可以先观察应用中接…

01 前言

目录 什么是CC发展史C的重要性如何学习C关于本专栏 1. 什么是c C语言是结构化和模块化的语言,适合处理较小规模的程序。对于复杂的问题,规模较大的程序,需要高度的抽象和建模时,C语言则不合适。为了解决软件危机, 20…

一文了解大数据生态

大数据一词最早指的是传统数据处理应用软件无法处理的过于庞大或过于复杂的数据集。 现在,对“大数据”一词的使用倾向于使用预测分析、用户行为分析或者其他一些从大数据中提取价值的高级数据分析方法,很少用于表示特定规模的数据集。 定义 大数据是…

机器视觉系统选型-为什么还要选用工业光源控制器

工业光源控制器最主要的用途是给光源供电,实现光源的正常工作。 1.开关电源启动时,电压是具有波浪的不稳定电压,其瞬间峰值电压超过了LED灯的耐压值,灯珠在多次高压冲击下严重降低了使用寿命; 2.使用专用的光源控制器&…

Netty中的PooledByteBuf池化原理剖析

PooledByteBuf PooledByteBuf是池化的ByteBuf,提高了内存分配与释放的速度,它本身是一个抽象泛型类, 有三个子类:PooledDirectByteBuf、PooledHeapByteBuf、PooledUnsafeDirectByteBuf. Jemalloc算法 Netty的PooledByteBuf采用与jemalloc一…