[ Technical exchange] 玲珑扩展驱动裁剪版在 N150 上初始化失败
Tofloor
poster avatar
柒玖
deepin
2026-05-13 14:47
Author

问题1:玲珑扩展驱动裁剪版在 N150 上初始化失败

排查日期:2025-05-13
系统:Deepin 25 (crimson) | 内核 6.18.27 | Mesa 25.0.7-2
硬件:Intel N150 (ADL-N, device ID 46d4)
玲珑版本:linglong-bin 1.12.2 / linglong-box 2.1.2

一、现象描述

玲珑包「影院」「浏览器」「Edge」播放视频均为 CPU 软解,未调用核显硬解。
同一台机器上,宿主机原生应用(VLC、ffmpeg、mpv、Chromium 139)均能正常使用 VA-API 硬解。

二、根因定位

玲珑容器内 VA-API 驱动搜索路径(LIBVA_DRIVERS_PATH):
/usr/lib/x86_64-linux-gnu/dri:/opt/extensions/org.deepin.driver.media.intel/lib/dri

路径一 /usr/lib/x86_64-linux-gnu/dri/ :不存在 iHD_drv_video.so
路径二(扩展提供的驱动):存在 iHD_drv_video.so,但初始化失败

2.1 宿主机 vs 玲珑扩展驱动文件对比
宿主机 iHD 驱动(来自 intel-media-va-driver-non-free 24.2.2):
路径:/usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
大小:37,310,136 字节(约 37 MB)
版本:Intel iHD driver - 24.2.2

玲珑扩展 iHD 驱动(org.deepin.driver.media.intel version 25.0.0.0):
大小:14,621,176 字节(约 14.6 MB)
MD5:d5c4a46af8908cae57a7cc143922ac38(与宿主机 MD5 b18e4682c851de4c75b6e374520deea5 不同)
仅为宿主机驱动大小的 39%

2.2 驱动初始化测试
测试 A(扩展自带驱动,14.6MB):
-> 导出 __vaDriverInit_1_20 函数,但 va_openDriver() 返回 1(失败)
-> 回退到 i965_drv_video.so,同样 init failed
-> vaInitialize 返回 -1,完全不可用

测试 B(宿主机驱动,37MB):
-> 通过 /run/host/rootfs/usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so 加载
-> __vaDriverInit_1_20 导出,va_openDriver() 返回 0(成功)
-> vainfo 正常输出所有支持格式(AV1/HEVC/VP9/H.264 等)
-> 证明宿主机驱动在容器内完全可用

三、结论

玲珑扩展 org.deepin.driver.media.intel 提供的 iHD_drv_video.so(14.6MB)
在 Intel N150 (ADL-N, Gen12) 上初始化失败,无法用于视频硬解。

扩展驱动体积仅为宿主机正常驱动的 39%,且 MD5 完全不同,推断为:

  • 从不同的源码版本构建(可能是旧版本或裁剪版本)
  • 缺少 N150 / ADL-N 所需的某些初始化模块或固件加载代码

此问题导致所有依赖玲珑容器运行的应用(影院、浏览器、Edge)均无法使用
VA-API 硬解,只能回退到 CPU 软解。

Reply Favorite View the author
All Replies

No replies yet