# drm_hwcomposer **Repository Path**: open-android/drm_hwcomposer ## Basic Information - **Project Name**: drm_hwcomposer - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: drm-modeset - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-27 - **Last Updated**: 2026-05-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # DRM硬件合成器 基于Linux DRM(Direct Rendering Manager)的Android硬件合成器(HWC)模块实现。 ## 项目简介 drm_hwcomposer是一个为Android设备设计的开源HWC(Hardware Composer)模块,通过Linux DRM子系统实现显示图层的硬件加速合成。该项目提供了高性能的显示 compositor 实现,支持多种硬件平台。 ## 主要特性 - **DRM原生支持**:利用Linux内核DRM子系统进行硬件加速合成 - **多合成器后端**:支持OpenGL混合合成与纯Overlay平面优化 - **双导入器支持**:兼容NVIDIA专有Importer与通用DRM Importer - **灵活的平面管理**:支持DRM Planes的动态配置与优先级调度 - **VSync同步**:提供精确的垂直同步信号控制 - **多显示输出**:支持多个显示器的独立管理与组合 ## 系统要求 - Linux内核(DRM驱动支持) - Android 5.0或更高版本 - 适用于ARM/ARM64架构 ## 构建说明 本项目使用Android NDK进行构建。请确保已正确配置NDK工具链: ```bash # 使用Android.mk构建 mm -j$(nproc) ``` 或者使用cmake方式进行构建。 ## 目录结构 ``` . ├── drm*.cpp/drm*.h # DRM核心类(资源、合成器、显示等) ├── gl_compositor*.cpp # OpenGL合成器实现 ├── importer*.h # Buffer导入器抽象 ├── nvimporter*.cpp # NVIDIA专用Importer ├── drmgenericimporter # 通用DRM Importer ├── compositor*.cpp # 主合成器入口 ├── hwcomposer*.cpp # HWC模块接口实现 ├── vsyncworker*.cpp # VSync工作线程 ├── worker*.cpp # 基础工作线程框架 └── seperate_rects # 区域分割算法 ``` ## 配置与使用 将编译生成的库文件复制到系统的硬件HAL目录: ```bash adb push libhwcomposer.so /vendor/lib64/hw/ ``` 根据目标设备的DRM驱动,可能需要在设备树中配置具体的显示硬件参数。 ## 贡献指南 欢迎提交Pull Request。请确保代码符合项目的编码风格,并经过充分测试。 ## 许可证 请查看项目根目录下的LICENSE文件获取详细的许可证信息。 ## 相关文档 - DRM子系统文档:https://dri.freedesktop.org/wiki/ - Android HAL开发指南:https://source.android.com/docs