* [Buildroot] [PATCH v2 0/2] gst1-imx: bump version to 0.12.0
@ 2016-02-01 21:55 Gary Bisson
2016-02-01 21:55 ` [Buildroot] [PATCH v2 1/2] libimxvpuapi: add new package Gary Bisson
2016-02-01 21:55 ` [Buildroot] [PATCH v2 2/2] gst1-imx: bump to version 0.12.0 Gary Bisson
0 siblings, 2 replies; 13+ messages in thread
From: Gary Bisson @ 2016-02-01 21:55 UTC (permalink / raw)
To: buildroot
Hi all,
This series is the follow-up of the previous update of Freescale packages.
http://lists.busybox.net/pipermail/buildroot/2016-January/150904.html
It takes the following comments into account:
http://lists.busybox.net/pipermail/buildroot/2016-February/151316.html
http://lists.busybox.net/pipermail/buildroot/2016-February/151318.html
Thanks,
Gary
Gary Bisson (2):
libimxvpuapi: add new package
gst1-imx: bump to version 0.12.0
package/Config.in | 1 +
package/gstreamer1/gst1-imx/Config.in | 58 ++++++++++++++++++++++++++-----
package/gstreamer1/gst1-imx/gst1-imx.hash | 2 ++
package/gstreamer1/gst1-imx/gst1-imx.mk | 15 ++++++--
package/libimxvpuapi/Config.in | 12 +++++++
package/libimxvpuapi/libimxvpuapi.hash | 2 ++
package/libimxvpuapi/libimxvpuapi.mk | 35 +++++++++++++++++++
7 files changed, 114 insertions(+), 11 deletions(-)
create mode 100644 package/gstreamer1/gst1-imx/gst1-imx.hash
create mode 100644 package/libimxvpuapi/Config.in
create mode 100644 package/libimxvpuapi/libimxvpuapi.hash
create mode 100644 package/libimxvpuapi/libimxvpuapi.mk
--
2.6.4
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Buildroot] [PATCH v2 1/2] libimxvpuapi: add new package
2016-02-01 21:55 [Buildroot] [PATCH v2 0/2] gst1-imx: bump version to 0.12.0 Gary Bisson
@ 2016-02-01 21:55 ` Gary Bisson
2016-02-16 20:53 ` Peter Seiderer
2016-02-01 21:55 ` [Buildroot] [PATCH v2 2/2] gst1-imx: bump to version 0.12.0 Gary Bisson
1 sibling, 1 reply; 13+ messages in thread
From: Gary Bisson @ 2016-02-01 21:55 UTC (permalink / raw)
To: buildroot
This is a library for using the i.MX6 VPU. It is an alternative to
libfslvpuwrap, hosted on Github, and has an API that features several
improvements over libfslvpuwrap, which include:
* User-defined context information associated with input frames, which
is passed on to corresponding output frames (to be able to identify
which input frame produced which output frame)
* Groundwork for future DMA-BUF/BMM/ION/CMA allocator integration, using
file descriptors instead of physical addresses
* Indicators for when it is safe to try to decode frames, which is
critical in multi-threaded playback cases
* Simplified, higher-level JPEG en/decoding API, based on the VPU MJPEG
codec; useful for picture viewing without the extra boilerplate for
VPU-based en/decoding
Changelog 0.10.0 -> 0.10.1:
- add debian packaging files
- update waf to version 1.8.16
- add workaround in wscript to prevent stale pkg-config .pc files
- fix memory leak by adding missing IOFreeVirtMem() call in vpulib
backend
This patch is based on the Yocto equivalent:
https://github.com/Freescale/meta-fsl-arm/commit/e519d6c
https://github.com/Freescale/meta-fsl-arm/commit/1dd6a5b
This package has been implicitely tested through gstreamer as the
plugins rely on it for vpu decoding:
# gst-launch-1.0 playbin uri=file:///root/tears_of_steel_1080p.webm
Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
---
Changelog v1->v2:
- add hash file
- add upstream URL
- change license to LGPLv2.1+
Thanks,
Gary
---
package/Config.in | 1 +
package/libimxvpuapi/Config.in | 12 ++++++++++++
package/libimxvpuapi/libimxvpuapi.hash | 2 ++
package/libimxvpuapi/libimxvpuapi.mk | 35 ++++++++++++++++++++++++++++++++++
4 files changed, 50 insertions(+)
create mode 100644 package/libimxvpuapi/Config.in
create mode 100644 package/libimxvpuapi/libimxvpuapi.hash
create mode 100644 package/libimxvpuapi/libimxvpuapi.mk
diff --git a/package/Config.in b/package/Config.in
index 09c2b40..d3e5e30 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1033,6 +1033,7 @@ menu "Multimedia"
source "package/libfslparser/Config.in"
source "package/libfslvpuwrap/Config.in"
source "package/libhdhomerun/Config.in"
+ source "package/libimxvpuapi/Config.in"
source "package/libmatroska/Config.in"
source "package/libmms/Config.in"
source "package/libmpeg2/Config.in"
diff --git a/package/libimxvpuapi/Config.in b/package/libimxvpuapi/Config.in
new file mode 100644
index 0000000..a48e441
--- /dev/null
+++ b/package/libimxvpuapi/Config.in
@@ -0,0 +1,12 @@
+config BR2_PACKAGE_LIBIMXVPUAPI
+ bool "libimxvpuapi"
+ depends on BR2_arm # Only relevant for i.MX
+ select BR2_PACKAGE_FREESCALE_IMX
+ select BR2_PACKAGE_IMX_VPU
+ help
+ This library provides an API for using the iMX6 VPU video engine. It
+ is an alternative to Freescale's VPU wrapper. Both the wrapper and
+ this library are layered on top of imx-vpu, the low-level iMX6 VPU
+ interface.
+
+ https://github.com/Freescale/libimxvpuapi
diff --git a/package/libimxvpuapi/libimxvpuapi.hash b/package/libimxvpuapi/libimxvpuapi.hash
new file mode 100644
index 0000000..fd90a20
--- /dev/null
+++ b/package/libimxvpuapi/libimxvpuapi.hash
@@ -0,0 +1,2 @@
+# locally computed hash
+sha256 8d7aeed88c06fda44318cef9565ae47b86461bd309908b1103a7974ed0822a8d libimxvpuapi-0.10.1.tar.gz
diff --git a/package/libimxvpuapi/libimxvpuapi.mk b/package/libimxvpuapi/libimxvpuapi.mk
new file mode 100644
index 0000000..8e62682
--- /dev/null
+++ b/package/libimxvpuapi/libimxvpuapi.mk
@@ -0,0 +1,35 @@
+################################################################################
+#
+# libimxvpuapi
+#
+################################################################################
+
+LIBIMXVPUAPI_VERSION = 0.10.1
+LIBIMXVPUAPI_SITE = $(call github,Freescale,libimxvpuapi,$(LIBIMXVPUAPI_VERSION))
+LIBIMXVPUAPI_LICENSE = LGPLv2.1+
+LIBIMXVPUAPI_LICENSE_FILES = LICENSE
+LIBIMXVPUAPI_DEPENDENCIES = host-pkgconf host-python imx-vpu
+LIBIMXVPUAPI_INSTALL_STAGING = YES
+
+define LIBIMXVPUAPI_CONFIGURE_CMDS
+ cd $(@D); \
+ $(TARGET_CONFIGURE_OPTS) $(HOST_DIR)/usr/bin/python2 ./waf configure \
+ --prefix=/usr
+endef
+
+define LIBIMXVPUAPI_BUILD_CMDS
+ cd $(@D); \
+ $(HOST_DIR)/usr/bin/python2 ./waf build -j $(PARALLEL_JOBS)
+endef
+
+define LIBIMXVPUAPI_INSTALL_STAGING_CMDS
+ cd $(@D); \
+ $(HOST_DIR)/usr/bin/python2 ./waf --destdir=$(STAGING_DIR) install
+endef
+
+define LIBIMXVPUAPI_INSTALL_TARGET_CMDS
+ cd $(@D); \
+ $(HOST_DIR)/usr/bin/python2 ./waf --destdir=$(TARGET_DIR) install
+endef
+
+$(eval $(generic-package))
--
2.6.4
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [Buildroot] [PATCH v2 2/2] gst1-imx: bump to version 0.12.0
2016-02-01 21:55 [Buildroot] [PATCH v2 0/2] gst1-imx: bump version to 0.12.0 Gary Bisson
2016-02-01 21:55 ` [Buildroot] [PATCH v2 1/2] libimxvpuapi: add new package Gary Bisson
@ 2016-02-01 21:55 ` Gary Bisson
1 sibling, 0 replies; 13+ messages in thread
From: Gary Bisson @ 2016-02-01 21:55 UTC (permalink / raw)
To: buildroot
Changelog:
* vpu:
- Completely rewritten plugin code; elements now based on libimxvpuapi
instead of libfslvpuwrap
- imxvpuenc_h264 inserts SPS/PPS data in front of I/IDR frames
- imxvpuenc_mjpeg's quality factor actually has an effect, and is
equivalent to the libjpeg's quality factor (it is used in exactly
the same way to scale the quantization matrix' coefficients)
- the encoder's output buffers no longer have to use DMA memory; they
use regular system memory instead
- new support in imxvpudec (referred to as "chroma interleaving") for
NV12, NV16, NV24 as output formats as an alternative to the I420,
Y42B, Y444 formats
- removed all of the system frame number tracking code, since it is
unnecessary; Instead, the libimxvpuapi's context fields are used to
associate input/output frames with GstVideoCodecFrame system frame
numbers
- fix memory leaks related to missing buffer pool unref'ing
* imxv4l2videosrc:
- support for crop metadata
- element uses the width, height, etc. of the format that the device
actually uses during operation (instead of default values)
- autofocus control support via GstPhotography
- fix incorrect GLib warnings
- fix segmentation fault when shutting down the element
* eglvivsink:
- remove extra g_free() calls, which lead to runtime errors
- remove GLESv2 VIVANTE link dependencies
- add Android platform
- manually retrieve VIV direct texture functions
with this and the link dependency elimination, this means that for
platforms except the framebuffer one, no Vivante specific headers
and libraries are needed anymore
- fix blocking issue in the Wayland platform mainloop
* improved and expanded documentation
* pxp: NV16 *is* supported after all (it was actually a bug in GStreamer
pre-1.5.91)
NOTE: this does not break compatibility with GStreamer versions older
than 1.5.91
* compositor: Update backported aggregator code to GStreamer 1.6
* blitter:
- error handling improvements
- add missing buffer pool unref'ing, which lead to memory leaks
- add missing compositor dependency to blitter base
* uniaudio:
- only build the uniaudio plugin if at least one codec was found
during configuration
- disable plugin if the gstaudio library is not available
- add AAC profile field to the sink caps with GStreamer >= 1.4.4 to
ensure the uniaudio decoder is only used for AAC-LC data
* ipu: increase fill frame width from 8 to 64 pixels to make IPU fill
operations work with pre-3.14 Freescale kernels
* g2d: use padding pixels when setting surface parameters, fixing G2D
failures with frame sizes that aren't aligned
* wscript:
- improve Android support
- fix installation paths for the common, blitter, compositor libraries
This is based on the Yocto equivalent:
https://github.com/Freescale/meta-fsl-arm/commit/cf7a088
However this package now offers a more flexible approach because it can
be built without the GPU or VPU elements for devices based on SoCs that
lack those features like the new i.MX7.
Tested with the following commands on i.MX6Q (IPU):
# gst-launch-1.0 playbin uri=file:///root/tears_of_steel_1080p.webm
# gst-launch-1.0 filesrc location=/root/tears_of_steel_1080p.webm ! \
matroskademux ! imxvpudec ! imxipuvideosink
# gst-launch-1.0 filesrc location=/root/tears_of_steel_1080p.webm ! \
matroskademux ! imxvpudec ! imxeglvivsink
Tested with the following commands on i.MX6SX (PXP):
# gst-launch-1.0 imxv4l2videosrc device=/dev/video1 ! imxpxpvideosink
Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
---
Changelog v1->v2:
- add hash file
So far I've kept the PXP/IPU "options" which are not really options.
As explained earlier, the goal is for users of the i.MX7 to know the PXP
plugin will be built without any other dependency.
Thanks,
Gary
---
package/gstreamer1/gst1-imx/Config.in | 58 ++++++++++++++++++++++++++-----
package/gstreamer1/gst1-imx/gst1-imx.hash | 2 ++
package/gstreamer1/gst1-imx/gst1-imx.mk | 15 ++++++--
3 files changed, 64 insertions(+), 11 deletions(-)
create mode 100644 package/gstreamer1/gst1-imx/gst1-imx.hash
diff --git a/package/gstreamer1/gst1-imx/Config.in b/package/gstreamer1/gst1-imx/Config.in
index f7284f4..5f0da84 100644
--- a/package/gstreamer1/gst1-imx/Config.in
+++ b/package/gstreamer1/gst1-imx/Config.in
@@ -1,19 +1,13 @@
comment "gst1-imx needs an imx-specific Linux kernel to be built"
depends on BR2_arm && !BR2_LINUX_KERNEL
-# Required by imx-gpu-viv
-comment "gst1-imx needs an (e)glibc toolchain"
- depends on BR2_arm
- depends on !BR2_TOOLCHAIN_USES_GLIBC
-
-config BR2_PACKAGE_GST1_IMX
+menuconfig BR2_PACKAGE_GST1_IMX
bool "gst1-imx"
depends on BR2_LINUX_KERNEL
depends on BR2_arm # Only relevant for i.MX
- depends on BR2_TOOLCHAIN_USES_GLIBC # imx-gpu-viv
- depends on BR2_PACKAGE_IMX_GPU_VIV
- depends on BR2_PACKAGE_LIBFSLVPUWRAP
select BR2_PACKAGE_GST1_PLUGINS_BASE
+ select BR2_PACKAGE_GST1_IMX_IPU_PLUGIN
+ select BR2_PACKAGE_GST1_IMX_PXP_PLUGIN
help
This is a set of GStreamer 1.0 plugins for plugins for Freescale's
i.MX6 platforms, with emphasis on video en/decoding using the VPU
@@ -25,3 +19,49 @@ config BR2_PACKAGE_GST1_IMX
The software as a whole is currently in beta stage.
https://github.com/Freescale/gstreamer-imx
+
+if BR2_PACKAGE_GST1_IMX
+
+config BR2_PACKAGE_GST1_IMX_IPU_PLUGIN
+ bool "IPU plugin"
+ help
+ IPU plugin library
+
+config BR2_PACKAGE_GST1_IMX_PXP_PLUGIN
+ bool "PXP plugin"
+ help
+ PXP plugin library
+
+config BR2_PACKAGE_GST1_IMX_V4L2_PLUGIN
+ bool "V4L2 plugin"
+ select BR2_PACKAGE_GST1_PLUGINS_BAD
+ help
+ V4L2 plugin library
+
+config BR2_PACKAGE_GST1_IMX_VPU_PLUGIN
+ bool "VPU plugin"
+ select BR2_PACKAGE_LIBIMXVPUAPI
+ help
+ VPU plugin library
+
+# Required by imx-gpu-viv
+comment "GPU sinks need an (e)glibc toolchain"
+ depends on !BR2_TOOLCHAIN_USES_GLIBC
+
+config BR2_PACKAGE_GST1_IMX_EGL_PLUGIN
+ bool "EGL plugin"
+ depends on BR2_TOOLCHAIN_USES_GLIBC # imx-gpu-viv
+ depends on BR2_PACKAGE_IMX_GPU_VIV
+ help
+ EGL plugin library
+
+config BR2_PACKAGE_GST1_IMX_G2D_PLUGIN
+ bool "G2D plugin"
+ depends on BR2_TOOLCHAIN_USES_GLIBC # imx-gpu-viv
+ depends on BR2_PACKAGE_IMX_GPU_VIV
+ depends on BR2_PACKAGE_GST1_IMX_EGL_PLUGIN
+ select BR2_PACKAGE_IMX_GPU_VIV_G2D
+ help
+ G2D plugin library
+
+endif
diff --git a/package/gstreamer1/gst1-imx/gst1-imx.hash b/package/gstreamer1/gst1-imx/gst1-imx.hash
new file mode 100644
index 0000000..03e1729
--- /dev/null
+++ b/package/gstreamer1/gst1-imx/gst1-imx.hash
@@ -0,0 +1,2 @@
+# locally computed hash
+sha256 df34f080e24ac8f1619780aa5ad4e6ab1333f822cd2bf5fcb380b28c97248810 gst1-imx-0.12.0.tar.gz
diff --git a/package/gstreamer1/gst1-imx/gst1-imx.mk b/package/gstreamer1/gst1-imx/gst1-imx.mk
index 8ede8ad..f3eac0a 100644
--- a/package/gstreamer1/gst1-imx/gst1-imx.mk
+++ b/package/gstreamer1/gst1-imx/gst1-imx.mk
@@ -4,7 +4,7 @@
#
################################################################################
-GST1_IMX_VERSION = 0.11.1
+GST1_IMX_VERSION = 0.12.0
GST1_IMX_SITE = $(call github,Freescale,gstreamer-imx,$(GST1_IMX_VERSION))
GST1_IMX_LICENSE = LGPLv2+
@@ -13,13 +13,23 @@ GST1_IMX_LICENSE_FILES = LICENSE
GST1_IMX_INSTALL_STAGING = YES
GST1_IMX_DEPENDENCIES += host-pkgconf host-python \
- imx-gpu-viv gstreamer1 gst1-plugins-base libfslvpuwrap
+ gstreamer1 gst1-plugins-base
# needs access to imx-specific kernel headers
GST1_IMX_DEPENDENCIES += linux
GST1_IMX_CONF_OPTS += --prefix="/usr" \
--kernel-headers="$(LINUX_DIR)/include"
+ifeq ($(BR2_PACKAGE_GST1_IMX_V4L2_PLUGIN),y)
+GST1_IMX_DEPENDENCIES += gst1-plugins-bad
+endif
+
+ifeq ($(BR2_PACKAGE_GST1_IMX_VPU_PLUGIN),y)
+GST1_IMX_DEPENDENCIES += libimxvpuapi
+endif
+
+ifeq ($(BR2_PACKAGE_GST1_IMX_EGL_PLUGIN),y)
+GST1_IMX_DEPENDENCIES += imx-gpu-viv
ifeq ($(BR2_PACKAGE_XLIB_LIBX11),y)
GST1_IMX_DEPENDENCIES += xlib_libX11
GST1_IMX_CONF_OPTS += --egl-platform=x11
@@ -31,6 +41,7 @@ else
GST1_IMX_CONF_OPTS += --egl-platform=fb
endif
endif
+endif
define GST1_IMX_CONFIGURE_CMDS
cd $(@D); \
--
2.6.4
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [Buildroot] [PATCH v2 1/2] libimxvpuapi: add new package
2016-02-01 21:55 ` [Buildroot] [PATCH v2 1/2] libimxvpuapi: add new package Gary Bisson
@ 2016-02-16 20:53 ` Peter Seiderer
2016-02-16 22:57 ` Gary Bisson
0 siblings, 1 reply; 13+ messages in thread
From: Peter Seiderer @ 2016-02-16 20:53 UTC (permalink / raw)
To: buildroot
Hello Gary,
On Mon, 1 Feb 2016 22:55:58 +0100, Gary Bisson <gary.bisson@boundarydevices.com> wrote:
> This is a library for using the i.MX6 VPU. It is an alternative to
> libfslvpuwrap, hosted on Github, and has an API that features several
> improvements over libfslvpuwrap, which include:
>
> * User-defined context information associated with input frames, which
> is passed on to corresponding output frames (to be able to identify
> which input frame produced which output frame)
> * Groundwork for future DMA-BUF/BMM/ION/CMA allocator integration, using
> file descriptors instead of physical addresses
> * Indicators for when it is safe to try to decode frames, which is
> critical in multi-threaded playback cases
> * Simplified, higher-level JPEG en/decoding API, based on the VPU MJPEG
> codec; useful for picture viewing without the extra boilerplate for
> VPU-based en/decoding
>
> Changelog 0.10.0 -> 0.10.1:
> - add debian packaging files
> - update waf to version 1.8.16
> - add workaround in wscript to prevent stale pkg-config .pc files
> - fix memory leak by adding missing IOFreeVirtMem() call in vpulib
> backend
>
> This patch is based on the Yocto equivalent:
> https://github.com/Freescale/meta-fsl-arm/commit/e519d6c
> https://github.com/Freescale/meta-fsl-arm/commit/1dd6a5b
>
> This package has been implicitely tested through gstreamer as the
> plugins rely on it for vpu decoding:
> # gst-launch-1.0 playbin uri=file:///root/tears_of_steel_1080p.webm
>
> Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
> ---
>
> Changelog v1->v2:
> - add hash file
> - add upstream URL
> - change license to LGPLv2.1+
>
> Thanks,
> Gary
>
> ---
> package/Config.in | 1 +
> package/libimxvpuapi/Config.in | 12 ++++++++++++
> package/libimxvpuapi/libimxvpuapi.hash | 2 ++
> package/libimxvpuapi/libimxvpuapi.mk | 35 ++++++++++++++++++++++++++++++++++
> 4 files changed, 50 insertions(+)
> create mode 100644 package/libimxvpuapi/Config.in
> create mode 100644 package/libimxvpuapi/libimxvpuapi.hash
> create mode 100644 package/libimxvpuapi/libimxvpuapi.mk
>
> diff --git a/package/Config.in b/package/Config.in
> index 09c2b40..d3e5e30 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -1033,6 +1033,7 @@ menu "Multimedia"
> source "package/libfslparser/Config.in"
> source "package/libfslvpuwrap/Config.in"
> source "package/libhdhomerun/Config.in"
> + source "package/libimxvpuapi/Config.in"
> source "package/libmatroska/Config.in"
> source "package/libmms/Config.in"
> source "package/libmpeg2/Config.in"
> diff --git a/package/libimxvpuapi/Config.in b/package/libimxvpuapi/Config.in
> new file mode 100644
> index 0000000..a48e441
> --- /dev/null
> +++ b/package/libimxvpuapi/Config.in
> @@ -0,0 +1,12 @@
> +config BR2_PACKAGE_LIBIMXVPUAPI
> + bool "libimxvpuapi"
> + depends on BR2_arm # Only relevant for i.MX
> + select BR2_PACKAGE_FREESCALE_IMX
> + select BR2_PACKAGE_IMX_VPU
> + help
> + This library provides an API for using the iMX6 VPU video engine. It
> + is an alternative to Freescale's VPU wrapper. Both the wrapper and
> + this library are layered on top of imx-vpu, the low-level iMX6 VPU
> + interface.
> +
> + https://github.com/Freescale/libimxvpuapi
> diff --git a/package/libimxvpuapi/libimxvpuapi.hash b/package/libimxvpuapi/libimxvpuapi.hash
> new file mode 100644
> index 0000000..fd90a20
> --- /dev/null
> +++ b/package/libimxvpuapi/libimxvpuapi.hash
> @@ -0,0 +1,2 @@
> +# locally computed hash
> +sha256 8d7aeed88c06fda44318cef9565ae47b86461bd309908b1103a7974ed0822a8d libimxvpuapi-0.10.1.tar.gz
> diff --git a/package/libimxvpuapi/libimxvpuapi.mk b/package/libimxvpuapi/libimxvpuapi.mk
> new file mode 100644
> index 0000000..8e62682
> --- /dev/null
> +++ b/package/libimxvpuapi/libimxvpuapi.mk
> @@ -0,0 +1,35 @@
> +################################################################################
> +#
> +# libimxvpuapi
> +#
> +################################################################################
> +
> +LIBIMXVPUAPI_VERSION = 0.10.1
> +LIBIMXVPUAPI_SITE = $(call github,Freescale,libimxvpuapi,$(LIBIMXVPUAPI_VERSION))
> +LIBIMXVPUAPI_LICENSE = LGPLv2.1+
> +LIBIMXVPUAPI_LICENSE_FILES = LICENSE
> +LIBIMXVPUAPI_DEPENDENCIES = host-pkgconf host-python imx-vpu
> +LIBIMXVPUAPI_INSTALL_STAGING = YES
> +
> +define LIBIMXVPUAPI_CONFIGURE_CMDS
> + cd $(@D); \
> + $(TARGET_CONFIGURE_OPTS) $(HOST_DIR)/usr/bin/python2 ./waf configure \
> + --prefix=/usr
> +endef
On my x86_64 (OpenSUSE-13.2) host build the libs and libimxvpuapi.pc
are installed into $(STAGING_DIR)/usr/lib64 and $(TARGET_DIR)/usr/lib64.
To be usable by eg. gst1-imx the install path should be $(STAGING_DIR)/usr/lib
and $(TARGET_DIR)/usr/lib. To achieve this I added '--libdir=/usr/lib' to
overwrite the default '/usr/lib64':
--- a/package/libimxvpuapi/libimxvpuapi.mk
+++ b/package/libimxvpuapi/libimxvpuapi.mk
@@ -14,7 +14,7 @@ LIBIMXVPUAPI_INSTALL_STAGING = YES
define LIBIMXVPUAPI_CONFIGURE_CMDS
cd $(@D); \
$(TARGET_CONFIGURE_OPTS) $(HOST_DIR)/usr/bin/python2 ./waf configure \
- --prefix=/usr
+ --prefix=/usr --libdir=/usr/lib
endef
define LIBIMXVPUAPI_BUILD_CMDS
With this you can add my
Tested-by: Peter Seiderer <ps.report@gmx.net>
for '...! imxvpudec ! imxipuvideosink'
But I had problems using the imxeglvivsink element and
with qt5 eglfs, suspecting your 'Update most Freescale packages' patch series
(using buildroot-2016.02-rc1 with your '[PATCH v3 0/2] gst1-imx: bump version to 0.12.0'
patches on top), but did not find time yet to investigate further...
Regards,
Peter
> +
> +define LIBIMXVPUAPI_BUILD_CMDS
> + cd $(@D); \
> + $(HOST_DIR)/usr/bin/python2 ./waf build -j $(PARALLEL_JOBS)
> +endef
> +
> +define LIBIMXVPUAPI_INSTALL_STAGING_CMDS
> + cd $(@D); \
> + $(HOST_DIR)/usr/bin/python2 ./waf --destdir=$(STAGING_DIR) install
> +endef
> +
> +define LIBIMXVPUAPI_INSTALL_TARGET_CMDS
> + cd $(@D); \
> + $(HOST_DIR)/usr/bin/python2 ./waf --destdir=$(TARGET_DIR) install
> +endef
> +
> +$(eval $(generic-package))
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Buildroot] [PATCH v2 1/2] libimxvpuapi: add new package
2016-02-16 20:53 ` Peter Seiderer
@ 2016-02-16 22:57 ` Gary Bisson
2016-02-17 9:26 ` Peter Seiderer
2016-02-17 9:45 ` Peter Seiderer
0 siblings, 2 replies; 13+ messages in thread
From: Gary Bisson @ 2016-02-16 22:57 UTC (permalink / raw)
To: buildroot
Peter, All,
On Tue, Feb 16, 2016 at 9:53 PM, Peter Seiderer <ps.report@gmx.net> wrote:
>
> Hello Gary,
>
> On Mon, 1 Feb 2016 22:55:58 +0100, Gary Bisson <gary.bisson@boundarydevices.com> wrote:
>
> > <snip>
> > +LIBIMXVPUAPI_VERSION = 0.10.1
> > +LIBIMXVPUAPI_SITE = $(call github,Freescale,libimxvpuapi,$(LIBIMXVPUAPI_VERSION))
> > +LIBIMXVPUAPI_LICENSE = LGPLv2.1+
> > +LIBIMXVPUAPI_LICENSE_FILES = LICENSE
> > +LIBIMXVPUAPI_DEPENDENCIES = host-pkgconf host-python imx-vpu
> > +LIBIMXVPUAPI_INSTALL_STAGING = YES
> > +
> > +define LIBIMXVPUAPI_CONFIGURE_CMDS
> > + cd $(@D); \
> > + $(TARGET_CONFIGURE_OPTS) $(HOST_DIR)/usr/bin/python2 ./waf configure \
> > + --prefix=/usr
> > +endef
>
> On my x86_64 (OpenSUSE-13.2) host build the libs and libimxvpuapi.pc
> are installed into $(STAGING_DIR)/usr/lib64 and $(TARGET_DIR)/usr/lib64.
>
> To be usable by eg. gst1-imx the install path should be $(STAGING_DIR)/usr/lib
> and $(TARGET_DIR)/usr/lib. To achieve this I added '--libdir=/usr/lib' to
> overwrite the default '/usr/lib64':
I'd like to understand why it behaves like this with your setup. I'm
using a 64-bit OS too (Debian Testing) but the libs go to /usr/lib as
expected.
Could you pastebin the full log of libimxvpuapi build, your buildroot
configuration as well as you 'env'?
> --- a/package/libimxvpuapi/libimxvpuapi.mk
> +++ b/package/libimxvpuapi/libimxvpuapi.mk
> @@ -14,7 +14,7 @@ LIBIMXVPUAPI_INSTALL_STAGING = YES
> define LIBIMXVPUAPI_CONFIGURE_CMDS
> cd $(@D); \
> $(TARGET_CONFIGURE_OPTS) $(HOST_DIR)/usr/bin/python2 ./waf configure \
> - --prefix=/usr
> + --prefix=/usr --libdir=/usr/lib
> endef
>
> define LIBIMXVPUAPI_BUILD_CMDS
>
>
> With this you can add my
>
> Tested-by: Peter Seiderer <ps.report@gmx.net>
>
> for '...! imxvpudec ! imxipuvideosink'
Ok, I'll do that once I understand the difference which requires this
libdir argument.
> But I had problems using the imxeglvivsink element and
> with qt5 eglfs, suspecting your 'Update most Freescale packages' patch series
> (using buildroot-2016.02-rc1 with your '[PATCH v3 0/2] gst1-imx: bump version to 0.12.0'
> patches on top), but did not find time yet to investigate further...
Does a basic gstreamer pipeline work?
# gst-launch-1.0 videotestsrc ! imxeglvivsink
If not there's no wonder qt5 doesn't like it. I haven't tried qt5 but
I'm sure the gstreamer imxeglvivsink does work.
In case you've enabled BR2_PACKAGE_KERNEL_MODULE_IMX_GPU_VIV, you
might need to load the Galcore module manually in case you don't have
eudev for instance:
# insmod /lib/modules/3.14.28/extra/galcore.ko
Regards,
Gary
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Buildroot] [PATCH v2 1/2] libimxvpuapi: add new package
2016-02-16 22:57 ` Gary Bisson
@ 2016-02-17 9:26 ` Peter Seiderer
2016-02-17 9:37 ` Gary Bisson
2016-02-17 9:45 ` Peter Seiderer
1 sibling, 1 reply; 13+ messages in thread
From: Peter Seiderer @ 2016-02-17 9:26 UTC (permalink / raw)
To: buildroot
Hello Gary,
> Gesendet: Dienstag, 16. Februar 2016 um 23:57 Uhr
> Von: "Gary Bisson" <gary.bisson@boundarydevices.com>
> An: "Peter Seiderer" <ps.report@gmx.net>
> Cc: buildroot at busybox.net, "Thomas Petazzoni" <thomas.petazzoni@free-electrons.com>
> Betreff: Re: [Buildroot] [PATCH v2 1/2] libimxvpuapi: add new package
[snip]
>
> > But I had problems using the imxeglvivsink element and
> > with qt5 eglfs, suspecting your 'Update most Freescale packages' patch series
> > (using buildroot-2016.02-rc1 with your '[PATCH v3 0/2] gst1-imx: bump version to 0.12.0'
> > patches on top), but did not find time yet to investigate further...
>
> Does a basic gstreamer pipeline work?
> # gst-launch-1.0 videotestsrc ! imxeglvivsink
>
No:
$ GST_DEBUG=*:3 gst-launch-1.0 videotestsrc ! imxeglvivsink
Setting pipeline to PAUSED ...
mxc_sdc_fb fb.20: 1920x1080 h_sync,r,l: 44,88,148 v_sync,l,u: 5,4,36 pixclock=148500000 Hz
imx-ipuv3 2800000.ipu: try ipu internal clk
imx-ipuv3 2800000.ipu: disp=0, pixel_clk=148500000 148500000 parent=148500000 div=1
0:00:00.229253000 245 0x9d1ee0 ERROR imxeglplatform_fb egl_platform_fb.c:72:gst_imx_egl_viv_sink_egl_platform_create: eglGetDisplay failed: bad alloc
ERROR: Pipeline doesn't want to pause.
Setting pipeline to NULL ...
Freeing pipeline ...
mxc_sdc_fb fb.20: 1920x1080 h_sync,r,l: 44,88,148 v_sync,l,u: 5,4,36 pixclock=148500000 Hz
imx-ipuv3 2800000.ipu: try ipu internal clk
imx-ipuv3 2800000.ipu: disp=0, pixel_clk=148500000 148500000 parent=148500000 div=1
Using Buildroot-2016-02-rc1 with
https://patchwork.ozlabs.org/patch/577011/mbox/
https://patchwork.ozlabs.org/patch/577012/mbox/
and 'qt5tools: new package' patches on top with the following defconfig (based on
the original nitrogen6x_defconfig config):
BR2_arm=y
BR2_cortex_a9=y
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_14=y
BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
BR2_GLIBC_VERSION_2_22=y
BR2_BINUTILS_VERSION_2_25_X=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
BR2_TARGET_GENERIC_GETTY_PORT="ttymxc1"
BR2_ROOTFS_POST_BUILD_SCRIPT="board/boundarydevices/nitrogen6x/post-build.sh"
BR2_ROOTFS_POST_IMAGE_SCRIPT="board/boundarydevices/nitrogen6x/post-image.sh"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/linux-imx6/tarball/f4c8395/linux-imx6-f4c8395.tar.gz"
BR2_LINUX_KERNEL_DEFCONFIG="boundary"
BR2_LINUX_KERNEL_ZIMAGE=y
BR2_LINUX_KERNEL_DTS_SUPPORT=y
BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6dl-nit6xlite imx6dl-nitrogen6_vm imx6dl-nitrogen6x imx6q-nitrogen6x imx6q-nitrogen6_max imx6q-sabrelite"
BR2_LINUX_KERNEL_INSTALL_TARGET=y
BR2_PACKAGE_GSTREAMER1=y
BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_APP=y
BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIOTESTSRC=y
BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOTESTSRC=y
BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ALSA=y
BR2_PACKAGE_GST1_PLUGINS_GOOD=y
BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_V4L2=y
BR2_PACKAGE_GST1_PLUGINS_BAD=y
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOPARSERS=y
BR2_PACKAGE_GST1_PLUGINS_UGLY=y
BR2_PACKAGE_GST1_IMX=y
BR2_PACKAGE_BINUTILS=y
BR2_PACKAGE_DEJAVU=y
BR2_PACKAGE_QT5=y
BR2_PACKAGE_QT5BASE_LICENSE_APPROVED=y
BR2_PACKAGE_QT5BASE_SQLITE_SYSTEM=y
BR2_PACKAGE_QT5BASE_OPENGL_LIB=y
BR2_PACKAGE_QT5BASE_LINUXFB=y
BR2_PACKAGE_QT5BASE_EGLFS=y
BR2_PACKAGE_QT5BASE_DEFAULT_QPA="eglfs"
BR2_PACKAGE_QT5BASE_FONTCONFIG=y
BR2_PACKAGE_QT5BASE_GIF=y
BR2_PACKAGE_QT5BASE_JPEG=y
BR2_PACKAGE_QT5BASE_PNG=y
BR2_PACKAGE_QT5GRAPHICALEFFECTS=y
BR2_PACKAGE_QT5MULTIMEDIA=y
BR2_PACKAGE_QT5QUICKCONTROLS=y
BR2_PACKAGE_QT5SERIALPORT=y
BR2_PACKAGE_QT5TOOLS=y
BR2_PACKAGE_QT5TOOLS_LINGUIST_TOOLS=y
BR2_PACKAGE_QT5WEBSOCKETS=y
BR2_PACKAGE_QT5SCRIPT=y
BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q=y
BR2_PACKAGE_IMX_LIB=y
BR2_PACKAGE_IMX_GPU_VIV=y
BR2_PACKAGE_OPENSSL=y
BR2_PACKAGE_LIBV4L=y
BR2_PACKAGE_LIBV4L_UTILS=y
BR2_PACKAGE_LIBIMXVPUAPI=y
BR2_TARGET_ROOTFS_EXT2=y
BR2_TARGET_ROOTFS_EXT2_4=y
BR2_TARGET_UBOOT=y
BR2_TARGET_UBOOT_BOARDNAME="nitrogen6q"
BR2_TARGET_UBOOT_CUSTOM_TARBALL=y
BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="http://github.com/boundarydevices/u-boot-imx6/tarball/a4070a8/u-boot-a4070a8.tar.gz"
BR2_TARGET_UBOOT_FORMAT_IMX=y
BR2_PACKAGE_HOST_GENIMAGE=y
BR2_PACKAGE_HOST_UBOOT_TOOLS=y
> If not there's no wonder qt5 doesn't like it. I haven't tried qt5 but
> I'm sure the gstreamer imxeglvivsink does work.
>
My last working version was based on buildroot-2015.11.1 plus 'qt5: bump version to 5.5.1' and
'qt5tools: new package' on top...
> In case you've enabled BR2_PACKAGE_KERNEL_MODULE_IMX_GPU_VIV, you
> might need to load the Galcore module manually in case you don't have
> eudev for instance:
> # insmod /lib/modules/3.14.28/extra/galcore.ko
No, working with boundarydevices linux-imx6-f4c8395 and original boundary config
and there is a '/dev/galcore' entry on the target...
Regards,
Peter
>
> Regards,
> Gary
>
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Buildroot] [PATCH v2 1/2] libimxvpuapi: add new package
2016-02-17 9:26 ` Peter Seiderer
@ 2016-02-17 9:37 ` Gary Bisson
2016-02-17 12:30 ` Peter Seiderer
0 siblings, 1 reply; 13+ messages in thread
From: Gary Bisson @ 2016-02-17 9:37 UTC (permalink / raw)
To: buildroot
Hi Peter,
On Wed, Feb 17, 2016 at 10:26 AM, Peter Seiderer <ps.report@gmx.net> wrote:
>
> Hello Gary,
>
> > Gesendet: Dienstag, 16. Februar 2016 um 23:57 Uhr
> > Von: "Gary Bisson" <gary.bisson@boundarydevices.com>
> > An: "Peter Seiderer" <ps.report@gmx.net>
> > Cc: buildroot at busybox.net, "Thomas Petazzoni" <thomas.petazzoni@free-electrons.com>
> > Betreff: Re: [Buildroot] [PATCH v2 1/2] libimxvpuapi: add new package
>
> [snip]
>
> >
> > > But I had problems using the imxeglvivsink element and
> > > with qt5 eglfs, suspecting your 'Update most Freescale packages' patch series
> > > (using buildroot-2016.02-rc1 with your '[PATCH v3 0/2] gst1-imx: bump version to 0.12.0'
> > > patches on top), but did not find time yet to investigate further...
> >
> > Does a basic gstreamer pipeline work?
> > # gst-launch-1.0 videotestsrc ! imxeglvivsink
> >
>
> No:
>
> $ GST_DEBUG=*:3 gst-launch-1.0 videotestsrc ! imxeglvivsink
> Setting pipeline to PAUSED ...
> mxc_sdc_fb fb.20: 1920x1080 h_sync,r,l: 44,88,148 v_sync,l,u: 5,4,36 pixclock=148500000 Hz
> imx-ipuv3 2800000.ipu: try ipu internal clk
> imx-ipuv3 2800000.ipu: disp=0, pixel_clk=148500000 148500000 parent=148500000 div=1
> 0:00:00.229253000 245 0x9d1ee0 ERROR imxeglplatform_fb egl_platform_fb.c:72:gst_imx_egl_viv_sink_egl_platform_create: eglGetDisplay failed: bad alloc
> ERROR: Pipeline doesn't want to pause.
> Setting pipeline to NULL ...
> Freeing pipeline ...
> mxc_sdc_fb fb.20: 1920x1080 h_sync,r,l: 44,88,148 v_sync,l,u: 5,4,36 pixclock=148500000 Hz
> imx-ipuv3 2800000.ipu: try ipu internal clk
> imx-ipuv3 2800000.ipu: disp=0, pixel_clk=148500000 148500000 parent=148500000 div=1
>
> Using Buildroot-2016-02-rc1 with
> https://patchwork.ozlabs.org/patch/577011/mbox/
> https://patchwork.ozlabs.org/patch/577012/mbox/
The setup I tried yesterday was:
- Buildroot master commit f3fac0dcfdf (post 2016.02-rc1).
- Plus the two patches you mention above
> and 'qt5tools: new package' patches on top with the following defconfig (based on
> the original nitrogen6x_defconfig config):
>
> BR2_arm=y
> BR2_cortex_a9=y
> BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_14=y
> BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
> BR2_GLIBC_VERSION_2_22=y
> BR2_BINUTILS_VERSION_2_25_X=y
> BR2_TOOLCHAIN_BUILDROOT_CXX=y
> BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
> BR2_TARGET_GENERIC_GETTY_PORT="ttymxc1"
> BR2_ROOTFS_POST_BUILD_SCRIPT="board/boundarydevices/nitrogen6x/post-build.sh"
> BR2_ROOTFS_POST_IMAGE_SCRIPT="board/boundarydevices/nitrogen6x/post-image.sh"
> BR2_LINUX_KERNEL=y
> BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
> BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/linux-imx6/tarball/f4c8395/linux-imx6-f4c8395.tar.gz"
> BR2_LINUX_KERNEL_DEFCONFIG="boundary"
> BR2_LINUX_KERNEL_ZIMAGE=y
> BR2_LINUX_KERNEL_DTS_SUPPORT=y
> BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6dl-nit6xlite imx6dl-nitrogen6_vm imx6dl-nitrogen6x imx6q-nitrogen6x imx6q-nitrogen6_max imx6q-sabrelite"
> BR2_LINUX_KERNEL_INSTALL_TARGET=y
> BR2_PACKAGE_GSTREAMER1=y
> BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_APP=y
> BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIOTESTSRC=y
> BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOTESTSRC=y
> BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ALSA=y
> BR2_PACKAGE_GST1_PLUGINS_GOOD=y
> BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_V4L2=y
> BR2_PACKAGE_GST1_PLUGINS_BAD=y
> BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOPARSERS=y
> BR2_PACKAGE_GST1_PLUGINS_UGLY=y
> BR2_PACKAGE_GST1_IMX=y
> BR2_PACKAGE_BINUTILS=y
> BR2_PACKAGE_DEJAVU=y
> BR2_PACKAGE_QT5=y
> BR2_PACKAGE_QT5BASE_LICENSE_APPROVED=y
> BR2_PACKAGE_QT5BASE_SQLITE_SYSTEM=y
> BR2_PACKAGE_QT5BASE_OPENGL_LIB=y
> BR2_PACKAGE_QT5BASE_LINUXFB=y
> BR2_PACKAGE_QT5BASE_EGLFS=y
> BR2_PACKAGE_QT5BASE_DEFAULT_QPA="eglfs"
> BR2_PACKAGE_QT5BASE_FONTCONFIG=y
> BR2_PACKAGE_QT5BASE_GIF=y
> BR2_PACKAGE_QT5BASE_JPEG=y
> BR2_PACKAGE_QT5BASE_PNG=y
> BR2_PACKAGE_QT5GRAPHICALEFFECTS=y
> BR2_PACKAGE_QT5MULTIMEDIA=y
> BR2_PACKAGE_QT5QUICKCONTROLS=y
> BR2_PACKAGE_QT5SERIALPORT=y
> BR2_PACKAGE_QT5TOOLS=y
> BR2_PACKAGE_QT5TOOLS_LINGUIST_TOOLS=y
> BR2_PACKAGE_QT5WEBSOCKETS=y
> BR2_PACKAGE_QT5SCRIPT=y
> BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q=y
> BR2_PACKAGE_IMX_LIB=y
> BR2_PACKAGE_IMX_GPU_VIV=y
> BR2_PACKAGE_OPENSSL=y
> BR2_PACKAGE_LIBV4L=y
> BR2_PACKAGE_LIBV4L_UTILS=y
> BR2_PACKAGE_LIBIMXVPUAPI=y
> BR2_TARGET_ROOTFS_EXT2=y
> BR2_TARGET_ROOTFS_EXT2_4=y
> BR2_TARGET_UBOOT=y
> BR2_TARGET_UBOOT_BOARDNAME="nitrogen6q"
> BR2_TARGET_UBOOT_CUSTOM_TARBALL=y
> BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="http://github.com/boundarydevices/u-boot-imx6/tarball/a4070a8/u-boot-a4070a8.tar.gz"
> BR2_TARGET_UBOOT_FORMAT_IMX=y
> BR2_PACKAGE_HOST_GENIMAGE=y
> BR2_PACKAGE_HOST_UBOOT_TOOLS=y
>
> > If not there's no wonder qt5 doesn't like it. I haven't tried qt5 but
> > I'm sure the gstreamer imxeglvivsink does work.
> >
>
> My last working version was based on buildroot-2015.11.1 plus 'qt5: bump version to 5.5.1' and
> 'qt5tools: new package' on top...
>
> > In case you've enabled BR2_PACKAGE_KERNEL_MODULE_IMX_GPU_VIV, you
> > might need to load the Galcore module manually in case you don't have
> > eudev for instance:
> > # insmod /lib/modules/3.14.28/extra/galcore.ko
>
> No, working with boundarydevices linux-imx6-f4c8395 and original boundary config
> and there is a '/dev/galcore' entry on the target...
Yes but that is the problem. Please try again with
BR2_PACKAGE_KERNEL_MODULE_IMX_GPU_VIV.
As you know, 3D graphics libraries match a specific kernel driver.
Since it was an issue for many people, Vivante started to provide a
kernel module so you can easily have the latest driver on an older
kernel.
Since I've updated the graphics to the latest (5.0.11 p7.1), the
driver inside the 3.14.28 kernel is outdated so you need to use the
Vivante kernel module. I didn't for the selection of the kernel module
when the libraries are selected since some kernels (3.14.52) have the
correct driver built-in.
Sorry for the confusion but know that if you want to make sure the
driver matches the user-space blobs, always select the Vivante kernel
module as I'll make to always update both at the same time.
Regards,
Gary
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Buildroot] [PATCH v2 1/2] libimxvpuapi: add new package
2016-02-16 22:57 ` Gary Bisson
2016-02-17 9:26 ` Peter Seiderer
@ 2016-02-17 9:45 ` Peter Seiderer
2016-02-17 10:03 ` Gary Bisson
1 sibling, 1 reply; 13+ messages in thread
From: Peter Seiderer @ 2016-02-17 9:45 UTC (permalink / raw)
To: buildroot
Hello Gary,
> Gesendet: Dienstag, 16. Februar 2016 um 23:57 Uhr
> Von: "Gary Bisson" <gary.bisson@boundarydevices.com>
> An: "Peter Seiderer" <ps.report@gmx.net>
> Cc: buildroot at busybox.net, "Thomas Petazzoni" <thomas.petazzoni@free-electrons.com>
> Betreff: Re: [Buildroot] [PATCH v2 1/2] libimxvpuapi: add new package
>
> Peter, All,
>
> On Tue, Feb 16, 2016 at 9:53 PM, Peter Seiderer <ps.report@gmx.net> wrote:
> >
> > Hello Gary,
> >
> > On Mon, 1 Feb 2016 22:55:58 +0100, Gary Bisson <gary.bisson@boundarydevices.com> wrote:
> >
> > > <snip>
> > > +LIBIMXVPUAPI_VERSION = 0.10.1
> > > +LIBIMXVPUAPI_SITE = $(call github,Freescale,libimxvpuapi,$(LIBIMXVPUAPI_VERSION))
> > > +LIBIMXVPUAPI_LICENSE = LGPLv2.1+
> > > +LIBIMXVPUAPI_LICENSE_FILES = LICENSE
> > > +LIBIMXVPUAPI_DEPENDENCIES = host-pkgconf host-python imx-vpu
> > > +LIBIMXVPUAPI_INSTALL_STAGING = YES
> > > +
> > > +define LIBIMXVPUAPI_CONFIGURE_CMDS
> > > + cd $(@D); \
> > > + $(TARGET_CONFIGURE_OPTS) $(HOST_DIR)/usr/bin/python2 ./waf configure \
> > > + --prefix=/usr
> > > +endef
> >
> > On my x86_64 (OpenSUSE-13.2) host build the libs and libimxvpuapi.pc
> > are installed into $(STAGING_DIR)/usr/lib64 and $(TARGET_DIR)/usr/lib64.
> >
> > To be usable by eg. gst1-imx the install path should be $(STAGING_DIR)/usr/lib
> > and $(TARGET_DIR)/usr/lib. To achieve this I added '--libdir=/usr/lib' to
> > overwrite the default '/usr/lib64':
>
> I'd like to understand why it behaves like this with your setup. I'm
> using a 64-bit OS too (Debian Testing) but the libs go to /usr/lib as
> expected.
>
> Could you pastebin the full log of libimxvpuapi build, your buildroot
> configuration as well as you 'env'?
>
Build log attached (rm -r build/libimxvpuapi-0.10.1; make V=1 2>&1 | tee out_build_libimxvpuapi_orig.txt),
same buildroot setup as in previous e-mail: out_build_libimxvpuapi_orig.txt
$ cd build/libimxvpuapi-0.10.1/
$ /home/seiderer/Work/BD_Nitrogen6x/Buildroot-2016-02/build_2016_02_001/host/usr/bin/python2 ./waf configure --help
...
--libdir=LIBDIR object code libraries [EXEC_PREFIX/lib64]
...
$ env
LESSKEY=/etc/lesskey.bin
NNTPSERVER=news
MANPATH=/usr/local/man:/usr/share/man
HOSTNAME=XXXXXXX
XKEYSYMDB=/usr/X11R6/lib/X11/XKeysymDB
HOST=XXXXXXX
TERM=rxvt-unicode-256color
SHELL=/bin/bash
PROFILEREAD=true
HISTSIZE=1000
MORE=-sl
JRE_HOME=/usr/lib64/jvm/java/jre
USER=seiderer
LS_COLORS=
XNLSPATH=/usr/share/X11/nls
QEMU_AUDIO_DRV=pa
HOSTTYPE=x86_64
CONFIG_SITE=/usr/share/site/x86_64-unknown-linux-gnu
FROM_HEADER=
PAGER=less
CSHEDIT=emacs
XDG_CONFIG_DIRS=/etc/xdg
LIBGL_DEBUG=quiet
MINICOM=-c on
MAIL=/var/mail/seiderer
PATH=/opt/tools/bin:/home/seiderer/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
CPU=x86_64
JAVA_BINDIR=/usr/lib64/jvm/java/bin
INPUTRC=/home/seiderer/.inputrc
PWD=/home/seiderer/Work/BD_Nitrogen6x/Buildroot-2016-02/build_2016_02_001/build/libimxvpuapi-0.10.1
gopher_proxy=
JAVA_HOME=/usr/lib64/jvm/java
LANG=en_US.UTF-8
PYTHONSTARTUP=/etc/pythonstart
SDK_HOME=/usr/lib64/jvm/java
GPG_TTY=/dev/pts/3
AUDIODRIVER=pulseaudio
QT_SYSTEM_DIR=/usr/share/desktop-data
JDK_HOME=/usr/lib64/jvm/java
SHLVL=1
HOME=/home/seiderer
ALSA_CONFIG_PATH=/etc/alsa-pulse.conf
SDL_AUDIODRIVER=pulse
LESS_ADVANCED_PREPROCESSOR=no
OSTYPE=linux
LS_OPTIONS=-N --color=none -T 0
WINDOWMANAGER=/usr/bin/gnome
G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-15,CP1252
LESS=-M -I -R
MACHTYPE=x86_64-suse-linux
LOGNAME=seiderer
CVS_RSH=ssh
XDG_DATA_DIRS=/usr/share
SSH_CONNECTION=10.5.121.193 49159 10.5.123.15 22
LESSOPEN=lessopen.sh %s
XDG_RUNTIME_DIR=/run/user/1000
DISPLAY=localhost:13.0
XAUTHLOCALHOSTNAME=DLxX9PSE02
NO_AT_BRIDGE=1
LESSCLOSE=lessclose.sh %s %s
G_BROKEN_FILENAMES=1
JAVA_ROOT=/usr/lib64/jvm/java
COLORTERM=1
BASH_FUNC_mc%%=() { . /usr/share/mc/mc-wrapper.sh
}
OLDPWD=/home/seiderer/Work/BD_Nitrogen6x/Buildroot-2016-02/build_2016_02_001
_=/usr/bin/env
Regards,
Peter
> > --- a/package/libimxvpuapi/libimxvpuapi.mk
> > +++ b/package/libimxvpuapi/libimxvpuapi.mk
> > @@ -14,7 +14,7 @@ LIBIMXVPUAPI_INSTALL_STAGING = YES
> > define LIBIMXVPUAPI_CONFIGURE_CMDS
> > cd $(@D); \
> > $(TARGET_CONFIGURE_OPTS) $(HOST_DIR)/usr/bin/python2 ./waf configure \
> > - --prefix=/usr
> > + --prefix=/usr --libdir=/usr/lib
> > endef
> >
> > define LIBIMXVPUAPI_BUILD_CMDS
> >
> >
> > With this you can add my
> >
> > Tested-by: Peter Seiderer <ps.report@gmx.net>
> >
> > for '...! imxvpudec ! imxipuvideosink'
>
> Ok, I'll do that once I understand the difference which requires this
> libdir argument.
>
> > But I had problems using the imxeglvivsink element and
> > with qt5 eglfs, suspecting your 'Update most Freescale packages' patch series
> > (using buildroot-2016.02-rc1 with your '[PATCH v3 0/2] gst1-imx: bump version to 0.12.0'
> > patches on top), but did not find time yet to investigate further...
>
> Does a basic gstreamer pipeline work?
> # gst-launch-1.0 videotestsrc ! imxeglvivsink
>
> If not there's no wonder qt5 doesn't like it. I haven't tried qt5 but
> I'm sure the gstreamer imxeglvivsink does work.
>
> In case you've enabled BR2_PACKAGE_KERNEL_MODULE_IMX_GPU_VIV, you
> might need to load the Galcore module manually in case you don't have
> eudev for instance:
> # insmod /lib/modules/3.14.28/extra/galcore.ko
>
> Regards,
> Gary
>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: out_build_libimxvpuapi_orig.txt
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20160217/72bf950a/attachment.txt>
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Buildroot] [PATCH v2 1/2] libimxvpuapi: add new package
2016-02-17 9:45 ` Peter Seiderer
@ 2016-02-17 10:03 ` Gary Bisson
0 siblings, 0 replies; 13+ messages in thread
From: Gary Bisson @ 2016-02-17 10:03 UTC (permalink / raw)
To: buildroot
Hi Peter,
On Wed, Feb 17, 2016 at 10:45 AM, Peter Seiderer <ps.report@gmx.net> wrote:
> <snip>
>> Could you pastebin the full log of libimxvpuapi build, your buildroot
>> configuration as well as you 'env'?
>>
>
> Build log attached (rm -r build/libimxvpuapi-0.10.1; make V=1 2>&1 | tee out_build_libimxvpuapi_orig.txt),
> same buildroot setup as in previous e-mail: out_build_libimxvpuapi_orig.txt
>
> $ cd build/libimxvpuapi-0.10.1/
> $ /home/seiderer/Work/BD_Nitrogen6x/Buildroot-2016-02/build_2016_02_001/host/usr/bin/python2 ./waf configure --help
> ...
> --libdir=LIBDIR object code libraries [EXEC_PREFIX/lib64]
Thanks for your quick reply. Indeed the same command on my platform gives me:
--libdir=LIBDIR object code libraries [EXEC_PREFIX/lib]
Plus your env seems just fine. Digging into it I've found my the
difference is between our system, multiarch is enabled on mine. In the
Configure.py script the libdir is initialized as follows:
if not env.LIBDIR:
if Options.options.libdir:
env.LIBDIR=Utils.sane_path(Options.options.libdir)
else:
env.LIBDIR=Utils.subst_vars('${PREFIX}/lib%s'%Utils.lib64(),env)
And Utils.py tells us where the 64 comes from:
def lib64():
if os.sep=='/':
if platform.architecture()[0]=='64bit':
if os.path.exists('/usr/lib64')and not os.path.exists('/usr/lib32'):
return'64'
return''
So I'll submit the v3 today and cc you. Thanks for reporting and
fixing the issue!
Regards,
Gary
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Buildroot] [PATCH v2 1/2] libimxvpuapi: add new package
2016-02-17 9:37 ` Gary Bisson
@ 2016-02-17 12:30 ` Peter Seiderer
2016-02-17 12:42 ` Gary Bisson
0 siblings, 1 reply; 13+ messages in thread
From: Peter Seiderer @ 2016-02-17 12:30 UTC (permalink / raw)
To: buildroot
Hello Gary,
> Gesendet: Mittwoch, 17. Februar 2016 um 10:37 Uhr
> Von: "Gary Bisson" <gary.bisson@boundarydevices.com>
> An: "Peter Seiderer" <ps.report@gmx.net>
> Cc: buildroot at busybox.net, "Thomas Petazzoni" <thomas.petazzoni@free-electrons.com>
> Betreff: Re: [Buildroot] [PATCH v2 1/2] libimxvpuapi: add new package
>
> Hi Peter,
>
> On Wed, Feb 17, 2016 at 10:26 AM, Peter Seiderer <ps.report@gmx.net> wrote:
> >
> > Hello Gary,
> >
> > > Gesendet: Dienstag, 16. Februar 2016 um 23:57 Uhr
> > > Von: "Gary Bisson" <gary.bisson@boundarydevices.com>
> > > An: "Peter Seiderer" <ps.report@gmx.net>
> > > Cc: buildroot at busybox.net, "Thomas Petazzoni" <thomas.petazzoni@free-electrons.com>
> > > Betreff: Re: [Buildroot] [PATCH v2 1/2] libimxvpuapi: add new package
> >
> > [snip]
> >
> > >
> > > > But I had problems using the imxeglvivsink element and
> > > > with qt5 eglfs, suspecting your 'Update most Freescale packages' patch series
> > > > (using buildroot-2016.02-rc1 with your '[PATCH v3 0/2] gst1-imx: bump version to 0.12.0'
> > > > patches on top), but did not find time yet to investigate further...
> > >
> > > Does a basic gstreamer pipeline work?
> > > # gst-launch-1.0 videotestsrc ! imxeglvivsink
> > >
> >
> > No:
> >
> > $ GST_DEBUG=*:3 gst-launch-1.0 videotestsrc ! imxeglvivsink
> > Setting pipeline to PAUSED ...
> > mxc_sdc_fb fb.20: 1920x1080 h_sync,r,l: 44,88,148 v_sync,l,u: 5,4,36 pixclock=148500000 Hz
> > imx-ipuv3 2800000.ipu: try ipu internal clk
> > imx-ipuv3 2800000.ipu: disp=0, pixel_clk=148500000 148500000 parent=148500000 div=1
> > 0:00:00.229253000 245 0x9d1ee0 ERROR imxeglplatform_fb egl_platform_fb.c:72:gst_imx_egl_viv_sink_egl_platform_create: eglGetDisplay failed: bad alloc
> > ERROR: Pipeline doesn't want to pause.
> > Setting pipeline to NULL ...
> > Freeing pipeline ...
> > mxc_sdc_fb fb.20: 1920x1080 h_sync,r,l: 44,88,148 v_sync,l,u: 5,4,36 pixclock=148500000 Hz
> > imx-ipuv3 2800000.ipu: try ipu internal clk
> > imx-ipuv3 2800000.ipu: disp=0, pixel_clk=148500000 148500000 parent=148500000 div=1
> >
> > Using Buildroot-2016-02-rc1 with
> > https://patchwork.ozlabs.org/patch/577011/mbox/
> > https://patchwork.ozlabs.org/patch/577012/mbox/
>
> The setup I tried yesterday was:
> - Buildroot master commit f3fac0dcfdf (post 2016.02-rc1).
> - Plus the two patches you mention above
>
> > and 'qt5tools: new package' patches on top with the following defconfig (based on
> > the original nitrogen6x_defconfig config):
> >
> > BR2_arm=y
> > BR2_cortex_a9=y
> > BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_14=y
> > BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
> > BR2_GLIBC_VERSION_2_22=y
> > BR2_BINUTILS_VERSION_2_25_X=y
> > BR2_TOOLCHAIN_BUILDROOT_CXX=y
> > BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
> > BR2_TARGET_GENERIC_GETTY_PORT="ttymxc1"
> > BR2_ROOTFS_POST_BUILD_SCRIPT="board/boundarydevices/nitrogen6x/post-build.sh"
> > BR2_ROOTFS_POST_IMAGE_SCRIPT="board/boundarydevices/nitrogen6x/post-image.sh"
> > BR2_LINUX_KERNEL=y
> > BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
> > BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/linux-imx6/tarball/f4c8395/linux-imx6-f4c8395.tar.gz"
> > BR2_LINUX_KERNEL_DEFCONFIG="boundary"
> > BR2_LINUX_KERNEL_ZIMAGE=y
> > BR2_LINUX_KERNEL_DTS_SUPPORT=y
> > BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6dl-nit6xlite imx6dl-nitrogen6_vm imx6dl-nitrogen6x imx6q-nitrogen6x imx6q-nitrogen6_max imx6q-sabrelite"
> > BR2_LINUX_KERNEL_INSTALL_TARGET=y
> > BR2_PACKAGE_GSTREAMER1=y
> > BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_APP=y
> > BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIOTESTSRC=y
> > BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOTESTSRC=y
> > BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ALSA=y
> > BR2_PACKAGE_GST1_PLUGINS_GOOD=y
> > BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_V4L2=y
> > BR2_PACKAGE_GST1_PLUGINS_BAD=y
> > BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOPARSERS=y
> > BR2_PACKAGE_GST1_PLUGINS_UGLY=y
> > BR2_PACKAGE_GST1_IMX=y
> > BR2_PACKAGE_BINUTILS=y
> > BR2_PACKAGE_DEJAVU=y
> > BR2_PACKAGE_QT5=y
> > BR2_PACKAGE_QT5BASE_LICENSE_APPROVED=y
> > BR2_PACKAGE_QT5BASE_SQLITE_SYSTEM=y
> > BR2_PACKAGE_QT5BASE_OPENGL_LIB=y
> > BR2_PACKAGE_QT5BASE_LINUXFB=y
> > BR2_PACKAGE_QT5BASE_EGLFS=y
> > BR2_PACKAGE_QT5BASE_DEFAULT_QPA="eglfs"
> > BR2_PACKAGE_QT5BASE_FONTCONFIG=y
> > BR2_PACKAGE_QT5BASE_GIF=y
> > BR2_PACKAGE_QT5BASE_JPEG=y
> > BR2_PACKAGE_QT5BASE_PNG=y
> > BR2_PACKAGE_QT5GRAPHICALEFFECTS=y
> > BR2_PACKAGE_QT5MULTIMEDIA=y
> > BR2_PACKAGE_QT5QUICKCONTROLS=y
> > BR2_PACKAGE_QT5SERIALPORT=y
> > BR2_PACKAGE_QT5TOOLS=y
> > BR2_PACKAGE_QT5TOOLS_LINGUIST_TOOLS=y
> > BR2_PACKAGE_QT5WEBSOCKETS=y
> > BR2_PACKAGE_QT5SCRIPT=y
> > BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q=y
> > BR2_PACKAGE_IMX_LIB=y
> > BR2_PACKAGE_IMX_GPU_VIV=y
> > BR2_PACKAGE_OPENSSL=y
> > BR2_PACKAGE_LIBV4L=y
> > BR2_PACKAGE_LIBV4L_UTILS=y
> > BR2_PACKAGE_LIBIMXVPUAPI=y
> > BR2_TARGET_ROOTFS_EXT2=y
> > BR2_TARGET_ROOTFS_EXT2_4=y
> > BR2_TARGET_UBOOT=y
> > BR2_TARGET_UBOOT_BOARDNAME="nitrogen6q"
> > BR2_TARGET_UBOOT_CUSTOM_TARBALL=y
> > BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="http://github.com/boundarydevices/u-boot-imx6/tarball/a4070a8/u-boot-a4070a8.tar.gz"
> > BR2_TARGET_UBOOT_FORMAT_IMX=y
> > BR2_PACKAGE_HOST_GENIMAGE=y
> > BR2_PACKAGE_HOST_UBOOT_TOOLS=y
> >
> > > If not there's no wonder qt5 doesn't like it. I haven't tried qt5 but
> > > I'm sure the gstreamer imxeglvivsink does work.
> > >
> >
> > My last working version was based on buildroot-2015.11.1 plus 'qt5: bump version to 5.5.1' and
> > 'qt5tools: new package' on top...
> >
> > > In case you've enabled BR2_PACKAGE_KERNEL_MODULE_IMX_GPU_VIV, you
> > > might need to load the Galcore module manually in case you don't have
> > > eudev for instance:
> > > # insmod /lib/modules/3.14.28/extra/galcore.ko
> >
> > No, working with boundarydevices linux-imx6-f4c8395 and original boundary config
> > and there is a '/dev/galcore' entry on the target...
>
> Yes but that is the problem. Please try again with
> BR2_PACKAGE_KERNEL_MODULE_IMX_GPU_VIV.
>
> As you know, 3D graphics libraries match a specific kernel driver.
> Since it was an issue for many people, Vivante started to provide a
> kernel module so you can easily have the latest driver on an older
> kernel.
>
> Since I've updated the graphics to the latest (5.0.11 p7.1), the
> driver inside the 3.14.28 kernel is outdated so you need to use the
> Vivante kernel module. I didn't for the selection of the kernel module
> when the libraries are selected since some kernels (3.14.52) have the
> correct driver built-in.
>
Got it now, the missing part was:
BR2_PACKAGE_KERNEL_MODULE_IMX_GPU_VIV=y
Qt5 eglfs and gstreamer imxeglvivsink are working now...
> Sorry for the confusion but know that if you want to make sure the
> driver matches the user-space blobs, always select the Vivante kernel
> module as I'll make to always update both at the same time.
>
Maybe a little hint in board/boundarydevices/nitrogen6x/readme.txt would be useful?
Many thanks for your support...
Regards,
Peter
> Regards,
> Gary
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
>
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Buildroot] [PATCH v2 1/2] libimxvpuapi: add new package
2016-02-17 12:30 ` Peter Seiderer
@ 2016-02-17 12:42 ` Gary Bisson
2016-02-17 12:50 ` Thomas Petazzoni
2016-02-17 23:48 ` Arnout Vandecappelle
0 siblings, 2 replies; 13+ messages in thread
From: Gary Bisson @ 2016-02-17 12:42 UTC (permalink / raw)
To: buildroot
Hi Peter,
On Wed, Feb 17, 2016 at 1:30 PM, Peter Seiderer <ps.report@gmx.net> wrote:
> Hello Gary,
>
>> <snip>
>> > No, working with boundarydevices linux-imx6-f4c8395 and original boundary config
>> > and there is a '/dev/galcore' entry on the target...
>>
>> Yes but that is the problem. Please try again with
>> BR2_PACKAGE_KERNEL_MODULE_IMX_GPU_VIV.
>>
>> As you know, 3D graphics libraries match a specific kernel driver.
>> Since it was an issue for many people, Vivante started to provide a
>> kernel module so you can easily have the latest driver on an older
>> kernel.
>>
>> Since I've updated the graphics to the latest (5.0.11 p7.1), the
>> driver inside the 3.14.28 kernel is outdated so you need to use the
>> Vivante kernel module. I didn't for the selection of the kernel module
>> when the libraries are selected since some kernels (3.14.52) have the
>> correct driver built-in.
>>
>
> Got it now, the missing part was:
>
> BR2_PACKAGE_KERNEL_MODULE_IMX_GPU_VIV=y
>
> Qt5 eglfs and gstreamer imxeglvivsink are working now...
Good to hear!
>> Sorry for the confusion but know that if you want to make sure the
>> driver matches the user-space blobs, always select the Vivante kernel
>> module as I'll make to always update both at the same time.
>>
>
> Maybe a little hint in board/boundarydevices/nitrogen6x/readme.txt would be useful?
Well it is not Nitrogen6x-specific, it applies to all i.MX6 platforms
so I'm not sure where would be the best place to give this info apart
from the help text. Thomas, any idea on this?
Yocto is forcing the use of the Vivante kernel module, maybe we should
do the same but I'm not fond of this approach.
> Many thanks for your support...
No problem. Thanks for your valuable feedback!
Regards,
Gary
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Buildroot] [PATCH v2 1/2] libimxvpuapi: add new package
2016-02-17 12:42 ` Gary Bisson
@ 2016-02-17 12:50 ` Thomas Petazzoni
2016-02-17 23:48 ` Arnout Vandecappelle
1 sibling, 0 replies; 13+ messages in thread
From: Thomas Petazzoni @ 2016-02-17 12:50 UTC (permalink / raw)
To: buildroot
Hello,
On Wed, 17 Feb 2016 13:42:44 +0100, Gary Bisson wrote:
> Well it is not Nitrogen6x-specific, it applies to all i.MX6 platforms
> so I'm not sure where would be the best place to give this info apart
> from the help text. Thomas, any idea on this?
I am not sure where to store such platform-specific information. A new
section in the Buildroot manual, perhaps?
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Buildroot] [PATCH v2 1/2] libimxvpuapi: add new package
2016-02-17 12:42 ` Gary Bisson
2016-02-17 12:50 ` Thomas Petazzoni
@ 2016-02-17 23:48 ` Arnout Vandecappelle
1 sibling, 0 replies; 13+ messages in thread
From: Arnout Vandecappelle @ 2016-02-17 23:48 UTC (permalink / raw)
To: buildroot
On 17-02-16 13:42, Gary Bisson wrote:
> Hi Peter,
>
> On Wed, Feb 17, 2016 at 1:30 PM, Peter Seiderer <ps.report@gmx.net> wrote:
>> Hello Gary,
>>
>>> <snip>
>>>> No, working with boundarydevices linux-imx6-f4c8395 and original boundary config
>>>> and there is a '/dev/galcore' entry on the target...
>>>
>>> Yes but that is the problem. Please try again with
>>> BR2_PACKAGE_KERNEL_MODULE_IMX_GPU_VIV.
>>>
>>> As you know, 3D graphics libraries match a specific kernel driver.
>>> Since it was an issue for many people, Vivante started to provide a
>>> kernel module so you can easily have the latest driver on an older
>>> kernel.
>>>
>>> Since I've updated the graphics to the latest (5.0.11 p7.1), the
>>> driver inside the 3.14.28 kernel is outdated so you need to use the
>>> Vivante kernel module. I didn't for the selection of the kernel module
>>> when the libraries are selected since some kernels (3.14.52) have the
>>> correct driver built-in.
>>>
>>
>> Got it now, the missing part was:
>>
>> BR2_PACKAGE_KERNEL_MODULE_IMX_GPU_VIV=y
>>
>> Qt5 eglfs and gstreamer imxeglvivsink are working now...
>
> Good to hear!
>
>>> Sorry for the confusion but know that if you want to make sure the
>>> driver matches the user-space blobs, always select the Vivante kernel
>>> module as I'll make to always update both at the same time.
>>>
>>
>> Maybe a little hint in board/boundarydevices/nitrogen6x/readme.txt would be useful?
>
> Well it is not Nitrogen6x-specific, it applies to all i.MX6 platforms
> so I'm not sure where would be the best place to give this info apart
> from the help text. Thomas, any idea on this?
>
> Yocto is forcing the use of the Vivante kernel module, maybe we should
> do the same but I'm not fond of this approach.
We can't force select because BR2_PACKAGE_KERNEL_MODULE_IMX_GPU_VIV depends on
the kernel to be built. But we could do
select BR2_PACKAGE_KERNEL_MODULE_IMX_GPU_VIV if BR2_LINUX_KERNEL
I don't think this would be such a bad idea. Added size isn't really a big
deal. Of course, the user still has to load the module...
Regards,
Arnout
>
>> Many thanks for your support...
>
> No problem. Thanks for your valuable feedback!
>
> Regards,
> Gary
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
>
--
Arnout Vandecappelle arnout at mind be
Senior Embedded Software Architect +32-16-286500
Essensium/Mind http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2016-02-17 23:48 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-02-01 21:55 [Buildroot] [PATCH v2 0/2] gst1-imx: bump version to 0.12.0 Gary Bisson
2016-02-01 21:55 ` [Buildroot] [PATCH v2 1/2] libimxvpuapi: add new package Gary Bisson
2016-02-16 20:53 ` Peter Seiderer
2016-02-16 22:57 ` Gary Bisson
2016-02-17 9:26 ` Peter Seiderer
2016-02-17 9:37 ` Gary Bisson
2016-02-17 12:30 ` Peter Seiderer
2016-02-17 12:42 ` Gary Bisson
2016-02-17 12:50 ` Thomas Petazzoni
2016-02-17 23:48 ` Arnout Vandecappelle
2016-02-17 9:45 ` Peter Seiderer
2016-02-17 10:03 ` Gary Bisson
2016-02-01 21:55 ` [Buildroot] [PATCH v2 2/2] gst1-imx: bump to version 0.12.0 Gary Bisson
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox