8 Commits
sumo ... daisy

Author SHA1 Message Date
946b692997 gstreamer1.0-plugins-bad: Build eglglessink for Raspberry Pi
The eglglessink needs to be built to target the Raspberry Pi or it will
seg-fault in use.

Autoconf attempts to detect whether to build for RPi but there are some
include files needed, the search path to which must be specified.

ref: https://github.com/raspberrypi/firmware/issues/34

ref: https://github.com/raspberrypi/firmware/issues/99

This patch adds the needed include paths and forces the plugin to be
built for Raspberry Pi.

With this patch the following pipeline works on RPi,

  modprobe bcm2835-v4l2 gst_v4l2src_is_broken=1
  gst-launch-1.0 --gst-debug-no-color v4l2src \
  ! 'video/x-raw,format=RGB,width=1280,height=720,framerate=(fraction)30/1' \
  ! eglglessink max-lateness=-1

Change-Id: Iabd93c0601c2ab898de3352a7d30423ef9cfce43
Signed-off-by: Alex J Lennon <ajlennon@dynamicdevices.co.uk>
2014-08-14 20:02:57 +02:00
be68d514b3 firmware: Update to remote's HEAD
Change-Id: I9e28318c5746484ebde636295c66f7b6b64ba2fb
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2014-08-14 15:20:52 +02:00
e5642efb42 userland: Add '--no-as-needed' linker flag
This is done to ensure all specified shared libraries are linked against
applications (e.g. raspivid)i.

libmmal_vc_client.so makes use of __attribute__(constructor) to ensure
that supplier components (e.g. camera) are loaded when the static library is
loaded.

raspivid, and possibly other applications, link against libmmal_vc_client.so,
causing the ctor to execute, but there is no needed dependency.

Some build environments (e.g. Yocto/OpenEmbedded) pass the '--no-as-needed'
linker flag which removes the dependency on libmmal_vc_client and thus
components are not registered.

In this situation raspivid then gives an error of the form
  root@raspberrypi:~# raspivid -o test
  mmal: mmal_component_create_core: could not find component 'vc.ril.camera'
  mmal: Failed to create camera component
  mmal: main: Failed to create camera component
  mmal: Failed to run camera app. Please check for firmware updates

For further details see:
https://lists.yoctoproject.org/pipermail/yocto/2014-June/019933.html

Change-Id: I9d787fd83379e8b6428dde3827395c8b96be1f7f
Signed-off-by: Alex J Lennon <ajlennon@dynamicdevices.co.uk>
Acked-by: Andrei Gherzan <andrei@gherzan.ro>
2014-08-14 15:20:49 +02:00
462c0248e8 userland: Update to remote's HEAD
Change-Id: If0e36184c741da5d68c158e1fb582050f5835bf9
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2014-08-14 15:20:48 +02:00
deb78f56f6 README: Add patch guidelines info
Change-Id: I2dac882a6dbe2fbca63a5c7405339edcca18cf04
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2014-08-14 15:20:46 +02:00
159c9522e1 linux-raspberrypi: Update kernel to 3.12.21
Amongst other patches, this release includes a fix to an issue with
gstreamer1.0 and v4l2src blocking

ref: https://bugzilla.gnome.org/show_bug.cgi?id=726521

ref: http://tinyurl.com/mkqooeg

To make use of the optional fix the module parameter gst_v4l2src_is_broken
needs to be set when loading bcm2835-v4l2.ko

With this in place, and with userland and gstreamer1.0-omx patches,
gstreamer1.0 can be used with PiCam via v4l2src instead of raspivid.

(There may still be performance issues to be addressed for v4l2src vs
raspivid pipe & fdsrc).

Change-Id: Ia0ed4e6c8f27df9bb12ae2350526f6314e016d51
Signed-off-by: Alex J Lennon <ajlennon@dynamicdevices.co.uk>
2014-08-14 15:20:45 +02:00
570a0f2244 linux-raspberrypi: Update v3.12.11 to v3.12.18
Change-Id: Ifa763e4352051e4533eac98b4f7c74daf791cf72
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2014-08-14 15:20:44 +02:00
c6606b6a00 rpi-default-versions: Use 3.12.X as default kernel version
Change-Id: Ief7949be4b9726b5b6ba58e6280f6b6ca3fdfdc4
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2014-08-14 15:20:43 +02:00
6 changed files with 12 additions and 7 deletions

3
README
View File

@ -202,6 +202,9 @@ Gerrit review repo:
To contribute to this layer you should send the patches for review to the To contribute to this layer you should send the patches for review to the
mailing list. mailing list.
The patches should be compliant with the openembedded patch guidelines:
http://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines
Mailing list: Mailing list:
https://lists.yoctoproject.org/listinfo/yocto https://lists.yoctoproject.org/listinfo/yocto

View File

@ -1,3 +1,3 @@
# RaspberryPi BSP default versions # RaspberryPi BSP default versions
PREFERRED_VERSION_linux-raspberrypi ?= "3.10.%" PREFERRED_VERSION_linux-raspberrypi ?= "3.12.%"

View File

@ -1,6 +1,5 @@
# 21/02/2014 firmware; this can be overridden from distro config RPIFW_SRCREV ?= "c8881991d9181779aee9637d6f4b215f108021a3"
RPIFW_SRCREV ?= "cf20d522e926f30e91fa890d42d010ca98913286" RPIFW_DATE ?= "20140508"
RPIFW_DATE ?= "20140221"
RPIFW_SRC_URI ?= "git://github.com/raspberrypi/firmware.git;protocol=git;branch=master" RPIFW_SRC_URI ?= "git://github.com/raspberrypi/firmware.git;protocol=git;branch=master"
RPIFW_S ?= "${WORKDIR}/git" RPIFW_S ?= "${WORKDIR}/git"

View File

@ -11,14 +11,14 @@ PROVIDES = "virtual/libgles2 \
virtual/egl" virtual/egl"
COMPATIBLE_MACHINE = "raspberrypi" COMPATIBLE_MACHINE = "raspberrypi"
SRCREV = "8181677fc08814cd5fcd1475ab73046f89f8dc80" SRCREV = "eccb81050afd177da1923404b366c6226f29bfe0"
SRC_URI = "git://github.com/raspberrypi/userland.git;protocol=git;branch=master \ SRC_URI = "git://github.com/raspberrypi/userland.git;protocol=git;branch=master \
" "
S = "${WORKDIR}/git" S = "${WORKDIR}/git"
inherit cmake inherit cmake
EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=Release" EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=Release -DCMAKE_EXE_LINKER_FLAGS='-Wl,--no-as-needed'"
# The compiled binaries don't provide sonames. # The compiled binaries don't provide sonames.
SOLIBS = "${SOLIBSDEV}" SOLIBS = "${SOLIBSDEV}"

View File

@ -1,4 +1,4 @@
SRCREV = "e297b214d77ce06a321e5ff98d74ae511ce18696" SRCREV = "cb53ea88f75180cc1ba74f7f197c8e3fd4f47cfe"
SRC_URI = "git://github.com/raspberrypi/linux.git;protocol=git;branch=rpi-3.12.y \ SRC_URI = "git://github.com/raspberrypi/linux.git;protocol=git;branch=rpi-3.12.y \
file://sl030raspberrypii2ckernel.patch \ file://sl030raspberrypii2ckernel.patch \
" "

View File

@ -0,0 +1,3 @@
EXTRA_OECONF_append_raspberrypi = " CPPFLAGS='-I${STAGING_DIR_TARGET}/usr/include/interface/vcos/pthreads \
-I${STAGING_DIR_TARGET}/usr/include/interface/vmcs_host/linux' \
--with-egl-window-system=rpi"