[meta-freescale] [poky] X11 incompatibilities using meta-oe with poky

Martin Jansa martin.jansa at gmail.com
Sat Dec 28 03:28:39 PST 2013


On Sat, Dec 28, 2013 at 11:19:42AM +0100, Alexandre Belloni wrote:
> 
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA256
> 
> Hi Martin,
> 
> On 28/12/2013 09:32, Martin Jansa wrote:
> > On Fri, Dec 27, 2013 at 10:22:43PM +0100, Alexandre Belloni wrote:
> >> Hi,
> >>
> >> When using core-image-sato (latest dora), I encountered again an issue
> >> that I once solved by hacking around it. It has the following symptoms:
> >>  - touchscreen calibration doesn't start the first time the board is
> booted
> >
> > see
> >
> http://git.openembedded.org/meta-openembedded/commit/?id=98bfe33760acb74b67eba9d58ea7cac8cad6d810
> >
> > I'll backport it to dora
> 
> That won't be enough, if you backport that to dora, the target will
> simply hang when executing 80matchboxkeyboard.shbg as it will wait
> forever. The file extensions have a special meaning in the Xsession
> script coming from x11-common.

I'm not using matchbox and I'm using only xserver-common, this fix is to
start xinput-calibrator in correct location.

You can get rid of x11-common by setting:
VIRTUAL-RUNTIME_xserver_common = "xserver-common"

> That's why I'm suggesting migrating all the poky recipes to the
> xserver-common style and use xserver-common instead of x11-common. I
> don't have the history but it seems that x11-common is quite outdated
> ( I'm getting that feeling from the xtscal dependency). Do we still want
> to support kdrive ? Also, something is clearly wrong as
> xserver-common_1.34.bb has:
> RCONFLICTS_${PN} = "xserver-kdrive-common x11-common"
> And both x11-common and xserver-common get installed.
> 
> >
> >
> >>  - matchbox-keyboard doesn't come up when touching the keyboard icon in
> >> the panel
> >>  - matchbox-panel is ugly (compare
> >>
> http://www.ossystems.com.br/images/blog/boards/boundarydevices-nitrogen6x-hdmi-screenshot-fsl-image-gui.jpg
> >> with http://free-electrons.com/~alexandre/matchbox-panel.jpg)
> >>
> >> This time, I decided to investigate that issue a bit more. Here is what
> >> I found:
> >> The cause is the /etc/X11/Xsession script which at some point does:
> >> =-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
> >> SESSIONFILES=`ls -X $SYSSESSIONDIR`
> >> if [ -n "$SESSIONFILES" ]; then
> >>   for SESSIONFILE in $SESSIONFILES; do
> >>   # Test if script is executable first before sourcing it
> >>     if [ -x "$SYSSESSIONDIR/$SESSIONFILE" ]; then
> >>       . $SYSSESSIONDIR/$SESSIONFILE
> >>     fi
> >>   done
> >> fi
> >> =-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
> >>
> >> This is not working because ls -X is not sorting the files
> >> alphabetically but by extension:
> >> =-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
> >> root at cfa10058:~# ls -X -1 /etc/X11/Xsession.d/
> >> 60xXDefaults
> >> 89xdgautostart
> >> 90xXWindowManager
> >> 30xinput_calibrate.sh
> >> 70settings-daemon.sh
> >> 80matchboxkeyboard.shbg
> >> =-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
> >>
> >> So, obviously, matchbox is started before calibration and
> matchbox-keyboard.
> >> Now, why is that happening ?
> >>
> >> Looking at the build directory, one can find Xsession being provided by
> >> two packages !
> >> xserver-common 1.34-r8 and x11-common 0.1-r47 why ?
> >> The dependancies are:
> >> packagegroup-core-x11 -> x11-common
> >> packagegroup-core-x11 -> xserver-nodm-init -> xserver-common
> >>
> >> Which is what we ask for since
> >> poky/meta/recipes-graphics/packagegroups/packagegroup-core-x11.bb has:
> >> =-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
> >> # xserver-common, x11-common
> >> VIRTUAL-RUNTIME_xserver_common ?= "x11-common"
> >>
> >> # elsa, xserver-nodm-init
> >> VIRTUAL-RUNTIME_graphical_init_manager ?= "xserver-nodm-init"
> >>
> >> [...]
> >> RDEPENDS_${PN}-utils = "\
> >>     ${VIRTUAL-RUNTIME_xserver_common} \
> >>     ${VIRTUAL-RUNTIME_graphical_init_manager} \
> >>     xauth \
> >>     xhost \
> >>     xset \
> >>     xrandr \
> >>     "
> >> =-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
> >>
> >> What is really happening is that xserver-nodm-init is provided both by
> >> poky/meta/recipes-graphics/x11-common/xserver-nodm-init.bb and
> >>
> meta-openembedded/meta-oe/recipes-graphics/xserver-nodm-init/xserver-nodm-init_2.0.bb
> >>
> >> layer                 path                                      priority
> >>
> ==========================================================================
> >> meta                  /home/alex/fsl/sources/poky/meta  5
> >> meta-yocto            /home/alex/fsl/sources/poky/meta-yocto  5
> >> meta-oe               /home/alex/fsl/sources/meta-openembedded/meta-oe  6
> >>
> >> The meta-oe one is selected ! That one can't actually work with the
> >> current
> >> poky/meta/recipes-sato/matchbox-keyboard/matchbox-keyboard_git.bb recipe
> >> because of the "ls -X" sorting and it doesn't know how to handle shbg
> >> files this will hang trying to use 80matchboxkeyboard.shbg
> >>
> >> So my next step was to remove the meta-oe layer (or simply mask
> >> /meta-openembedded/meta-oe/recipes-graphics/). The final result is
> >> better but touch screen calibration (xtscal instead of
> >> xinput-calibrator) fails with:
> >> XCALIBRATE extension missing: Resource temporarily unavailable
> >> XCALIBRATE extension missing: Resource temporarily unavailable
> >> XCALIBRATE extension missing: Resource temporarily unavailable
> >>
> >>
> >> So, questions:
> >>  - How do we solve that cleanly ?
> >>  - Why doesn't xserver-common conflicts with x11-common despite
> >> RCONFLICTS_${PN} = "xserver-kdrive-common x11-common" ?
> >>  - Shouldn't we stop using xtscal and use xinput-calibrator instead ?
> >>  - Should we update the Xsession script from the poky recipes and stop
> >> using x11-common ?
> >>
> >> On my side, what I do is masking
> >> /meta-openembedded/meta-oe/recipes-graphics/ and replacing xtscal by
> >> xinput-calibrator as a dependency of x11-common but I believe we can do
> >> better.
> >>
> >> --
> >> Alexandre Belloni, Free Electrons
> >> Embedded Linux, Kernel and Android engineering
> >> http://free-electrons.com
> >>
> >> _______________________________________________
> >> poky mailing list
> >> poky at yoctoproject.org
> >> https://lists.yoctoproject.org/listinfo/poky
> >
> 
> 
> - -- 
> Alexandre Belloni, Free Electrons
> Embedded Linux, Kernel and Android engineering
> http://free-electrons.com
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.14 (GNU/Linux)
> 
> iQIcBAEBCAAGBQJSvqW9AAoJEKbNnwlvZCyzPHIQAMoQfqBZbk8xW5V+craTyEAR
> ViIXkcxjk5P5g8lKsiy9ZqHlimwvIAx3QBZCXXAIagXy5O75oHH7NriGyqVOI9UO
> 17s1n3w/JesP3zaF2dedGrTj6AX+tvI3P6LNElulQ7DlDoZJJ1RXTqhMNJI8SR2B
> BH35DJ9e7S+0yby5AIrCxnf4UGGDBzhngRfSwL6iVOPQR+WEWoEwgooo+TwDIhCl
> adE+zCTMOuw8eGZvW82TQLcxI/qjaWy7KhmVwdDdMw9O/KoSF2HeVpmYT8j2CbbL
> mTPjZYYYZMtja0crq9DsbtojEu4iNtXGg38ff9qx3Wp6sOD9WAYy+3SVquwzB6Nw
> f25BNkOoLQBuyibsg0yCdNInahWZn3W4GQe9PS0qj9bx0DReI7yXvyONsSBksJWK
> rQV43bKiOPKTUVck1Axi5k0MeTiZGr0MoJOByLq8MPTF7zeXT7/nBhKgnrznq5Ar
> PcfMjye3hD4jDdG4z1bLbWzoVTlTuxQ0QNMdx1uk4Ss1mcjLSgufRcSKr1JLv7i/
> DepCVg4ea9Ic5tANoSIkUGOFgAnEWGgb0Mr4sunkdY20t7JaoHdaRD7zRpUjqEXm
> zPMpZd+7pkuPK9w9lW+qOP656ubu75B/MhCXuAKQQFh8DV//WA9wFE8eIqDK/kbd
> keJtxwKqBib8i29JXZyR
> =gcbW
> -----END PGP SIGNATURE-----
> 

-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa at gmail.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.yoctoproject.org/pipermail/meta-freescale/attachments/20131228/d966bdbe/attachment.pgp>


More information about the meta-freescale mailing list