8 Commits
rocko ... 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
mailing list.
The patches should be compliant with the openembedded patch guidelines:
http://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines
Mailing list:
https://lists.yoctoproject.org/listinfo/yocto

View File

@ -1,3 +1,3 @@
# 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 ?= "cf20d522e926f30e91fa890d42d010ca98913286"
RPIFW_DATE ?= "20140221"
RPIFW_SRCREV ?= "c8881991d9181779aee9637d6f4b215f108021a3"
RPIFW_DATE ?= "20140508"
RPIFW_SRC_URI ?= "git://github.com/raspberrypi/firmware.git;protocol=git;branch=master"
RPIFW_S ?= "${WORKDIR}/git"

View File

@ -11,14 +11,14 @@ PROVIDES = "virtual/libgles2 \
virtual/egl"
COMPATIBLE_MACHINE = "raspberrypi"
SRCREV = "8181677fc08814cd5fcd1475ab73046f89f8dc80"
SRCREV = "eccb81050afd177da1923404b366c6226f29bfe0"
SRC_URI = "git://github.com/raspberrypi/userland.git;protocol=git;branch=master \
"
S = "${WORKDIR}/git"
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.
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 \
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"