在Android中,我遇到了在用户空间中工作的hwcomposer打开设备节点(dev/dri/card0)的问题。我试图打开设备,如:无法打开设备节点android
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是允许访问的问题。对于我已经在ueventd.rc配置的权限在android系统:
/dev/dri/* 0666 root graphics
我自己也尝试了许可设置的系统体系。它仍然没有工作。
当我在/ dev/dri中运行ls -la。它显示以下输出,它具有用户模式的权限。
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
提示:正确使用'strerror'会将'errno'的* unmodified *(not negated)值传递给它:'sterror(errno)'。至于访问问题,设备本身可能会拒绝来自用户的所有访问,而没有某些功能。 –
+0
**/dev/dri **(即目录)的权限是什么? –