试用 LVGL Pro — 高效构建、测试、分享和交付 UI 的完整工具包!
LVGL
版本发布

LVGL v9.5 正式发布

LVGL v9.5 带来了原生模糊和阴影渲染、全新重写的 Wayland 驱动(支持 EGL)、NanoVG OpenGL 渲染后端、运行时 glTF 操控以及 RISC-V 向量扩展加速。

安德烈·科斯塔安德烈·科斯塔15 分钟阅读

简介#

我们很高兴地宣布 LVGL v9.5 正式发布。在过去几个版本中,我们一直在系统性地拓展 MPU 级硬件上的能力边界——引入 3D 渲染、GPU 后端和更完善的驱动支持,同时不损害 LVGL 在资源受限 MCU 上的轻量与高效。v9.5 延续了这一方向。

本次发布新增了纯软件实现的模糊和阴影渲染,引入了 RISC-V SIMD 加速以提升支持向量扩展的处理器上的软件渲染性能。同时带来了全新重写的 Wayland 驱动(支持 EGL)、基于 NanoVG 的完整 OpenGL 渲染后端,以及运行时 glTF 模型操控能力。此外,控件 API 也得到了进一步完善——新增属性接口、更灵活的主题基础设施和输入处理改进,无论 MCU 还是 MPU,裸机还是 Linux,都能从中受益。

无论你是在 Cortex-M 上构建智能家居面板,还是在 Linux SBC 上开发成熟的 HMI 系统,这个版本都有值得关注的内容。接下来让我们看看具体更新了什么。

视觉与渲染#

模糊和阴影:全面提升视觉表现#

这是一个重量级的更新。v9.5 原生支持模糊和阴影效果,而且完全通过软件实现,无需 GPU。

阴影可以为悬浮层、模态框和卡片赋予立体感,无需任何额外技巧。

阴影效果
阴影效果演示

模糊效果则打开了毛玻璃特效、背景虚化和平滑过渡的大门——这些效果以往需要变通方案或自定义绘制回调函数才能实现。这些功能可以在 LVGL 支持的所有目标平台上直接使用,无论是 MCU 还是 MPU,裸机还是 Linux。

模糊效果
模糊效果演示

这类功能的加入让基于 LVGL 构建的 UI 在视觉品质上实现了质的飞跃。


贝塞尔曲线图表#

通过新增的 LV_CHART_TYPE_CURVE 类型,可以在图表中使用平滑的贝塞尔曲线连接数据点,替代传统的直线段。需要矢量图形支持。

贝塞尔曲线
LVGL 图表中的贝塞尔曲线渲染

驱动与后端#

Wayland:从零重写#

Wayland 驱动已经完全重写,更简洁、更高效,并且支持完整的渲染后端体系:

SHM(共享内存)后端现在支持双缓冲直接模式渲染,在 GPU 不可用或不适用的系统上可实现更流畅的合成和更低的延迟。

EGL 后端是本次发布新增的。通过 EGL,Wayland 驱动获得了完整的硬件加速 OpenGL 渲染能力,使 3D 内容可以在 Wayland 上原生运行,无需任何额外处理。

移除了客户端窗口装饰

重写后的驱动不再内置客户端窗口装饰支持。如果你的应用需要标题栏、关闭按钮或窗口边框,可以直接使用 LVGL 控件来构建——lv_win 就非常适合这一用途。


NanoVG:完整的 OpenGL 渲染后端#

新增了 NanoVG 渲染后端,为 LVGL 提供了完整的 OpenGL 绘制单元。这意味着矢量渲染、抗锯齿图形、渐变和图像合成都可以在 GPU 上完成,无需软件回退。

NanoVG 后端兼容 OpenGL ES 和桌面 GL,当 OpenGL 上下文可用时会自动初始化。结合 Wayland、DRM、SDL 和 GLFW 全面支持的 EGL,LVGL 在 Linux 级目标平台上拥有了完整的 GPU 渲染方案。


SDL:新增 EGL 支持#

SDL 现在支持 EGL 作为渲染后端。对于面向桌面或嵌入式 Linux 平台的开发者来说,这补全了最后一块拼图:SDL、Wayland、DRM 和 GLFW 现在都支持 EGL,任何一个都可以一致地承载硬件加速或 3D 内容。


3D 渲染:覆盖所有主流 Linux 后端#

随着 EGL 在各主要显示后端的全面落地,在 Linux 上构建支持 3D 的 LVGL 应用变得非常简单。

完整的 3D 渲染支持后端列表:SDL、Wayland、DRM 和 GLFW。

在后端工作之外,v9.5 还对 3D 体验本身做了重要升级:

运行时 glTF 模型操控:现在可以在应用运行时读取和修改 glTF 模型节点。缩放、旋转、平移和动画状态都可以在运行时访问和修改,从而实现动态 3D 场景,而不仅仅是静态模型查看器。

射线投射工具:新增的一组函数可以方便地在 3D 世界空间与 2D 屏幕坐标之间进行转换,以及计算 3D 空间中的射线与对象交叉。这是实现触摸输入命中测试 3D 对象、跟随 3D 几何体的工具提示,或任何需要桥接 2D UI 和 3D 场景的交互的基础。

运行时 glTF 操控
LVGL 中的运行时 glTF 操控

GStreamer:支持摄像头流和无音频源#

GStreamer 集成现在支持没有音频轨道的媒体源。虽然听起来是个小改动,但实际上这意味着你现在可以将摄像头流或任何纯视频源直接嵌入 LVGL 应用中,而不会导致管线失败。这对于很多基于摄像头的 HMI 应用来说曾是一个真正的障碍,在本次版本中得到了妥善解决。


控件、样式与平台#

样式与主题系统:更丰富、更灵活#

样式系统收到了多项体验改进:

LV_STATE_ALT 是一个专为深色/浅色模式切换设计的新控件状态。无需管理两套完整的主题树,只需用 LV_STATE_ALT 标记样式,就可以通过一次调用切换整个 UI 的模式。

新控件状态:LV_STATE_ALT
替代状态

lv_obj_remove_themelv_obj_bind_style_prop 完善了主题操作 API。前者可以将主题从对象上干净地移除;后者实现了数据驱动的样式绑定,适用于样式属性需要跟踪运行时数值的场景。

样式属性绑定
样式属性绑定

RISC-V 向量扩展支持#

LVGL 现在支持 RISC-V V 扩展用于软件渲染操作。这为实现了向量扩展的 RISC-V 平台带来了 SIMD 加速,可以提升混合、填充等常见绘制任务的性能。

小贴士

lv_conf.h 中将 LV_USE_DRAW_SW_ASM 设置为 LV_DRAW_SW_ASM_RISCV_V 即可启用 RISC-V 向量加速。


属性接口:统一的跨控件数据绑定#

大量控件现在暴露了属性接口:arc、bar、switch、checkbox、LED、line、scale、spinbox、spinner、table、tabview、buttonmatrix、span、menu 和 chart。

属性接口使得外部系统(如数据绑定层或 UI 框架)能够以统一的方式读写控件状态。如果你正在 LVGL 之上构建自己的数据绑定或响应式 UI 层,这个版本会让工作轻松许多——所有主要控件现在都使用相同的接口。


输入处理改进#

本次版本包含多项值得关注的输入相关改进:

按键重映射:现在可以在驱动层重映射键盘按键,适用于物理键盘布局与 UI 期望不匹配的场景,不再需要在应用代码中处理重映射。

手势阈值 API:滑动和手势识别的阈值现在可以针对每个输入设备单独配置,不再是编译时常量。这使得针对不同屏幕尺寸和使用场景调整手势灵敏度变得更加容易。

单选按钮lv_obj_set_radio_button 让构建单选按钮组变得简单,无需手动管理组内互斥。

无组分配时的键盘事件:以前,如果没有分配组,键盘事件会被静默丢弃。现在无论是否分配了组,都会作为输入设备事件发出,为应用代码处理原始按键输入提供了更大的灵活性。


WebP 解码器#

LVGL 现在可以原生解码 WebP 图像。结合已有的 JPEG(包括方向和 CMYK 支持)、PNG、GIF 等格式支持,v9.5 的图像格式覆盖达到了历史最全面的水平。


破坏性变更#

移除了 Wayland 客户端窗口装饰。 重写后的 Wayland 驱动不再支持客户端窗口装饰。如需标题栏等窗口元素,请使用 LVGL 控件(如 lv_win)来实现。

XML 引擎已从仓库中移除。 XML UI 引擎的开发仍在继续,但已移至 LVGL 主仓库之外。我们会在单独的文章中详细说明这一决定及其对路线图的影响。

警告

以下变更在升级到 v9.5 时可能需要更新你的应用代码。


弃用项#

lv_fragment 已弃用。 如果你目前正在使用 lv_fragment 进行视图生命周期管理,请计划迁移。它将在未来的版本中移除。

lv_wayland_display_close_cb_t 已弃用。 请改为在 lv_wayland_window_create 返回的显示对象上绑定 LV_EVENT_DELETE 事件。

提示

以下 API 已弃用,将在未来的版本中移除。请相应地规划迁移工作。


总结#

v9.5 是 LVGL 近期历史上最大的版本之一。GPU 渲染方案比以往更加完善,模糊和阴影的加入让库的视觉能力实现了真正的飞跃,控件 API 也变得更加广泛和一致。

完整的更新日志一如既往地在 GitHub 上提供,包含每一条提交记录。如果你遇到问题或有疑问,论坛和 GitHub Issues 是联系团队的最佳途径。

感谢每一位贡献者——无论是问题报告者、代码审查者还是开发者。

关于作者

安德烈·科斯塔
安德烈·科斯塔

LVGL Open 团队负责人

LVGL Open 团队负责人,推动开源嵌入式图形库的开发和应用。

认识博客背后的作者们

了解那些分享 LVGL 知识的优秀作者们

查看作者

订阅我们的通讯 不错过任何关于 LVGL 的新闻。我们每月最多发送 2 封邮件。

LVGL

LVGL 是最受欢迎的免费开源嵌入式图形库,支持任何 MCU、MPU 和显示类型,助您构建精美的用户界面。

我们还提供 UI 设计、实现和咨询等服务。

© 2026 LVGL。保留所有权利。
YouTubeGitHubLinkedIn