Firefly开源社区

打印 上一主题 下一主题

[Android] RK3399安卓平台如何禁用hwcomposer,选择framebuffer进行渲染

53

积分

0

威望

0

贡献

技术小白

积分
53

RK3399安卓平台如何禁用hwcomposer,选择framebuffer进行渲染

发表于 2020-5-7 11:21:32      浏览:6631 | 回复:2        打印      只看该作者   [复制链接] 楼主
最近在使用RK3399+Android-7.1.2 industry平台进行方案调研。

目前的一个需求是希望禁用hwcomposer,而是将图像渲染至Linux framebuffer(/dev/grapihcs/fb0)中。但是经过调研,AOSP/hardware/rockchip/libgralloc代码中的逻辑,没有使能framebuffer功能,在else处直接返回了-EINVAL。

请问如何能实现RK3399 Android使用/dev/graphics/fb0进行图像渲染呢?

static int drm_mod_open(const struct hw_module_t *mod,
                const char *name, struct hw_device_t **dev)
{
        struct drm_module_t *dmod = (struct drm_module_t *) mod;
        int err;

        if (strcmp(name, GRALLOC_HARDWARE_GPU0) == 0)
                err = drm_mod_open_gpu0(dmod, dev);
        else
                err = -EINVAL;

        return err;
}
回复

使用道具 举报

742

积分

68

威望

68

贡献

技术大神

Rank: 3Rank: 3

积分
742
QQ
发表于 2020-5-7 11:38:01        只看该作者  沙发
这个之前没有测试过,但是在
hardware/rockchip/hwcomposer/Android.mk中默认使用的是DRM
BOARD_USES_DRM_HWCOMPOSER=true,你可以尝试修改这里的宏定义看看
回复

使用道具 举报

53

积分

0

威望

0

贡献

技术小白

积分
53
发表于 2020-5-7 11:50:04        只看该作者  板凳
风之空响 发表于 2020-5-7 11:38
这个之前没有测试过,但是在
hardware/rockchip/hwcomposer/Android.mk中默认使用的是DRM
BOARD_USES_DRM ...

这个宏只是用来控制是否将hwcomposer.rk30board.so编译进最终镜像。
我实验的时候已经把这个库手动删除了,就是说已经将hwcomposer禁用了,但是现在就是发现咱们的代码中没有framebuffer的支持。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表