**设备环境**
- 安装方式:物理机直装
- CPU/核显:Intel Haswell(设备 ID 0412,核显 HD 4600)
- 系统版本:fnOS 1.1.3102(更新后出现问题)
- 安装方式:物理机直装,非虚拟机
BUG 现象
系统更新后,飞牛影视中 GPU 硬解对绝大多数片源失效,转码直接报错无法播放。
更新前硬解一切正常,更新后出现以下现象:
- 部分片源(RealMedia/RV40 等 CPU 解码格式)可以播放,但 GPU 编码阶段失败
- 其余 H.264 等正常片源,开启 GPU 转码后直接失败,无法播放
日志关键报错(sudo journalctl -u mediasrv)
libva error: /usr/trim/lib/mediasrv/lib/dri/iHD_drv_video.so init failed
libva info: Trying to open /usr/trim/lib/mediasrv/lib/dri/i965_drv_video.so
libva info: va_openDriver() returns 0
[h264_qsv @ 0x...] Error during encoding: device failed (-17)
同时出现:
Failed to get device id from the driver.
Please consider to upgrade the driver to support VA-API 1.15.0
问题分析
mediasrv 内置的 libva 栈(位于 /usr/trim/lib/mediasrv/lib/dri/)在本次更新后优先加载 iHD_drv_video.so,而该驱动从 Broadwell(5代)起才支持,Haswell(4代)永不在支持范围内,因此初始化失败。
虽然随后回落到 i965_drv_video.so 并加载成功,但 h264_qsv 编码器的设备上下文已在前一步初始化失败,无法恢复,导致编码阶段持续报 device failed (-17)。
更新前的旧版 mediasrv 没有此问题,说明是本次更新引入的兼容性回退。
期望
希望官方针对 Haswell 等老平台,在 mediasrv 的 libva 初始化逻辑中,跳过不支持的 iHD 驱动,直接使用 i965,并确保 QSV 编码器在 i965 环境下能正常初始化。或提供针对老平台的临时配置项,在官方修复前可手动绕过此问题。
同平台的朋友可以在评论区确认一下是否有相同情况,方便官方判断影响范围。