weston: add a patch to force FBIOPUT on Qualcomm devices
Created by: zhuowei
Qualcomm's framebuffer is designed for double buffering, and only updates the screen after an FBIOPUT ioctl is submitted to flip the buffer. Detect this to force Weston to send this ioctl at the end of every frame even when single buffering.
This should be equivalent to the
cat /sys/class/graphics/fb0/modes > /sys/class/graphics/fb0/mode
hack.
This is tested on Nexus 6P (angler), and Weston is able to correctly draw the screen without the cat modes hack. On non-Qualcomm devices, this shouldn't activate, but I haven't tested there.
Edit: for testers: in /tmp/weston.log, if you have a device that needed the cat modes hack, applying this should say
Force FBIOPUT workaround for Qualcomm framebuffer is enabled
for other devices it should say
Force FBIOPUT workaround for Qualcomm framebuffer is disabled