There were some patches in our "fork" that are also incompatible with the changes that weston did in 4.0.
I do have a pseudo-rebased repo at https://github.com/z3ntu/weston/commits/master but as far as I can remember, it does not compile. I messaged PabloCastellano / pablog back then and the conversation was:
If we remove the pixman-type parameter, there are a lot of kernels that have to be patched, but I suppose they will not break and just show the screen as red.
I've looked at the other patches and we cannot remove them (add support to other color formats) so we still have to keep the "temp" weston aport around.
I think it's not a big issue to maintain also that patch then, no?
If we remove the pixman-type parameter, there are a lot of kernels that have to be patched, but I suppose they will not break and just show the screen as red.
Right, let's do this for now.
I've looked at the other patches and we cannot remove them (add support to other color formats) so we still have to keep the "temp" weston aport around.
I'll update weston pmaport to 5.0.0, and only apply the ABGR patch. The other patches would need to be rewritten from scratch, as too much code changed.
IIRC we did not have a way to patch the kernel that worked for every device, so maybe it makes sense to either rewrite the patch (and this time upstream it in parallel) or to figure out such a way to patch all kernels. I would prefer the latter, because then we had a solution that works for all UIs.
I have pushed the update to the update/weston branch.
However, I forgot that when we remove the patches that add the --pixman-type parameter, weston might throw a syntax error as it doesn't know this parameter anymore, for the devices that had used it. So I did not push this to master just yet, will need to look into this more tomorrow.
As written above, I would prefer if we could drop the pixman type patch altogether, and hopefully migrate to the upstream version as soon as the ABGR patch is upstreamed.
@ollieparanoid I'm considering of extensing the fbdebug tool to also draw some color bars on the screen (I already have a draft version) based on the information returned from the framebuffer (color format especially), then with a reference image (like https://en.wikipedia.org/wiki/SMPTE_color_bars#/media/File:SMPTE_Color_Bars.svg) the developer should check if the information returned by the framebuffer is correct or not.
If the framebuffer is configured properly (color format match how you have to write colors) then I think all programs should behave correctly, or they have to be patched to support more color modes.
With a ioctl call (FBIOPUT_VSCREENINFO) it might be possible to tell the framebuffer to change the color format (source code) instead of patching a different default, this might be a useful case to add to the fbdebug tool
Regarding the weston upgrade, I've done it now. The weston_pixman_type option is gone. I've tested that the updated weston works on my lg-mako (and the screen is red again, as expected, but weston is otherwise working fine). I'm also testing a kernel patch for the lg-mako, that is supposed to fix it properly and will submit a patch if it works.
(The kernel patch might even make plasma mobile with software rendering work... and the lg-mako is a more powerful device than the samsung-i9100, so I'm curious to try how it performs there.)
EDIT: regarding my lg-mako testing: the first patch still causes the red screen bug, the patch by Cascardo and changing the kernel option causes a black screen. So I guess we'd need a different patch to make the framebuffer work properly for that device, with the downstream kernel. But I won't look into this more right now. (If somebody else wants to look into this, also consider directly mainlining it.)