KP920+BMC+GPU OS下同显问题

问题描述

KP920+BMC+GPU的方案,能否支持OS下BMC的VGA和GPU的HDMI同时显示?BMC侧是否需要驱动调试配合?是否有限制?

环境信息

  • 操作系统:银河麒麟V10

  • 软件版本:ibmc 3.01.00.10

  • 硬件配置:KP920/KP920S+1711BMC+GPU(JH920/GP201)

重现步骤

  1. 上电进OS显示

期望结果

BMC VGA和GPU HDMI可以同时显示

实际结果

单独BMC显示或者单独GPU显示都可以,但是同显不行。

尝试过的解决方案

BIOS调试无效

分析结论

实测无法显示

答案内容由AI生成,仅供参考:

结论

项目 判断
是否支持 BMC VGA 与 GPU HDMI “同显”? :cross_mark: 在当前环境(iBMC 3.01.00.10 + HI1711 + KP920)下 不支持
是否需要 BMC 驱动配合? :white_check_mark: 是,需要 BMC 图形驱动(如 hibmc_drm)支持持久输出模式,并在 OS 启动后继续保持激活状态
是否有硬件限制? :warning: 无物理链路冲突,但系统设计上未考虑双显并行输出
是否有固件限制? :white_check_mark: 有。VGA 输出在 ubmc/iBMC 架构演进中已被逐步弃用;旧版 iBMC 虽保留 VGA,但未开放持续输出控制开关
点击此处查看详细分析解答

KP920+BMC+GPU 方案下 VGA 与 HDMI 同显问题分析

问题概述

在 KP920/KP920S + HI1711 BMC + GPU(如 JH920/GP201) 的硬件架构中,用户尝试实现操作系统(银河麒麟 V10)启动后,BMC 的 VGA 输出与 GPU 的 HDMI 输出能够同时显示画面(即“同显”)。当前实测结果为:

  • 单独使用 BMC VGA 显示正常
  • 单独使用 GPU HDMI 显示正常
  • 但两者无法同时输出显示内容

当前系统配置信息

项目 说明
硬件平台 Kunpeng 920 (KP920/KP920S)
BMC 模块 HI1711 BMC(支持 iBMC 软件)
GPU 设备 JH920 或 GP201,通过 PCIe 接口连接
操作系统 银河麒麟 V10
BMC 版本 iBMC 3.01.00.10
显示接口 BMC 提供 VGA,GPU 提供 HDMI

可行性分析

1. BMC 显示机制

BMC 提供的 VGA 显示功能依赖于其内置的图形控制器(如 hibmc_drm 驱动),通常用于:

  • 系统启动阶段的远程 KVM 显示
  • 故障诊断与带外管理

该显示通道是独立于主机 OS 图形栈的,但在某些固件版本中(特别是从 iBMC 向 openUBMC/ubmc 演进过程中)存在以下限制:

  • VGA 输出在 OS 启动后被关闭或锁定
  • 不支持与主机 GPU 多显并行输出
  • 在升级为 ubmc 后,VGA 输出已被移除(见知识库文档)

:red_circle: 关键事实:
根据文档和用户反馈:“更新成 ubmc 之后,vga 显示没有啦”,说明新一代 BMC 架构已逐步弃用 VGA 模拟输出。


2. GPU 显示机制

GPU(如 JH920 或 GP201)通过 PCIe 与 Kunpeng 920 CPU 直连,在 OS 层由显卡驱动(如 nvidia.ko 或国产 GPU 驱动)控制 HDMI 输出。

此显示路径属于 主机操作系统图形子系统 的一部分,与 BMC 显示无直接耦合。


3. “同显” 是否支持?

:white_check_mark: 支持条件:

  • BMC VGA 和 GPU HDMI 是两条独立的显示链路
  • 两者可以通过不同的帧缓冲设备(framebuffer)在底层同时输出信号

:cross_mark: 实际限制:

限制点 说明
硬件资源冲突 在部分 KP920 平台设计中,BMC 的 VGA 输出仅在预操作系统阶段激活(如 BIOS 或 BMC KVM),进入 OS 后系统会主动关闭 VGA 输出以节省资源或避免干扰
驱动与固件不支持 当前 HI1711 + iBMC 3.01.00.10 固件版本中,未提供接口或配置项允许持续启用 VGA 输出 与 GPU 输出共存
BMC 显示驱动未适配持续输出模式 hibmc_drm 驱动主要服务于 KVM 远程访问场景,并不支持持久性本地 VGA 输出,尤其是当操作系统接管控制权后
BIOS 设置无法启用多显输出 用户已尝试调试 BIOS 无果,说明 BIOS 层未暴露相关配置选项

4. KVM 与 VGA 的关系

BMC 提供的 VGA 输出内容通常与 KVM(Keyboard, Video, Mouse) 接口同步:

  • KVM 提供远程桌面访问能力
  • VGA 是其本地镜像输出

:warning: 但知识库指出:“KVM 和 VGA 都显示‘NO SIGNAL’”,说明二者共享同一视频源,且该源可能在 OS 启动后被切断。

同时,存在如下描述:

“原本的 ibmc 下,BMC 作为 KVM 和 VGA 显示有输出,但是更新成 ubmc 之后,VGA 显示没有啦”

表明:VGA 输出功能已在新架构中被有意移除或禁用,作为向纯远程管理演进的趋势。


结论

项目 判断
是否支持 BMC VGA 与 GPU HDMI “同显”? :cross_mark: 在当前环境(iBMC 3.01.00.10 + HI1711 + KP920)下 不支持
是否需要 BMC 驱动配合? :white_check_mark: 是,需要 BMC 图形驱动(如 hibmc_drm)支持持久输出模式,并在 OS 启动后继续保持激活状态
是否有硬件限制? :warning: 无物理链路冲突,但系统设计上未考虑双显并行输出
是否有固件限制? :white_check_mark: 有。VGA 输出在 ubmc/iBMC 架构演进中已被逐步弃用;旧版 iBMC 虽保留 VGA,但未开放持续输出控制开关

建议解决方案

:white_check_mark: 方案一:放弃 BMC VGA 输出,统一使用 GPU HDMI 显示

  • 关闭 BMC VGA 输出,所有本地显示通过 GPU 实现
  • 确保 GPU 驱动在银河麒麟 V10 中正确安装
  • 推荐用于生产环境

:white_check_mark: 方案二:使用 BMC KVM 功能进行远程显示,本地使用 GPU HDMI

  • 远程管理 使用 iBMC 提供的 KVM over IP 功能(端口 2198)
  • 本地操作 使用 GPU HDMI 输出
  • 实现“逻辑同显”效果(远程+本地)

:white_check_mark: 支持多用户、多终端接入,更符合现代服务器管理范式

:warning: 方案三(高风险):定制化开发以维持 VGA 输出

  • 修改 BMC 固件,强制保持 hibmc_drm 驱动激活
  • 修改主机 OS 启动脚本,防止禁用 BMC 显示设备
  • 可能涉及:
    • 自定义内核参数(如 video=)
    • 禁用 systemd 对 fb 设备的释放行为
    • 与 iBMC 协议协商保留显示资源

:light_bulb: 此方案难度高、稳定性差,仅建议用于测试或特殊用途


最终建议

:red_circle: 当前技术架构下,KP920+BMC+GPU 不支持 BMC VGA 与 GPU HDMI 在 OS 下同时显示。

:green_circle: 推荐采用 “BMC KVM 远程显示 + GPU HDMI 本地显示” 的组合模式,既能满足远程管理需求,又能保障本地操作体验。

:hammer_and_wrench: 若未来迁移到 openUBMC 架构,请注意:

  • VGA 输出将彻底移除
  • 所有显示管理将转向 KVM + Redfish API + WebUI
  • 应提前规划基于 IP 的远程访问机制,而非依赖物理 VGA 接口

:books: 参考资料:

如果是BMC驱动问题,联系哪个窗口可以协助支持解决?

这个涉及到硬件方案,建议咨询一下对应的硬件。

可以在鲲鹏社区咨询一下: 鲲鹏论坛

您好,我看上面AI Assistant回复是BMC驱动限制,这个结论正确吗?如果项目上要支持BMC+GPU同显,需要什么样的流程来推动驱动支持和实现呢?

不明白为什么要转到鲲鹏社区咨询硬件?

谢谢!

如果要支持同显,首先硬件要支持能力。openUBMC社区也不太感知具体板卡的驱动。

谢谢回复。硬件那边我有单独咨询过,没有提到这方面的限制信息。 请问上面Assistant的回复能作为问题结论吗?

一般对于功能,是有明确能力才能确保支持,而不是没有宣称没有就是支持。