在android中,我在从用户空间中工作的hwcomposer打开设备节点(dev / dri / card0)时遇到问题。我正在尝试打开设备:
fd_ = open("/dev/dri/card0", O_RDWR);
if (fd_ < 0) {
ALOGE("Failed to open dri- %s", strerror(-errno));
return -ENODEV;
}
错误:
hwc-drm-resources: Failed to open dri- Unknown error -13
错误13是权限访问问题。为此,我在android:
中的ueventd.rc中配置了权限/dev/dri/* 0666 root graphics
我也尝试过设置系统权限。它仍然无效。
当我在/ dev / dri中运行ls -la时。它显示以下输出,它具有用户模式的rw权限。
crw-rw-rw- root graphics 226, 0 2015-01-01 00:26 card0
crw-rw-rw- root graphics 226, 64 2015-01-01 00:26 controlD64
我不明白为什么hwcomposer无法访问设备节点,因为为设备节点设置了权限。
答案 0 :(得分:1)
解决。我忘了将设备节点的条目放在/ external / sepolicy中。
/dev/dri(/.*)? u:object_r:graphics_device:s0
有关sepolicy的更多信息,请访问android网站。 https://source.android.com/security/selinux/implement.html