Hi All,
I want to enable and add support for interlace displays to X11 graphical environment, specifically for LCD interfaces. I can see that there are several interlace display modes are available in mxc_lcdif.c, but for some reason non of those modes are loaded by Xserver. The X11 server log has the output :
/var/log/Xorg.0.log
--------------------------------------------
...
[1630468.051] (II) VIVANTE(0): printing discovered frame buffer 'fb0' supported
[1630468.051] (II) VIVANTE(0): Modeline "D:720x576i-25"x0.0 13.50 720 722 870
[1630468.052] (II) VIVANTE(0): Modeline "D:720x4bt65680i-30"x0.0 13.50 720 723 865
[1630468.052] (II) VIVANTE(0): Modeline "D:720x576i-50"x0.0 27.00 720 722 101
[1630468.052] (II) VIVANTE(0): Modeline "D:720x480i-60"x0.0 27.00 720 723 999
[1630468.070] (II) VIVANTE(0): Output DISP3 BG has no monitor section
[1630468.070] (II) VIVANTE(0): Not using mode "D:720x576i-25" (interlace mode no
[1630468.070] (II) VIVANTE(0): Not using mode "D:720x480i-30" (interlace mode no
[1630468.070] (II) VIVANTE(0): Not using mode "D:720x576i-50" (interlace mode no
[1630468.071] (II) VIVANTE(0): Not using mode "D:720x480i-60" (interlace mode no
[1630468.071] (II) VIVANTE(0): No remaining probed modes for output DISP3 BG
[1630468.071] (II) VIVANTE(0): Output DISP3 BG connected
I am using kernel 4.1.15_1.0 with Yocto Krogoth release on IMX6Q. I also made the changes to :
xserver-xorg-video-imx-viv-3.10.17-1.0.0/EXA/src/vivante_fbdev/imx_display.c
ModeStatus
imxDisplayValidMode(VALID_MODE_DECL)
{
#ifndef XF86_SCRN_INTERFACE
ScrnInfoPtr pScrn = xf86Screens[arg];
#else
ScrnInfoPtr pScrn = arg;
#endif
/* if (mode->Flags & V_INTERLACE) { //commented interlace mode checking !!!
if (verbose) {
xf86DrvMsg(pScrn->scrnIndex, X_PROBED,
"Removing interlaced mode \"%s\"\n",
mode->name);
}
return MODE_BAD;
}*/
return MODE_OK;
}
But no luck, is there anything else I have to configure to enable interlace display support ?
Anuradha
Not sure if there is other code to check the INTERLACE flag, but I think you can have a try to remove the code to set V_INTERLACE in imx_display.c:
/*
if ((var->vmode & FB_VMODE_MASK) == FB_VMODE_INTERLACED)
mode->Flags |= V_INTERLACE;
*/
Can anyone give me an insight to solve this issue ?
Anuradha