1

アンドロイドでは、hwcomposerからデバイスノード(dev/dri/card0)を開く際に問題が発生しています。エラー13は、アクセス許可のアクセスの問題であるアンドロイドのユーザー空間からデバイスノードを開くことができません

hwc-drm-resources: Failed to open dri- Unknown error -13 

fd_ = open("/dev/dri/card0", O_RDWR); 
if (fd_ < 0) { 
    ALOGE("Failed to open dri- %s", strerror(-errno)); 
    return -ENODEV; 
} 

エラー:私のようなデバイスをオープンしようとしています。そのために、私はアンドロイドで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

ヒント: 'strerror'の正しい使用は' unerodated *(not negated)の値を 'errno'に渡します:' sterror(errno) '。問題にアクセスする場合、デバイス自身が何らかの機能を持たずにユーザーからのすべてのアクセスを拒否する可能性があります。 – Tsyvarev

+0

**/dev/dri **(ディレクトリ)の権限は何ですか? – sawdust

答えて

1

解決済み。私はデバイスノードのエントリを/ external/sepolicyに置くのを忘れていました。

/dev/dri(/.*)?   u:object_r:graphics_device:s0 

sepolicyの詳細は、アンドロイドのウェブサイトをご覧ください。 https://source.android.com/security/selinux/implement.html

関連する問題