fnos-i915-sriov-kmod
飞牛私有云 (fnOS) 的 Intel 核显 SR-IOV 驱动 安装包(FPK)。
它和飞牛官方应用商店里的应用不一样:这是一个「编译安装」型驱动包,不是点装即用的预编译程序。 官方应用商店里的应用都是打包好的二进制,安装即用、由飞牛统一更新;而本 FPK 装的是内核驱动,安装时会在你的飞牛上用 DKMS 现场编译内核模块(需等待几分钟,并自动补齐 gcc / make / 内核头文件),编译完刷入 initramfs、重启即生效。
底层驱动源自社区上游 strongtz/i915-sriov-dkms(GPL-2.0)。装好后飞牛(作为宿主机)可开启 Intel 核显 SR-IOV,把核显切出多个虚拟核显(vGPU / VF),分配给飞牛内的虚拟机或 Docker 使用,实现多虚拟机共享核显硬解转码。
为什么是「编译安装」而不是进官方商店? 内核驱动必须和当前内核版本严格对应——飞牛一升级内核,驱动就得针对新内核重新编译,没法像普通应用那样一次打包永久通用。本 FPK 把这件事做成了最简路径:飞牛升级内核后,你只需在应用中心卸载本 FPK、再重新安装一次,它就会自动针对新内核重新编译,不用开 SSH、不用手敲 DKMS 命令。
适用前提(务必先确认)
- 飞牛为物理机直装(飞牛本身是宿主机),且 CPU 为支持 SR-IOV 的 Intel 核显(典型为 11 代及之后的酷睿核显)。
- 受支持内核:当前仅
6.17–6.19 与 7.0(上游 dkms.conf 的 BUILD_EXCLUSIVE_KERNEL 限制)。飞牛当前内核 6.18 在范围内;若飞牛升级到不在范围的版本,模块不会编译,安装脚本会明确提示。
- 非 Intel 核显、或不需要给虚拟机/Docker 分配 vGPU 的机器,安装本应用没有意义。
与官方应用商店应用 / 手动编译方案的区别
官方应用商店里的应用都是预编译好的二进制、点装即用;而本 FPK 装的是内核驱动,本质是**「编译安装」。手动编译方案是“每次 SSH 手敲一遍 DKMS 命令”;本 FPK 把这套过程做成了应用中心一键安装:仅在安装时针对当前内核编译并刷新 initramfs;飞牛更新内核后应用会自动显示“已停止”,点击启动会提示卸载本 FPK 再重新安装**即可自动重新编译(无需 SSH、无需手敲命令)。
-
check_toolchain():检测 dkms / gcc / make / 当前内核头文件,缺失先尝试 apt 补装,仍失败则明确报错并给出手动命令(不静默坏)。
-
DKMS add → install(--force 现场编译,覆盖飞牛自带 i915),随后 depmod -a + update-initramfs -u -k "$(uname -r)"。
-
仅在安装时编译,运行时不做后台重编:
-
编译发生在安装本应用(service_postinst)时:针对当前内核 dkms install --force 现场编译、随后 depmod -a + update-initramfs -u -k "$(uname -r)",重启飞牛即生效。
-
不再安装内核更新钩子,飞牛更新内核后不会自动重编。
-
内核变化检测(比对当前 uname -r 与安装时记录的内核基准文件 /etc/i915-sriov-kver),分两处协同:
daemon_status(fnOS 开机和状态查询的唯一入口):内核不一致 → 直接返回"未运行",应用在飞牛界面自动显示已停止。
start_daemon(用户点击启动时):内核不一致 → 报错并引导「前往应用中心卸载并重新安装本应用」以重新编译驱动(不会自动重编,避免并发冲突与不确定行为)。i915 为开机关键驱动、不能热换,真正接管需等下一次重启。
-
源码随 FPK 一并打包,安装时不联网下载任何外部包。
安装
-
在飞牛应用中心 → 手动安装 → 选择 i915-sriov-kmod_1.0.0_x86.fpk。
安装进度卡在 55% 属正常现象:此时正在后台编译驱动(DKMS 现场编译内核模块),请耐心等待,不要取消或重复安装。实测 N150 CPU 约需 6 分钟,性能越弱耗时越长。

-
安装完成后重启飞牛。
-
验证:SSH 登录飞牛执行
若输出中包含 renderD128(或类似 renderD* 节点),说明 SR-IOV 版核显驱动已生效,可硬解。进一步验证 SR-IOV 能力:
需要切出 vGPU 时,向 sriov_numvfs 写入所需数量(或通过 /etc/modprobe.d/i915-set-sriov-numvfs.conf 配置后重启)。
风险与回退
- 本驱动替换系统自带 i915 模块。安装后必须重启才能生效;重启前飞牛仍用原驱动。
- 若编译/适配异常导致显示或硬解异常:在应用中心卸载本应用并重启飞牛,即恢复系统原 i915 驱动。
- SR-IOV 的 VF 数量默认见
i915-set-sriov-numvfs.conf(默认 7),可修改后重启调整。
源码与许可