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
また、システム system へのアクセス許可を設定しようとしました。まだ機能していません。
/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 がデバイスノードにアクセスできない理由がわかりません。