Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android [QCOM-MSM8916][CM12.1]如何注册正确的帧缓冲区节点?(fb0/1/2)_Android_C++_C_Framebuffer_Cyanogenmod - Fatal编程技术网

Android [QCOM-MSM8916][CM12.1]如何注册正确的帧缓冲区节点?(fb0/1/2)

Android [QCOM-MSM8916][CM12.1]如何注册正确的帧缓冲区节点?(fb0/1/2),android,c++,c,framebuffer,cyanogenmod,Android,C++,C,Framebuffer,Cyanogenmod,我现在是三星Galaxy J5的开发者 芯片组:高通公司MSM8916 Snapdragon 410 CPU:四核1.2 GHz Cortex-A53 GPU:肾上腺306 在/hardware/qcom/display caf/msm8916/libqdutils中,有相应的文件(qd_utils.cpp)通过msm_fb_类型声明帧缓冲区节点 #include "qd_utils.h" #define QD_UTILS_DEBUG 0 namespace qdutils { int

我现在是三星Galaxy J5的开发者

  • 芯片组:高通公司MSM8916 Snapdragon 410
  • CPU:四核1.2 GHz Cortex-A53
  • GPU:肾上腺306
/hardware/qcom/display caf/msm8916/libqdutils中,有相应的文件(qd_utils.cpp)通过msm_fb_类型声明帧缓冲区节点

#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__);
关于如何禁用/dev/fb2节点搜索,或者在内核/设备树中包含此功能,有什么想法吗?一些开发人员说,当按下电源键时,缺少节点会导致屏幕启用/禁用延迟,所以我猜这是一个bug

来源

E/qdutils (  269): int qdutils::getHDMINode(): Failed to open fb node 2
E/qdutils (  269): int qdutils::getHDMINode(): Failed to find HDMI node