[meta-freescale] Video overlay on sabresd

Nikolay Dimitrov picmaster at mail.bg
Mon May 25 07:24:36 PDT 2015


Hi gang,

On 05/22/2015 04:40 AM, Nikolay Dimitrov wrote:
>
> Xorg works on /dev/fb1. But...
>
> - Resolution: the foreground framebuffer resolution is hard-coded in
> the kernel driver to 240x320, and no "magic words" were able to
> convince Xorg to change the resolution to 1280x720. It's possible to
> add additional video modes in runtime by using xrandr in Xorg init
> scripts, but this is a hairy hack, I would prefer the FG layer to have
> the same resolution as the BG layer.

One unpleasant side of the hairy xrender hack is that although it
changes the Xorg resolution, the original mode (240x320) is still
available and causes font issues with Chromium (tab titles and status
messages are displayed with much larger font than usual).

> - Color depth: again hard-coded to 16bpp, don't know how to change
> this. The fun part is that at the same time the BG layer has 32bpp
> color depth.
>
> - Chroma keying is buggy: opening the V4L2 device file (/dev/video16)
> on the BG layer resets the chroma key. Here are steps to reproduce:
>
> 1. Start Xorg on /dev/fb1.
> 2. Start a X11 app, which draws a solid-colored rectangle containing
> the chroma key (0xFF00FF in my case).
> 3. Run a console app, which programs the chroma key to 0xFF00FF and
> global alpha to 0x80.
> 4. Observe that the chroma-key colored rectangle is now
> fully transparent, as expected.
> 5. Start gstreamer with imxv4l2sink, using /dev/video16
> 6. Observe that chroma-key colored rectangle is opaque. This is an
> issue.
>
> If #3 is executed while the video is playing, the colored rectangle
> becomes fully transparent, as expected.

There's one more issue with /dev/fb1 - right after the board boots and
Xorg is started, there's already default alpha value applied to the FG
layer (/dev/fb1), which causes a dim image. Setting global alpha to
0xFF (opaque) fixes the issue.

Regards,
Nikolay


More information about the meta-freescale mailing list