2016-05-19 93 views
1

在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)'。至於訪問問題,設備本身可能會拒絕來自用戶的所有訪問,而沒有某些功能。 – Tsyvarev

+0

**/dev/dri **(即目錄)的權限是什麼? – sawdust

回答