We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

Showing results for 
Search instead for 
Did you mean: 
Participant perencia-wc
Registered: ‎10-03-2017

Unable to set double buffer mode! (Invalid argument)

I have created an image using petalinux 2016.3 with fbdev libMali and qt with eglfs-mali device integration. My Qt application seems to run ok, but I get the following warning 


Unable to set double buffer mode! (Invalid argument)

The warning comes from this code in qt (qeglfsmaliintegration.cpp)


void QEglFSMaliIntegration::platformInit()
    // Keep the non-overridden base class functions based on fb0 working.

    int fd = qt_safe_open("/dev/fb0", O_RDWR, 0);
    if (fd == -1)
        qWarning("Failed to open fb to detect screen resolution!");

    struct fb_var_screeninfo vinfo;
    memset(&vinfo, 0, sizeof(vinfo));
    if (ioctl(fd, FBIOGET_VSCREENINFO, &vinfo) == -1)
        qWarning("Could not get variable screen info");

    vinfo.bits_per_pixel   = 32;
    vinfo.red.length       = 8;
    vinfo.green.length     = 8;
    vinfo.blue.length      = 8;
    vinfo.transp.length    = 8;
    vinfo.blue.offset      = 0;
    vinfo.green.offset     = 8;
    vinfo.red.offset       = 16;
    vinfo.transp.offset    = 24;
#if 0
    vinfo.yres_virtual     = 2 * vinfo.yres;

    if (ioctl(fd, FBIOPUT_VSCREENINFO, &vinfo) == -1)
        qErrnoWarning(errno, "Unable to set double buffer mode!");


The /dev/fb0 is created by the xilinx drm/kms driver, which I understand is running in fbdev emulation. 

I'm not sure how to react to this warning. Apparently the vinfo is not setting any double buffering parameter. Is the framebuffer actually running with no double buffering ? How could I know ?



0 Kudos