RK3399安卓平台如何禁用hwcomposer,选择framebuffer进行渲染
最近在使用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;
}
这个之前没有测试过,但是在
hardware/rockchip/hwcomposer/Android.mk中默认使用的是DRM
BOARD_USES_DRM_HWCOMPOSER=true,你可以尝试修改这里的宏定义看看 风之空响 发表于 2020-5-7 11:38
这个之前没有测试过,但是在
hardware/rockchip/hwcomposer/Android.mk中默认使用的是DRM
BOARD_USES_DRM ...
这个宏只是用来控制是否将hwcomposer.rk30board.so编译进最终镜像。
我实验的时候已经把这个库手动删除了,就是说已经将hwcomposer禁用了,但是现在就是发现咱们的代码中没有framebuffer的支持。
页:
[1]