(原)在firefly_rk3288开发板上解决openGL在设置32位色深以后出现花屏的问题

Posted lihaiping

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(原)在firefly_rk3288开发板上解决openGL在设置32位色深以后出现花屏的问题相关的知识,希望对你有一定的参考价值。

转载请注明出处:http://www.cnblogs.com/lihaiping/p/5567141.html

在做openGL测试的过程中,根据论坛上的帖子,在使用/bin/fbset -a -nonstd 1 -depth 32 -rgba "8/0,8/8,8/16,8/24"命令以后,会出现显示花屏的问题,当然我这边暂时使用的是hdmi输出进行测试的,vga的设置方法,另外一个网友已经发帖贴出了解决方法:http://developer.t-firefly.com/thread-6462-1-1.html,同时我这里也是根据他的方法来实现的。

因为hdmi的输出是从framebuffer这个源来的,所以我们修改色深只需要修改framebuffer就OK了,具体操作方法很简单:
1)打开drivers\\video\\rockchip\\rk_fb_box.c文件,
static struct fb_var_screeninfo def_var = {
/*
#if defined(CONFIG_LOGO_LINUX_BMP)
        .red = {16, 8, 0},
        .green = {8, 8, 0},
        .blue = {0, 8, 0},
        .transp = {0, 0, 0},
        .nonstd = HAL_PIXEL_FORMAT_BGRA_8888,
#else
*/
//modefy by lhp---20160607
#if 1 //defined(CONFIG_LOGO_LINUX_BMP)
        .red = {16, 8, 0},
        .green = {8, 8, 0},
        .blue = {0, 8, 0},
        .transp = {0, 0, 0},
        .nonstd = HAL_PIXEL_FORMAT_BGRA_8888,
        .bits_per_pixel = 32,
#else
        .red = {11, 5, 0},
        .green = {5, 6, 0},
        .blue = {0, 5, 0},
        .transp = {0, 0, 0},
        .nonstd = HAL_PIXEL_FORMAT_RGB_565,        /* (ypos<<20+xpos<<8+format) format */
#endif
        .grayscale = 0,                /* (ysize<<20+xsize<<8) */
        .activate = FB_ACTIVATE_NOW,
        .accel_flags = 0,
        .vmode = FB_VMODE_NONINTERLACED,
};
2)修改rk_fb_register函数:

//modefy by lhp----20160607,use def_var.bits_per_pixel
/*
#if defined(CONFIG_LOGO_LINUX_BMP)
                fbi->var.bits_per_pixel = 32;
#else
                fbi->var.bits_per_pixel = 16;
#endif
*/

将上面的这段进行注释,使用我们前面1)中已经修改的那个定义

===========================
编译内核,启动就OK了。

 

以上是关于(原)在firefly_rk3288开发板上解决openGL在设置32位色深以后出现花屏的问题的主要内容,如果未能解决你的问题,请参考以下文章

rk3288开发板,webview崩溃问题处理

驱动控制开发板上的四个LED小灯

荣品KING3288开发板升级啦!

想购买一块rk3288开发板,谁用过视壮VS-RK3288,好用吗?

吉方工控G-3288-02固件更新

参考论坛:Mali kernel driver TX011-SW-99002-r5p1-00rel0 for firefly