Я в настоящее время разработчик для Samsung Galaxy J5.
В / Оборудование / QCOM / дисплей-CAF / msm8916 / libqdutils есть соответствующий файл, (qd_utils.cpp) объявить узлы кадрового буфера через msm_fb_type.
#include "qd_utils.h"#define QD_UTILS_DEBUG 0
namespace qdutils {
int getHDMINode(void)
{
FILE *displayDeviceFP = NULL;
char fbType[MAX_FRAME_BUFFER_NAME_SIZE];
char msmFbTypePath[MAX_FRAME_BUFFER_NAME_SIZE];
int j = 0;
for(j = 0; j < HWC_NUM_DISPLAY_TYPES; j++) {
snprintf (msmFbTypePath, sizeof(msmFbTypePath),
"/sys/class/graphics/fb%d/msm_fb_type", j);
displayDeviceFP = fopen(msmFbTypePath, "r");
if(displayDeviceFP) {
fread(fbType, sizeof(char), MAX_FRAME_BUFFER_NAME_SIZE,
displayDeviceFP);
if(strncmp(fbType, "dtv panel", strlen("dtv panel")) == 0) {
ALOGD("%s: HDMI is at fb%d", __func__, j);
fclose(displayDeviceFP);
break;
}
fclose(displayDeviceFP);
} else {
ALOGE("%s: Failed to open fb node %d", __func__, j);
}
}
if (j < HWC_NUM_DISPLAY_TYPES)
return j;
else
ALOGE("%s: Failed to find HDMI node", __func__);
Панель DTV не включена в конфигурацию ядра.
Устройство имеет на складе текущие фб узлы:
Таким образом, результатом является следующая ошибка в logcat при включении / выключении экрана:
E/qdutils ( 269): int qdutils::getHDMINode(): Failed to open fb node 2
E/qdutils ( 269): int qdutils::getHDMINode(): Failed to find HDMI node
Любые идеи о том, как отключить поиск узла / dev / fb2 или включить эту функцию в дерево ядра / устройства? Некоторые разработчики говорят, что отсутствующие узлы вызывают задержку в включении / отключении экрана при нажатии клавиши питания, так что это ошибка, я думаю.
ИСТОЧНИКИ
Задача ещё не решена.
Других решений пока нет …