Some comments: 1. ioctl(FBFD,OMAPFB_VSYNC); is useless and does nothing (and if it actually waited for VSYNC, that would be bad for performance) 2. You don't need to use OMAPFB_FORMAT_FLAG_FORCE_VSYNC flag (you may actually screw up tearing synchronization using it), just OMAPFB_FORMAT_FLAG_TEARSYNC is enough