Jim's Blog
Toggle navigation
Jim's Blog
Home
About Me
Archives
Tags
支持 11 代英特尔核显硬解的群晖 SA6400 7.1 核显驱动安装教程
2023-02-14 04:20:10
68619
0
0
jim
> 未经授权,禁止转载 > 授权转发如下: > Tank:https://www.mi-d.cn/4666 > 老高:https://www.bilibili.com/video/BV1eT411D7zb > 网站评论使用 Disqus,需要评论请科学上网。 # 置顶信息 本文仅提供基于 SA6400 7.1 的英特尔 11 代核显驱动安装教程,如存在无法硬解等情况,可以发送内核日志以及套件或者容器日志,以供分析排查问题。 目前已经有其他大佬开源了基于 `intel-gpu-i915-backports` 的核显驱动:https://xpenology.com/forum/topic/69865-i915-driver-for-sa6400/,喜欢自己动手的朋友可以按照文章自行尝试安装核显驱动,如果有安装疑问或者不可使用等情况,也可以捐赠进群交流,使用本博客的核显驱动。 **本博客提供的核显驱动是基于 `linux-intel-lts` 构建。捐赠群有共享最新的 SA6400 7.2 相关的直通卡、优化后的核显驱动,欢迎捐赠(100 RMB+)进群,二维码见文章末尾。** 当前捐赠群友获取支持的驱动特性和功能: * 支持 12&13&14 代核显硬解、SR-IOV * 支持常见的 LSI 2308&3008 直通卡(优化已贡献给了 RR 引导) * 支持英特尔处理器虚拟化 * 支持 ESXi 直接引导群晖(部分优化已贡献给了 RR 引导) * 支持 NVMe&U2 纯固态启动 * 支持绿联 DX4600 风扇自定义转速 # 导言 常见的群晖机器,例如 **DS920+**,**DS918+**,系统内核一直是 **4.4** 的,而这个内核自带的核显驱动最高支持到 **9** 代,魔改后可以支持 **10** 代,这是极限了,**11** 代以后的核显一直无解。 去年 10 月,曙光出现了,群晖更新了 **SA6400** 的工具链(https://archive.synology.com/download/ToolChain/toolchain/7.1-42661)和安装包(https://archive.synology.com/download/Os/DSM/7.1.1-42962),从工具链来看,支持的系统为:**AMD x86 Linux Linux 5.10.55 (epyc7002)** ,是新的 **5.10** 内核,而 **5.10** 内核做为 LTS 版本,最高支持到英特尔 **11** 代核显,不过可惜的是由于是 **AMD** 的机器,群晖就没有开启关于核显相关的所有驱动。 # 开发工作 从上面的描述来看,想要 **11** 代核显硬解的话,就需要做到一下两步: 1. 移植 **redpill lkm**,支持 **SA6400** 的 **5.10** 内核 2. 重新编译关于所有核显相关的驱动 ## 1. redpill-lkm5 那先解决第一步,移植 **redpill lkm**,主流的 loader 是 **popopico** 的 `TCRP` 和 **fbelavenuto** 的 `arpl`,在 xpenology 论坛(https://xpenology.com/)有讨论支持 SA6400 开发的事情,感谢各位大哥的讨论开发,新开了 **redpill lkm5** 仓库,支持了群晖的 5.10 内核,可以正常安装 SA6400。 ## 2. 核显驱动 这一步就非常繁琐了,在固定配置的内核下,添加没有编译进去的核显驱动,就需要先手动打开所有的依赖,然后把需要固化却没有固化在内核里的代码给重新导出,核显驱动的依赖在内核里应该是最多了,编译起来非常繁琐,这里就跳过了,如果对这方面感兴趣的,可以留言,后面可以添加一下经验之谈。 移植的代码,主要涉及到: * 重写部分内核函数,补齐核显依赖的代码 * 强制导出部分内核未导出的函数 * 修改驱动里使用的函数名称,并重新编译各个驱动 看一下具体重新编译和移植的内核模块: ![modules-sa6400.png](/api/file/getAttach?fileId=63eb0e7040527c000c000778) ## 3. 支持的核显列表 理论上 11 代之前的核显默认都支持的,以下是当前支持的 11 代核显代号列表 * Jasper Lake * Elkhart Lake * Tiger Lake * Rocket Lake 理论上向下兼容,10 代及以下的核显都是支持的,不过相关的驱动在其他机型均已有大佬适配过了。 # 引导镜像下载与安装 当前开源的引导比较多,本文与时俱进,基于 arpl-i18n(rr):https://github.com/wjz304/rr/releases,进行测试。 ## 1. 下载测试引导 > 仅供测试,不对任何系统损坏、数据丢失负责。 > 推荐虚拟机直通核显测试,稳定后再尝试物理机安装。 > 推荐用我测试过的引导版本,如果最新版 rr 不正常,请使用 23.11.2 或者 23.11.4 版本的 rr https://github.com/wjz304/rr/releases/download/23.11.2/rr_4GB-23.11.2.img.zip ## 2. 系统下载地址 https://global.synologydownload.com/download/DSM/release/7.1.1/42962-6/DSM_SA6400_42962.pat ## PVE 安装步骤 ### 1. 安装群晖 SA6400 本文使用模拟 U 盘启动群晖。 模拟 U 盘的虚拟机需要的特殊配置: 1. 选择机型为 q35 2. 启用 SeaBIOS,或者选择 UEFI 后进入 BIOS 关闭安全启动 3. 选项 (Options) 下的启动顺序(Boot Order)全部取消 4. 在 `/etc/pve/qemu-server/虚拟机id.conf` 里添加下面这行(注意修改镜像路径): ``` args: -device 'nec-usb-xhci,id=usb-bus0,multifunction=on' -drive 'file=/path/to/rr.img,media=disk,format=raw,if=none,id=drive-disk-bootloader' -device 'usb-storage,bus=usb-bus0.0,port=1,drive=drive-disk-bootloader,id=usb-disk-bootloader,bootindex=999,removable=on' ``` arpl-i18n(rr)参数选择: * Model:SA6400 * Build Number:7.1(只能选择 7.1,本文测试的核显驱动仅支持 7.1) 其他请参数 arpl-i18n 的构建步骤。 相关截图: * 构建与启动 ![rr-build.png](https://blog.jim.plus/api/file/getAttach?fileId=653f9b6740527c000c006b41) * 安装系统 ![dsm-install.png](/api/file/getAttach?fileId=63eb0a3340527c000c000776) * 系统信息 ![rr-info.png](https://blog.jim.plus/api/file/getAttach?fileId=653fa3e540527c000c006b72) ### 2. 安装核显驱动 执行下面的命令,安装核显驱动 ``` curl https://cdn.jim.plus/synology/drivers/scripts/sa6400-7.1-i915-installer.sh | sh ``` > 友情提示:上面脚本仅支持 SA6400 7.1,强制在 SA6400 7.2 安装会造成机器直接死机、进程异常等等。 执行成功的输出: ``` bash-4.4# dmesg | grep i915 [ 14.012501] i915 0000:01:00.0: Invalid PCI ROM header signature: expecting 0xaa55, got 0xa5b0 [ 14.014298] i915 0000:01:00.0: [drm] Failed to find VBIOS tables (VBT) [ 14.015620] i915 0000:01:00.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=none:owns=none [ 14.020214] i915 0000:01:00.0: [drm] Finished loading DMC firmware i915/icl_dmc_ver1_09.bin (v1.9) [ 15.010812] i915 0000:01:00.0: [drm] failed to retrieve link info, disabling eDP [ 15.027458] i915 0000:01:00.0: [drm] GuC firmware i915/ehl_guc_33.0.4.bin version 33.0 submission:disabled [ 15.029215] i915 0000:01:00.0: [drm] HuC firmware i915/ehl_huc_9.0.0.bin version 9.0 authenticated:yes [ 15.032766] [drm] Initialized i915 1.6.0 20200917 for 0000:01:00.0 on minor 0 [ 15.034109] i915 0000:01:00.0: [drm] Cannot find any crtc or sizes [ 15.035312] i915 0000:01:00.0: [drm] Cannot find any crtc or sizes bash-4.4# lsmod | grep i915 i915 2170880 0 video 53248 1 i915 drm_mipi_dsi 24576 1 i915 backport_sa6400 24576 1 i915 drm_kms_helper 200704 1 i915 fbcore 106496 2 drm_kms_helper,i915 drm 434176 3 drm_kms_helper,i915 backlight 16384 3 video,i915,drm hdmi 24576 2 i915,drm backport_dma_buf 57344 3 drm_kms_helper,i915,drm i2c_algo_bit 16384 1 i915 bash-4.4# ls /dev/dri/ by-path card0 renderD128 ``` 看到熟悉的 `/dev/dri/` 后,就代表核显驱动已经正常了。 > 本文仅提供 SA6400 7.1 的核显驱动,SA6400 7.1 在 11 代处理器下,完全可以正常使用。SA6400 7.2 及以后的核显驱动,仅限分享给捐赠过的网友。 ## 核显硬解测试 之前在硬酷 R1 PVE 上测试过,相关驱动可硬解,具体安装、硬解测试可参考老高的视频:https://www.bilibili.com/video/BV1eT411D7zb # 关于 12&13 代英特尔核显和英伟达显卡 12&13 代英特尔核显目前代码已经移植完毕,N100和 i3 13100 处理器上的核显测试通过,除了不可接显示器外,核显硬解测试通过。 英伟达显卡官方已经开源了驱动,测试可以正常加载,会在后续文章中开发编译好的驱动下载。 # 捐贈 如果需要最新的核显相关驱动,可以捐赠我们获取驱动支持,以鼓励项目能持续发展,更加完善。 ## PayPal https://paypal.me/jim3ma ## 微信二维码 ![wechat.png](https://blog.jim.plus/api/file/getAttach?fileId=653fa6da40527c000c006b75) ## 群晖驱动 QQ 交流群(精力有限,仅限捐赠超过 100RMB 的用户,抱歉) > 交流群仅用于 Linux 开源驱动、英特尔开源核显驱动、英伟达开源独显驱动讨论安装 > 申请进群请填写捐赠时间(具体到分钟)和用户昵称,方便核实。有其他需求不方便加群、或者加群失败的也可以邮件联系咨询:majinjing3#gmail.com(#替换为@) ![qq-group.png](https://blog.jim.plus/api/file/getAttach?fileId=653fa6d940527c000c006b74) # 声明 本文所有的核显相关驱动均基于 GPL 源码构建,英特尔核显相关代码位于:https://github.com/torvalds/linux/tree/v5.10/drivers/gpu/drm/i915 所有捐赠用户可获取基于 GPL 开源代码构建的驱动,同时所有捐赠将用于网站服务器搭建和测试软硬件的购买。 # 相关源码 * 群晖 GPL 源码 https://archive.synology.com/download/ToolChain/Synology%20NAS%20GPL%20Source * 群晖开源引导 https://github.com/wjz304/rr * Linux 内核源码 https://github.com/torvalds/linux/tree/v5.10
Pre:
如何创建一个纯 NVMe 固态的群晖
Next:
硬酷 R1 LACP 万兆 iperf3 简单测试
0
likes
68619
新浪微博
微信
腾讯微博
QQ空间
人人网
Please enable JavaScript to view the
comments powered by Disqus.
comments powered by
Disqus
Table of content