package/xbmc: Add support for uClibc, libva and additional packages
v14 cover package/xbmc: Add support for uClibc, libva and additional packages
The series is compiled-tested using
BR2_TOOLCHAIN_EXTERNAL=y
BR2_PACKAGE_XBMC=y
BR2_PACKAGE_XBMC_AVAHI=y
BR2_PACKAGE_XBMC_DBUS=y
BR2_PACKAGE_XBMC_LIBBLURAY=y
BR2_PACKAGE_XBMC_LIBMICROHTTPD=y
BR2_PACKAGE_XBMC_LIBNFS=y
BR2_PACKAGE_XBMC_RTMPDUMP=y
BR2_PACKAGE_XBMC_LIBSHAIRPLAY=y
BR2_PACKAGE_XBMC_LIBSMBCLIENT=y
BR2_PACKAGE_XBMC_LIBTHEORA=y
BR2_PACKAGE_XBMC_LIBUSB=y
BR2_PACKAGE_XBMC_WAVPACK=y
BR2_PACKAGE_XBMC_GOOM=y
BR2_PACKAGE_XBMC_ADDON_XVDR=y
BR2_PACKAGE_XBMC_PVR_ADDONS=y
BR2_PACKAGE_MESA3D=y
BR2_PACKAGE_MESA3D_DRI_DRIVER_I965=y
BR2_PACKAGE_XORG7=y
Regards, Bernd
v13: - rebased
- bump mesa3d version to 10.2.3
- bump libva-intel-driver to 1.3.2
v13: - rebased
- lots of patches removed after they were committed
v12: - rebased (no more RC versions ;))
- bump xbmc to 13.1
- github helper produces a wrong URL
(wrong: xbmc-13.1-Gotham.tar.gz, correct: 13.1-Gotham.tar.gz), so I had to switch to _SOURCE until a fix is found
- bump mesa3d version to 10.2.1
v11: - patch series updated by Yann
- series re-ordering
- add new required gconv-related patch
- some commit logs massaging
v10: - reworked patch series based on comments by Yann
- added comment to xproto_dri3proto
- removed emtpy line from libva
- added comment to libglu
- fix libpng support in xbmc?????????s rsxs screensaver
- bump mesa3d version to 10.2-rc4
v9: - reworked patch series based on comments by Yann & Arnout:
- moved some patches before xbmc version bump for bisectability
- removed iconv patch to SDL, to be checked later
- removed rtmpdump/KSV patch from series, to be checked later
- added description to mesa3d/xorg meta package dependency
- reworked OpenGL/egl+gles logic in package/xbmc/
- bump xbmc to 13.1 Beta2
- cec needs udev to be useful
v8: - squashed "[v7 29/31] ffmpeg cross-compile" into
"[v8 16/28] Gotham bump" (Thomas)
- squashed "[v7 21/31] uclibc at arm" & "[v7 31/31] ipv6" patches into "[v8 20/28] uclibc" patch (Thomas/Yann)
- xbmc-pvr-addons: updated comment (Yann)
v7: - rebased
- bump mesa3d version to 10.2-rc3
- included v2 of "xproto_dri3proto: New package"
v6: - bump mesa3d version to 10.2-rc2
- bump libva and libva-intel-driver to 1.3.1
Bernd Kuhls (20):
package/mesa3d: Bump to version 10.2.3 package/mesa3d: Depend on xorg meta package instead of
xserver_xorg-server
package/mesa3d: add dependency xproto_presentproto package/mesa3d: Remove dependency for the libxml2 module of
host-python
mesa3d: Add dri3 support
libva: new package
libva-intel-driver: new package
ffmpeg: Add libva support
libglu: new package
sdl: Add new dependency libglu for opengl support
libglew: new package
xdriver_xf86-video-intel: Bump version to 2.99.911
xbmc: Add missing egl-related cflags
xbmc: Allow compilation with uClibc
xbmc: Add alsa support
xbmc: Add lame support
xbmc: Fix TexturePacker compile
xbmc: Add X.org/OpenGL support
xbmc: Add option for Goom screensaver
xbmc: Add VA-API support
package/Config.in | 3 +- package/eudev/Config.in | 68 +++++--------- package/eudev/eudev.mk | 56 ++---------- package/libatasmart/Config.in | 5 +- package/libcec/libcec.mk | 4 +- package/libdrm/libdrm.mk | 4 +- package/libinput/Config.in | 5 +- package/libinput/libinput.mk | 2 +- package/libudev/Config.in | 6 -- package/libudev/libudev.mk | 7 -- package/libusb/libusb.mk | 5 +- package/mesa3d/Config.in | 6 +- package/mesa3d/mesa3d.mk | 4 +- package/systemd/Config.in | 55 +++++++----- package/systemd/systemd.mk | 2 +- package/transmission/transmission.mk | 4 +- package/vlc/vlc.mk | 4 +- package/weston/Config.in | 6 +- package/weston/weston.mk | 2 +- package/x11r7/xdriver_xf86-input-evdev/Config.in | 5 +- .../xdriver_xf86-input-evdev.mk | 3 +- .../xserver_xorg-server/xserver_xorg-server.mk | 4 +- package/xbmc/Config.in | 6 +- package/xbmc/xbmc.mk | 2 +- support/scripts/gen-manual-lists.py | 95 ++++---------------- system/Config.in | 76 +++------------- 26 files changed, 133 insertions(+), 306 deletions(-) delete mode 100644 package/libudev/Config.in delete mode 100644 package/libudev/libudev.mk
Signature · 1 line
1.7.10.4
PATCH v14 1/20 package/mesa3d: Bump to version 10.2.3
--- package/mesa3d/mesa3d.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
package/mesa3d/mesa3d.mk +1 -1
@@ -4,7 +4,7 @@ # ################################################################################ -MESA3D_VERSION = 10.2.1 +MESA3D_VERSION = 10.2.3 MESA3D_SOURCE = MesaLib-$(MESA3D_VERSION).tar.bz2 MESA3D_SITE = ftp://ftp.freedesktop.org/pub/mesa/$(MESA3D_VERSION) MESA3D_LICENSE = MIT, SGI, Khronos
Signature · 1 line
1.7.10.4
PATCH v14 2/20 package/mesa3d: Depend on xorg meta package instead of xserver_xorg-server
In reply to Bernd Kuhlsmesa3d does not depend on the xorg server as such, only on X libraries.
--- package/mesa3d/Config.in | 22 +++++++++++----------- package/mesa3d/mesa3d.mk | 4 ++-- 2 files changed, 13 insertions(+), 13 deletions(-)
package/mesa3d/Config.in +11 -11
@@ -3,13 +3,13 @@ menuconfig BR2_PACKAGE_MESA3D select BR2_PACKAGE_LIBDRM select BR2_PACKAGE_EXPAT select BR2_PACKAGE_HOST_LIBXML2_PYTHON - select BR2_PACKAGE_XPROTO_DRI2PROTO if BR2_PACKAGE_XSERVER_XORG_SERVER - select BR2_PACKAGE_XPROTO_XF86DRIPROTO if BR2_PACKAGE_XSERVER_XORG_SERVER - select BR2_PACKAGE_XLIB_LIBX11 if BR2_PACKAGE_XSERVER_XORG_SERVER - select BR2_PACKAGE_XLIB_LIBXEXT if BR2_PACKAGE_XSERVER_XORG_SERVER - select BR2_PACKAGE_XLIB_LIBXDAMAGE if BR2_PACKAGE_XSERVER_XORG_SERVER - select BR2_PACKAGE_XLIB_LIBXFIXES if BR2_PACKAGE_XSERVER_XORG_SERVER - select BR2_PACKAGE_LIBXCB if BR2_PACKAGE_XSERVER_XORG_SERVER + select BR2_PACKAGE_XPROTO_DRI2PROTO if BR2_PACKAGE_XORG7 + select BR2_PACKAGE_XPROTO_XF86DRIPROTO if BR2_PACKAGE_XORG7 + select BR2_PACKAGE_XLIB_LIBX11 if BR2_PACKAGE_XORG7 + select BR2_PACKAGE_XLIB_LIBXEXT if BR2_PACKAGE_XORG7 + select BR2_PACKAGE_XLIB_LIBXDAMAGE if BR2_PACKAGE_XORG7 + select BR2_PACKAGE_XLIB_LIBXFIXES if BR2_PACKAGE_XORG7 + select BR2_PACKAGE_LIBXCB if BR2_PACKAGE_XORG7 depends on BR2_PACKAGE_HAS_LIBUDEV depends on BR2_INSTALL_LIBSTDCPP depends on BR2_LARGEFILE
@@ -62,10 +62,10 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SWRAST This is a software opengl implementation using the Gallium3D infrastructure. -comment "DRI drivers needs an X.Org server and a toolchain w/ dynamic library" - depends on BR2_PREFER_STATIC_LIB || !BR2_PACKAGE_XSERVER_XORG_SERVER +comment "DRI drivers needs X.Org and a toolchain w/ dynamic library" + depends on BR2_PREFER_STATIC_LIB || !BR2_PACKAGE_XORG7 -if !BR2_PREFER_STATIC_LIB && BR2_PACKAGE_XSERVER_XORG_SERVER +if !BR2_PREFER_STATIC_LIB && BR2_PACKAGE_XORG7 comment "DRI drivers"
@@ -92,7 +92,7 @@ config BR2_PACKAGE_MESA3D_DRI_DRIVER_RADEON help Legacy Radeon driver for R100 series GPUs. -endif # !BR2_PREFER_STATIC_LIB && BR2_PACKAGE_XSERVER_XORG_SERVER +endif # !BR2_PREFER_STATIC_LIB && BR2_PACKAGE_XORG7 if BR2_PACKAGE_MESA3D_DRIVER
package/mesa3d/mesa3d.mk +2 -2
@@ -25,7 +25,7 @@ MESA3D_DEPENDENCIES = \ host-xutil_makedepend \ libdrm -ifeq ($(BR2_PACKAGE_XSERVER_XORG_SERVER),y) +ifeq ($(BR2_PACKAGE_XORG7),y) MESA3D_DEPENDENCIES += \ xproto_xf86driproto \ xproto_dri2proto \
@@ -100,7 +100,7 @@ ifeq ($(BR2_PACKAGE_WAYLAND),y) MESA3D_DEPENDENCIES += wayland MESA3D_EGL_PLATFORMS += wayland endif -ifeq ($(BR2_PACKAGE_XSERVER_XORG_SERVER),y) +ifeq ($(BR2_PACKAGE_XORG7),y) MESA3D_EGL_PLATFORMS += x11 endif MESA3D_CONF_OPT += \
Signature · 1 line
1.7.10.4
PATCH v14 2/20 package/mesa3d: Depend on xorg meta package instead of xserver_xorg-server
Dear Bernd Kuhls,
Quoted 7 lines · Bernd Kuhls
mesa3d does not depend on the xorg server as such, only on X libraries.
Signed-off-by Bernd Kuhls <[email protected]>--- package/mesa3d/Config.in | 22 +++++++++++----------- package/mesa3d/mesa3d.mk | 4 ++-- 2 files changed, 13 insertions(+), 13 deletions(-)
This patch does not apply on the current Buildroot, git complains that there are some missing blobs. It generally indicates that your branch wasn't based on master, but on master + several commits that are not part of this patch series. Could you check this?
Thanks,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH v14 3/20 package/mesa3d: add dependency xproto_presentproto
In reply to Bernd Kuhls--- package/mesa3d/Config.in | 1 + package/mesa3d/mesa3d.mk | 1 + 2 files changed, 2 insertions(+)
package/mesa3d/Config.in +1 -0
@@ -4,6 +4,7 @@ menuconfig BR2_PACKAGE_MESA3D select BR2_PACKAGE_EXPAT select BR2_PACKAGE_HOST_LIBXML2_PYTHON select BR2_PACKAGE_XPROTO_DRI2PROTO if BR2_PACKAGE_XORG7 + select BR2_PACKAGE_XPROTO_PRESENTPROTO if BR2_PACKAGE_XORG7 select BR2_PACKAGE_XPROTO_XF86DRIPROTO if BR2_PACKAGE_XORG7 select BR2_PACKAGE_XLIB_LIBX11 if BR2_PACKAGE_XORG7 select BR2_PACKAGE_XLIB_LIBXEXT if BR2_PACKAGE_XORG7
package/mesa3d/mesa3d.mk +1 -0
@@ -30,6 +30,7 @@ MESA3D_DEPENDENCIES += \ xproto_xf86driproto \ xproto_dri2proto \ xproto_glproto \ + xproto_presentproto \ xlib_libX11 \ xlib_libXext \ xlib_libXdamage \
Signature · 1 line
1.7.10.4
PATCH v14 3/20 package/mesa3d: add dependency xproto_presentproto
Dear Bernd Kuhls,
Quoted 6 lines · Bernd Kuhls
Signed-off-by Bernd Kuhls <[email protected]>--- package/mesa3d/Config.in | 1 + package/mesa3d/mesa3d.mk | 1 + 2 files changed, 2 insertions(+)
Please add a justification about this change in the commit log. Is it needed following the mesa3d bump? In this case, it should be part of the patch bumping mesa3d.
Bernd, a good rule of thumb is *all* patches should have a commit log. So whenever you're about to send a series, please review the commit log of your patches, and make sure all of them have a non-empty commit log.
Thanks!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH v14 4/20 package/mesa3d: Remove dependency for the libxml2 module of host-python
In reply to Bernd KuhlsRemove the ugly BR2_PACKAGE_HOST_LIBXML2_PYTHON hack as well as mesa3d was the only package needing it, this is not the case anymore since:
--- package/libxml2/Config.in | 3 --- package/libxml2/libxml2-python2.patch | 27 --------------------------- package/libxml2/libxml2.mk | 16 +--------------- package/mesa3d/Config.in | 1 - package/mesa3d/mesa3d.mk | 1 - 5 files changed, 1 insertion(+), 47 deletions(-) delete mode 100644 package/libxml2/libxml2-python2.patch
package/libxml2/Config.in +0 -3
@@ -4,6 +4,3 @@ config BR2_PACKAGE_LIBXML2 XML C Parser http://xmlsoft.org/ - -config BR2_PACKAGE_HOST_LIBXML2_PYTHON - bool
package/libxml2/libxml2-python2.patch deleted +0 -27
@@ -1,27 +0,0 @@ -Prefer python2 binary in case python points to python3 - -Signed-off-by: Bernd Kuhls <[email protected]> - -diff -uNr libxml2-2.9.1.org/configure.in libxml2-2.9.1/configure.in ---- libxml2-2.9.1.org/configure.in 2013-04-19 09:25:20.000000000 +0200 -+++ libxml2-2.9.1/configure.in 2014-04-12 14:16:26.579361068 +0200 -@@ -748,6 +748,11 @@ - PYTHON_TESTS= - pythondir= - if test "$with_python" != "no" ; then -+ if test -x "$with_python/bin/python2" -+ then -+ echo Found python2 in $with_python/bin/python2 -+ PYTHON="$with_python/bin/python2" -+ else - if test -x "$with_python/bin/python" - then - echo Found python in $with_python/bin/python -@@ -773,6 +778,7 @@ - fi - fi - fi -+ fi - if test "$PYTHON" != "" - then - PYTHON_VERSION=`$PYTHON -c "from distutils import sysconfig; print(sysconfig.get_python_version())"`
package/libxml2/libxml2.mk +1 -15
@@ -20,21 +20,7 @@ LIBXML2_CONF_OPT = --with-gnu-ld --without-python --without-debug --without-lzma HOST_LIBXML2_DEPENDENCIES = host-pkgconf -HOST_LIBXML2_CONF_OPT = --without-zlib --without-lzma - -# mesa3d uses functions that are only available with debug -ifeq ($(BR2_PACKAGE_MESA3D),y) -HOST_LIBXML2_CONF_OPT += --with-debug -else -HOST_LIBXML2_CONF_OPT += --without-debug -endif - -ifeq ($(BR2_PACKAGE_HOST_LIBXML2_PYTHON),y) -HOST_LIBXML2_DEPENDENCIES += host-python -HOST_LIBXML2_CONF_OPT += --with-python=$(HOST_DIR)/usr -else -HOST_LIBXML2_CONF_OPT += --without-python -endif +HOST_LIBXML2_CONF_OPT = --without-zlib --without-lzma --without-python ifeq ($(BR2_PACKAGE_ZLIB),y) LIBXML2_DEPENDENCIES += zlib
package/mesa3d/Config.in +0 -1
@@ -2,7 +2,6 @@ menuconfig BR2_PACKAGE_MESA3D bool "mesa3d" select BR2_PACKAGE_LIBDRM select BR2_PACKAGE_EXPAT - select BR2_PACKAGE_HOST_LIBXML2_PYTHON select BR2_PACKAGE_XPROTO_DRI2PROTO if BR2_PACKAGE_XORG7 select BR2_PACKAGE_XPROTO_PRESENTPROTO if BR2_PACKAGE_XORG7 select BR2_PACKAGE_XPROTO_XF86DRIPROTO if BR2_PACKAGE_XORG7
package/mesa3d/mesa3d.mk +0 -1
@@ -20,7 +20,6 @@ MESA3D_DEPENDENCIES = \ host-bison \ host-flex \ host-gettext \ - host-libxml2 \ host-python \ host-xutil_makedepend \ libdrm
Signature · 1 line
1.7.10.4
PATCH v14 5/20 mesa3d: Add dri3 support
In reply to Bernd Kuhls--- package/mesa3d/mesa3d.mk | 7 +++++++ 1 file changed, 7 insertions(+)
package/mesa3d/mesa3d.mk +7 -0
@@ -24,6 +24,13 @@ MESA3D_DEPENDENCIES = \ host-xutil_makedepend \ libdrm +ifeq ($(BR2_PACKAGE_XPROTO_DRI3PROTO),y) +MESA3D_DEPENDENCIES += xproto_dri3proto +MESA3D_CONF_OPT += --enable-dri3 +else +MESA3D_CONF_OPT += --disable-dri3 +endif + ifeq ($(BR2_PACKAGE_XORG7),y) MESA3D_DEPENDENCIES += \ xproto_xf86driproto \
Signature · 1 line
1.7.10.4
PATCH v14 5/20 mesa3d: Add dri3 support
Dear Bernd Kuhls,
Quoted 10 lines · Bernd Kuhls
Signed-off-by Bernd Kuhls <[email protected]>--- package/mesa3d/mesa3d.mk | 7 +++++++ 1 file changed, 7 insertions(+)package/mesa3d/mesa3d.mk +0
-0
package/mesa3d/mesa3d.mk MESA3D_DEPENDENCIES = \ · line 32
Quoted 9 lines
package/mesa3d/mesa3d.mk +6
-0@@ -24,6 +24,13 @@ MESA3D_DEPENDENCIES = \ host-xutil_makedepend \ libdrm +ifeq ($(BR2_PACKAGE_XPROTO_DRI3PROTO),y) +MESA3D_DEPENDENCIES += xproto_dri3proto +MESA3D_CONF_OPT += --enable-dri3 +else +MESA3D_CONF_OPT += --disable-dri3 +endif
Why is this outside of the X.org condition? I believe DRI 3 support only makes sense when DRI is enabled, so I believe your condition here is misplaced.
Moreover, this fix is needed even for the current Mesa3D version, I've run into the following build issue:
======================================================================
configure: error: Package requirements (dri3proto >= 1.0) were not met:
Package dri3proto was not found in the pkg-config search path. Perhaps you should add the directory containing `dri3proto.pc' to the PKG_CONFIG_PATH environment variable
No package 'dri3proto' found
Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix.
Alternatively, you may set the environment variables DRI3PROTO_CFLAGS and DRI3PROTO_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
make[1]: *** [/home/test/outputs/va-x86/build/mesa3d-10.2.1/.stamp_configured] Error 1
======================================================================
Could you send an updated patch series that has just the mesa3d updates, the libglu, libglew, sdl and intel driver update (i.e not with the XBMC patches) ? And in this series, please make sure each patch has a commit log, that the reason for the changes are properly explained, and that the changes are ordered properly.
Thanks!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH v14 6/20 libva: new package
In reply to Bernd Kuhls--- package/Config.in | 1 + package/libva/Config.in | 18 ++++++++ package/libva/libva-0001-no_test_decode.patch | 17 ++++++++ package/libva/libva.mk | 56 +++++++++++++++++++++++++ 4 files changed, 92 insertions(+) create mode 100644 package/libva/Config.in create mode 100644 package/libva/libva-0001-no_test_decode.patch create mode 100644 package/libva/libva.mk
package/Config.in +1 -0
@@ -617,6 +617,7 @@ menu "Graphics" source "package/libsvg-cairo/Config.in" source "package/libsvgtiny/Config.in" source "package/libungif/Config.in" + source "package/libva/Config.in" source "package/opencv/Config.in" source "package/opengl/Config.in" source "package/pango/Config.in"
package/libva/Config.in new file +18 -0
@@ -0,0 +1,18 @@ +config BR2_PACKAGE_LIBVA + bool "libva" + select BR2_PACKAGE_LIBDRM + select BR2_PACKAGE_XLIB_LIBX11 if BR2_PACKAGE_XORG7 + select BR2_PACKAGE_XLIB_LIBXEXT if BR2_PACKAGE_XORG7 + select BR2_PACKAGE_XLIB_LIBXFIXES if BR2_PACKAGE_XORG7 + depends on BR2_TOOLCHAIN_HAS_THREADS # libdrm/libpthread-stubs + depends on BR2_LARGEFILE # libdrm + help + The main motivation for VA-API (Video Acceleration API) is to enable + hardware accelerated video decode/encode at various entry-points (VLD, + IDCT, Motion Compensation etc.) for the prevailing coding standards + today (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/VMW3). + + http://www.freedesktop.org/wiki/Software/vaapi/ + +comment "libva needs a toolchain w/ largefile, threads" + depends on !BR2_LARGEFILE || !BR2_TOOLCHAIN_HAS_THREADS
package/libva/libva-0001-no_test_decode.patch new file +17 -0
@@ -0,0 +1,17 @@ +mpeg2vldemo is the only file requiring cxx support. It is not needed for +buildroot, so disable its compilation to avoid depending on cxx. + +Signed-off-by: Bernd Kuhls <[email protected]> + +diff -uNr libva-1.3.0.org/test/Makefile.am libva-1.3.0/test/Makefile.am +--- libva-1.3.0.org/test/Makefile.am 2014-03-24 05:49:46.000000000 +0100 ++++ libva-1.3.0/test/Makefile.am 2014-04-26 18:12:25.644390292 +0200 +@@ -20,7 +20,7 @@ + # TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + # SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +-SUBDIRS = common decode encode vainfo ++SUBDIRS = common encode vainfo + + if USE_X11 + SUBDIRS += basic putsurface
package/libva/libva.mk new file +56 -0
56 lines not on this page · raw message
Signature · 1 line
1.7.10.4
Thomas Petazzoni
AppliedPATCH v14 6/20 libva: new package
Dear Bernd Kuhls,
Quoted 10 lines · Bernd Kuhls
Signed-off-by Bernd Kuhls <[email protected]>--- package/Config.in | 1 + package/libva/Config.in | 18 ++++++++ package/libva/libva-0001-no_test_decode.patch | 17 ++++++++ package/libva/libva.mk | 56 +++++++++++++++++++++++++ 4 files changed, 92 insertions(+) create mode 100644 package/libva/Config.in create mode 100644 package/libva/libva-0001-no_test_decode.patch create mode 100644 package/libva/libva.mk
Applied, thanks.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH v14 7/20 libva-intel-driver: new package
In reply to Bernd Kuhls--- package/Config.in | 1 + package/libva-intel-driver/Config.in | 19 ++++++++++++++ package/libva-intel-driver/libva-intel-driver.mk | 29 ++++++++++++++++++++++ 3 files changed, 49 insertions(+) create mode 100644 package/libva-intel-driver/Config.in create mode 100644 package/libva-intel-driver/libva-intel-driver.mk
package/Config.in +1 -0
@@ -618,6 +618,7 @@ menu "Graphics" source "package/libsvgtiny/Config.in" source "package/libungif/Config.in" source "package/libva/Config.in" + source "package/libva-intel-driver/Config.in" source "package/opencv/Config.in" source "package/opengl/Config.in" source "package/pango/Config.in"
package/libva-intel-driver/Config.in new file +19 -0
@@ -0,0 +1,19 @@ +config BR2_PACKAGE_LIBVA_INTEL_DRIVER + bool "libva-intel-driver" + select BR2_PACKAGE_LIBVA + select BR2_PACKAGE_LIBDRM + select BR2_PACKAGE_LIBDRM_INTEL + select BR2_PACKAGE_XLIB_LIBX11 if BR2_PACKAGE_XORG7 + select BR2_PACKAGE_XLIB_LIBXEXT if BR2_PACKAGE_XORG7 + select BR2_PACKAGE_XLIB_LIBXFIXES if BR2_PACKAGE_XORG7 + depends on BR2_i386 || BR2_x86_64 + depends on BR2_TOOLCHAIN_HAS_THREADS # libdrm/libpthread-stubs + depends on BR2_LARGEFILE # libdrm + help + VA-API back-end driver for Intel graphics chips + + https://01.org/linuxgraphics/community/vaapi + +comment "libva intel driver needs a toolchain w/ largefile, threads" + depends on !BR2_LARGEFILE || !BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_i386 || BR2_x86_64
package/libva-intel-driver/libva-intel-driver.mk new file +29 -0
@@ -0,0 +1,29 @@ +################################################################################ +# +# libva-intel-driver +# +################################################################################ + +LIBVA_INTEL_DRIVER_VERSION = 1.3.2 +LIBVA_INTEL_DRIVER_SOURCE = libva-intel-driver-$(LIBVA_INTEL_DRIVER_VERSION).tar.bz2 +LIBVA_INTEL_DRIVER_SITE = http://www.freedesktop.org/software/vaapi/releases/libva-intel-driver +LIBVA_INTEL_DRIVER_LICENSE = MIT +LIBVA_INTEL_DRIVER_LICENSE_FILES = COPYING +LIBVA_INTEL_DRIVER_AUTORECONF = YES +LIBVA_INTEL_DRIVER_DEPENDENCIES = host-pkgconf libdrm libva + +ifeq ($(BR2_PACKAGE_XORG7),y) +LIBVA_INTEL_DRIVER_DEPENDENCIES += xlib_libX11 xlib_libXext xlib_libXfixes +LIBVA_INTEL_DRIVER_CONF_OPT += --enable-x11 +else +LIBVA_INTEL_DRIVER_CONF_OPT += --disable-x11 +endif + +ifeq ($(BR2_PACKAGE_WAYLAND),y) +LIBVA_DEPENDENCIES += wayland +LIBVA_INTEL_DRIVER_CONF_OPT += --enable-wayland +else +LIBVA_INTEL_DRIVER_CONF_OPT += --disable-wayland +endif + +$(eval $(autotools-package))
Signature · 1 line
1.7.10.4
Thomas Petazzoni
AppliedPATCH v14 7/20 libva-intel-driver: new package
Dear Bernd Kuhls,
Quoted 8 lines · Bernd Kuhls
Signed-off-by Bernd Kuhls <[email protected]>--- package/Config.in | 1 + package/libva-intel-driver/Config.in | 19 ++++++++++++++ package/libva-intel-driver/libva-intel-driver.mk | 29 ++++++++++++++++++++++ 3 files changed, 49 insertions(+) create mode 100644 package/libva-intel-driver/Config.in create mode 100644 package/libva-intel-driver/libva-intel-driver.mk
Applied, thanks.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH v14 7/20 libva-intel-driver: new package
In reply to Bernd KuhlsDear Bernd Kuhls,
Quoted 8 lines · Bernd Kuhls
Signed-off-by Bernd Kuhls <[email protected]>--- package/Config.in | 1 + package/libva-intel-driver/Config.in | 19 ++++++++++++++ package/libva-intel-driver/libva-intel-driver.mk | 29 ++++++++++++++++++++++ 3 files changed, 49 insertions(+) create mode 100644 package/libva-intel-driver/Config.in create mode 100644 package/libva-intel-driver/libva-intel-driver.mk
This package has been added, but is causing build failures in certain conditions, see:
http://autobuild.buildroot.org/results/896/896010d8a9ef978386ea1af8e21f5999a735997d/build-end.log
The error is:
In file included from i965_drv_video.c:37:0:
i965_output_wayland.h:31:26: error: unknown type name 'VADriverContextP' i965_output_wayland.h:34:31: error: unknown type name 'VADriverContextP'
CC i965_drv_video_la-i965_encoder.lo
i965_drv_video.c:5243:9: error: 'i965_output_wayland_init' undeclared here (not in a function) i965_drv_video.c:5244:9: error: 'i965_output_wayland_terminate' undeclared here (not in a function) make[4]: *** [i965_drv_video_la-i965_drv_video.lo] Error 1
make[4]: *** Waiting for unfinished jobs....
Could you have a look?
Thanks,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH v14 8/20 ffmpeg: Add libva support
In reply to Bernd Kuhls--- package/ffmpeg/ffmpeg.mk | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-)
package/ffmpeg/ffmpeg.mk +7 -1
@@ -41,7 +41,6 @@ FFMPEG_CONF_OPT = \ --enable-mdct \ --enable-rdft \ --disable-crystalhd \ - --disable-vaapi \ --disable-vdpau \ --disable-dxva2 \ --enable-runtime-cpudetect \
@@ -209,6 +208,13 @@ FFMPEG_CONF_OPT += \ --enable-encoder=libvorbis endif +ifeq ($(BR2_PACKAGE_LIBVA),y) +FFMPEG_CONF_OPT += --enable-vaapi +FFMPEG_DEPENDENCIES += libva +else +FFMPEG_CONF_OPT += --disable-vaapi +endif + ifeq ($(BR2_X86_CPU_HAS_MMX),y) FFMPEG_CONF_OPT += --enable-yasm FFMPEG_DEPENDENCIES += host-yasm
Signature · 1 line
1.7.10.4
Thomas Petazzoni
AppliedPATCH v14 8/20 ffmpeg: Add libva support
Dear Bernd Kuhls,
Quoted 4 lines · Bernd Kuhls
Signed-off-by Bernd Kuhls <[email protected]>--- package/ffmpeg/ffmpeg.mk | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-)
Applied, thanks.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH v14 9/20 libglu: new package
In reply to Bernd Kuhls--- package/Config.in | 1 + package/libglu/Config.in | 10 ++++++++++ package/libglu/libglu.mk | 17 +++++++++++++++++ 3 files changed, 28 insertions(+) create mode 100644 package/libglu/Config.in create mode 100644 package/libglu/libglu.mk
package/Config.in +1 -0
@@ -608,6 +608,7 @@ menu "Graphics" source "package/libgail/Config.in" source "package/libgeotiff/Config.in" source "package/libglade/Config.in" + source "package/libglu/Config.in" source "package/libgtk2/Config.in" source "package/libpng/Config.in" source "package/libqrencode/Config.in"
package/libglu/Config.in new file +10 -0
@@ -0,0 +1,10 @@ +config BR2_PACKAGE_LIBGLU + bool "libglu" + depends on BR2_PACKAGE_HAS_LIBGL + help + Mesa OpenGL Utility library + + http://cgit.freedesktop.org/mesa/glu/ + +comment "libglu needs an OpenGL backend" + depends on !BR2_PACKAGE_HAS_LIBGL
package/libglu/libglu.mk new file +17 -0
@@ -0,0 +1,17 @@ +################################################################################ +# +# libglu +# +################################################################################ + +LIBGLU_VERSION = 9.0.0 +LIBGLU_SITE = http://cgit.freedesktop.org/mesa/glu/snapshot +LIBGLU_SOURCE = glu-$(LIBGLU_VERSION).tar.gz +LIBGLU_LICENSE = SGI-B-2.0 +LIBGLU_LICENSE_FILES = include/GL/glu.h +LIBGLU_INSTALL_STAGING = YES +# upstream does not distribute a autoconf?ed configure script +LIBGLU_AUTORECONF = YES +LIBGLU_DEPENDENCIES = libgl + +$(eval $(autotools-package))
Signature · 1 line
1.7.10.4
PATCH v14 10/20 sdl: Add new dependency libglu for opengl support
In reply to Bernd Kuhls--- package/sdl/sdl.mk | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
package/sdl/sdl.mk +2 -1
@@ -62,7 +62,8 @@ SDL_DEPENDENCIES += alsa-lib endif ifeq ($(BR2_PACKAGE_MESA3D),y) -SDL_DEPENDENCIES += mesa3d +SDL_DEPENDENCIES += libglu mesa3d +SDL_CONF_OPT += --enable-video-opengl endif SDL_CONF_OPT += --enable-pulseaudio=no \
Signature · 1 line
1.7.10.4
PATCH v14 11/20 libglew: new package
In reply to Bernd Kuhls--- package/Config.in | 1 + package/libglew/Config.in | 19 +++++++++++++++++++ package/libglew/libglew.mk | 36 ++++++++++++++++++++++++++++++++++++ 3 files changed, 56 insertions(+) create mode 100644 package/libglew/Config.in create mode 100644 package/libglew/libglew.mk
package/Config.in +1 -0
@@ -608,6 +608,7 @@ menu "Graphics" source "package/libgail/Config.in" source "package/libgeotiff/Config.in" source "package/libglade/Config.in" + source "package/libglew/Config.in" source "package/libglu/Config.in" source "package/libgtk2/Config.in" source "package/libpng/Config.in"
package/libglew/Config.in new file +19 -0
@@ -0,0 +1,19 @@ +config BR2_PACKAGE_LIBGLEW + bool "libglew" + depends on BR2_PACKAGE_XORG7 + depends on BR2_PACKAGE_HAS_LIBGL + select BR2_PACKAGE_XLIB_LIBX11 + select BR2_PACKAGE_XLIB_LIBXEXT + select BR2_PACKAGE_XLIB_LIBXI + select BR2_PACKAGE_XLIB_LIBXMU + help + The OpenGL Extension Wrangler Library (GLEW) is a cross-platform C/C++ + extension loading library. GLEW provides efficient run-time mechanisms + for determining which OpenGL extensions are supported on the target + platform. OpenGL core and extension functionality is exposed in a + single header file. + + http://glew.sourceforge.net + +comment "libglew depends on X.org and needs an OpenGL backend" + depends on !BR2_PACKAGE_XORG7 || !BR2_PACKAGE_HAS_LIBGL
package/libglew/libglew.mk new file +36 -0
@@ -0,0 +1,36 @@ +################################################################################ +# +# libglew +# +################################################################################ + +LIBGLEW_VERSION = 1.10.0 +LIBGLEW_SOURCE = glew-$(LIBGLEW_VERSION).tgz +LIBGLEW_SITE = http://sourceforge.net/projects/glew/files/glew/$(LIBGLEW_VERSION) +LIBGLEW_LICENSE = MIT +LIBGLEW_LICENSE_FILES = LICENSE.txt +LIBGLEW_INSTALL_STAGING = YES +LIBGLEW_DEPENDENCIES = libgl xlib_libX11 xlib_libXext xlib_libXi xlib_libXmu + +# using $TARGET_CONFIGURE_OPTS breaks compilation +define LIBGLEW_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \ + GLEW_DEST="/usr" LIBDIR="/usr/lib" \ + AR="$(TARGET_AR)" CC="$(TARGET_CC)" \ + LD="$(TARGET_CC)" STRIP="$(TARGET_STRIP)" \ + POPT="$(TARGET_CFLAGS)" LDFLAGS.EXTRA="$(TARGET_LDFLAGS)" +endef + +define LIBGLEW_INSTALL_STAGING_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \ + GLEW_DEST="$(STAGING_DIR)/usr" LIBDIR="$(STAGING_DIR)/usr/lib" \ + $(TARGET_CONFIGURE_OPTS) install +endef + +define LIBGLEW_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \ + GLEW_DEST="$(TARGET_DIR)/usr" LIBDIR="$(TARGET_DIR)/usr/lib" \ + $(TARGET_CONFIGURE_OPTS) install +endef + +$(eval $(generic-package))
Signature · 1 line
1.7.10.4
PATCH v14 12/20 xdriver_xf86-video-intel: Bump version to 2.99.911
In reply to Bernd Kuhls- add necessary dependencies
- add -D_GNU_SOURCE to avoid getline compilation error
--- package/x11r7/xdriver_xf86-video-intel/Config.in | 5 ++-- .../xdriver_xf86-video-intel.mk | 27 +++++++++++++++----- 2 files changed, 24 insertions(+), 8 deletions(-)
package/x11r7/xdriver_xf86-video-intel/Config.in +3 -2
@@ -3,12 +3,13 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_INTEL depends on (BR2_i386 || BR2_x86_64) depends on BR2_PACKAGE_MESA3D select BR2_PACKAGE_XPROTO_FONTSPROTO - select BR2_PACKAGE_XPROTO_RANDRPROTO - select BR2_PACKAGE_XPROTO_RENDERPROTO select BR2_PACKAGE_XPROTO_XPROTO select BR2_PACKAGE_XLIB_LIBPCIACCESS select BR2_PACKAGE_LIBDRM select BR2_PACKAGE_LIBDRM_INTEL + select BR2_PACKAGE_XLIB_LIBXCOMPOSITE + select BR2_PACKAGE_XLIB_LIBXRANDR + select BR2_PACKAGE_XLIB_LIBXTST help Intel video driver
package/x11r7/xdriver_xf86-video-intel/xdriver_xf86-video-intel.mk +21 -6
@@ -4,18 +4,18 @@ # ################################################################################ -XDRIVER_XF86_VIDEO_INTEL_VERSION = 2.99.907 +XDRIVER_XF86_VIDEO_INTEL_VERSION = 2.99.911 XDRIVER_XF86_VIDEO_INTEL_SOURCE = xf86-video-intel-$(XDRIVER_XF86_VIDEO_INTEL_VERSION).tar.bz2 XDRIVER_XF86_VIDEO_INTEL_SITE = http://xorg.freedesktop.org/releases/individual/driver XDRIVER_XF86_VIDEO_INTEL_LICENSE = MIT XDRIVER_XF86_VIDEO_INTEL_LICENSE_FILES = COPYING -XDRIVER_XF86_VIDEO_INTEL_AUTORECONF = YES + +# this fixes a getline-related compilation in src/sna/kgem.c +XDRIVER_XF86_VIDEO_INTEL_CONF_ENV = \ + CFLAGS="$(TARGET_CFLAGS) -D_GNU_SOURCE" XDRIVER_XF86_VIDEO_INTEL_CONF_OPT = \ - --enable-dri \ - --enable-kms-only \ --disable-xvmc \ - --disable-ums-only \ --enable-sna \ --disable-uxa \ --disable-glamor \
@@ -23,6 +23,21 @@ XDRIVER_XF86_VIDEO_INTEL_CONF_OPT = \ --disable-dga \ --disable-async-swap -XDRIVER_XF86_VIDEO_INTEL_DEPENDENCIES = xserver_xorg-server xproto_fontsproto xproto_randrproto xproto_renderproto xproto_xproto libdrm xlib_libpciaccess +XDRIVER_XF86_VIDEO_INTEL_DEPENDENCIES = \ + libdrm \ + xlib_libXcomposite \ + xlib_libXrandr \ + xlib_libXtst \ + xlib_libpciaccess \ + xproto_fontsproto \ + xproto_xproto \ + xserver_xorg-server + +ifeq ($(BR2_PACKAGE_MESA3D_DRI_DRIVER_I965),y) +XDRIVER_XF86_VIDEO_INTEL_CONF_OPT += --enable-dri +XDRIVER_XF86_VIDEO_INTEL_DEPENDENCIES += mesa3d xproto_xf86driproto +else +XDRIVER_XF86_VIDEO_INTEL_CONF_OPT += --disable-dri +endif $(eval $(autotools-package))
Signature · 1 line
1.7.10.4
PATCH v14 13/20 xbmc: Add missing egl-related cflags
In reply to Bernd KuhlsA similar patch is used in package/qt/qt.mk.
Fixes compilation error:
In file included from /home/br/br/output/host/usr/x86_64-buildroot-linux-gnu/sysroot/usr/include/EGL/egl.h:36:0,
from /home/br/br/output/build/xbmc-13.0-Gotham/xbmc/windowing/egl/WinSystemEGL.h:28,
from /home/br/br/output/build/xbmc-13.0-Gotham/xbmc/windowing/WindowingFactory.h:39,
from DVDPlayerVideo.cpp:23:/home/br/br/output/host/usr/x86_64-buildroot-linux-gnu/sysroot/usr/include/EGL/eglplatform.h:118:22: fatal error: X11/Xlib.h: No such file or directory
using this defconfig
BR2_x86_64=y
BR2_x86_corei7=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
BR2_PACKAGE_XBMC=y
BR2_PACKAGE_MESA3D=y
BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SWRAST=y
BR2_PACKAGE_MESA3D_OPENGL_EGL=y
BR2_PACKAGE_MESA3D_OPENGL_ES=y
--- package/xbmc/xbmc.mk | 4 ++++ 1 file changed, 4 insertions(+)
package/xbmc/xbmc.mk +4 -0
@@ -73,6 +73,10 @@ ifeq ($(BR2_PACKAGE_DBUS),y) XBMC_DEPENDENCIES += dbus endif +XBMC_CONF_ENV += \ + CFLAGS="$(TARGET_CFLAGS) $(shell $(PKG_CONFIG_HOST_BINARY) --cflags egl)" \ + CXXFLAGS="$(TARGET_CXXFLAGS) $(shell $(PKG_CONFIG_HOST_BINARY) --cflags egl)" + ifeq ($(BR2_PACKAGE_XBMC_LIBUSB),y) XBMC_DEPENDENCIES += libusb-compat XBMC_CONF_OPT += --enable-libusb
Signature · 1 line
1.7.10.4
PATCH v14 14/20 xbmc: Allow compilation with uClibc
In reply to Bernd Kuhls- Add dependencies needed by xbmc on BR2_LARGEFILE, BR2_INET_IPV6 & BR2_USE_WCHAR after the removal of BR2_TOOLCHAIN_USES_GLIBC
- Add xbmc-0002-mathutil.patch to fix ARM compilation
--- package/xbmc/Config.in | 15 ++- package/xbmc/xbmc-0002-mathutil.patch | 213 +++++++++++++++++++++++++++++++++ 2 files changed, 222 insertions(+), 6 deletions(-) create mode 100644 package/xbmc/xbmc-0002-mathutil.patch
package/xbmc/Config.in +9 -6
@@ -1,11 +1,10 @@ -comment "xbmc needs an (e)glibc toolchain w/ C++, threads" - depends on !BR2_TOOLCHAIN_USES_GLIBC || !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS +comment "xbmc needs a toolchain w/ C++, IPv6, largefile, threads, wchar" + depends on BR2_arm || BR2_i386 || BR2_x86_64 + depends on !BR2_INET_IPV6 || !BR2_INSTALL_LIBSTDCPP || !BR2_LARGEFILE || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR comment "xbmc requires an OpenGL ES and EGL backend" + depends on BR2_arm || BR2_i386 || BR2_x86_64 depends on !BR2_PACKAGE_HAS_LIBEGL || !BR2_PACKAGE_HAS_LIBGLES - depends on BR2_TOOLCHAIN_USES_GLIBC - depends on BR2_INSTALL_LIBSTDCPP - depends on BR2_TOOLCHAIN_HAS_THREADS menuconfig BR2_PACKAGE_XBMC bool "xbmc"
@@ -58,10 +57,14 @@ menuconfig BR2_PACKAGE_XBMC select BR2_PACKAGE_TINYXML select BR2_PACKAGE_YAJL select BR2_PACKAGE_ZLIB - depends on BR2_TOOLCHAIN_USES_GLIBC + depends on BR2_INET_IPV6 depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_LARGEFILE depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_PACKAGE_HAS_LIBEGL && BR2_PACKAGE_HAS_LIBGLES + depends on BR2_USE_MMU # python + depends on BR2_USE_WCHAR + depends on BR2_arm || BR2_i386 || BR2_x86_64 help XBMC is an award-winning free and open source (GPL) software media player and entertainment hub for digital media.
package/xbmc/xbmc-0002-mathutil.patch new file +213 -0
213 lines not on this page · raw message
Signature · 1 line
1.7.10.4
PATCH v14 14/20 xbmc: Allow compilation with uClibc
Bernd Kuhls <[email protected]> wrote in news:1405451955-10204-15-git-send-email-bernd.kuhls at t-online.de:
Quoted 1 line
package/xbmc/xbmc-0002-mathutil.patch | 213
+++++++++++++++++++++++++++++++++
Hi,
small note: This patch was applied upstream:
https://github.com/xbmc/xbmc/commit/9e03a265c09bdc6bd3613e71d57735c1ee95e155
Regards, Bernd
PATCH v14 15/20 xbmc: Add alsa support
In reply to Bernd Kuhls--- package/xbmc/xbmc.mk | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-)
package/xbmc/xbmc.mk +7 -1
@@ -39,7 +39,6 @@ XBMC_CONF_ENV = \ XBMC_CONF_OPT += \ --with-arch=$(BR2_ARCH) \ - --disable-alsa \ --disable-crystalhd \ --disable-debug \ --disable-dvdcss \
@@ -73,6 +72,13 @@ ifeq ($(BR2_PACKAGE_DBUS),y) XBMC_DEPENDENCIES += dbus endif +ifeq ($(BR2_PACKAGE_ALSA_LIB),y) +XBMC_DEPENDENCIES += alsa-lib +XBMC_CONF_OPT += --enable-alsa +else +XBMC_CONF_OPT += --disable-alsa +endif + XBMC_CONF_ENV += \ CFLAGS="$(TARGET_CFLAGS) $(shell $(PKG_CONFIG_HOST_BINARY) --cflags egl)" \ CXXFLAGS="$(TARGET_CXXFLAGS) $(shell $(PKG_CONFIG_HOST_BINARY) --cflags egl)"
Signature · 1 line
1.7.10.4
PATCH v14 16/20 xbmc: Add lame support
In reply to Bernd Kuhls--- package/xbmc/xbmc.mk | 7 +++++++ 1 file changed, 7 insertions(+)
package/xbmc/xbmc.mk +7 -0
@@ -79,6 +79,13 @@ else XBMC_CONF_OPT += --disable-alsa endif +ifeq ($(BR2_PACKAGE_LAME),y) +XBMC_DEPENDENCIES += lame +XBMC_CONF_OPT += --enable-libmp3lame +else +XBMC_CONF_OPT += --disable-libmp3lame +endif + XBMC_CONF_ENV += \ CFLAGS="$(TARGET_CFLAGS) $(shell $(PKG_CONFIG_HOST_BINARY) --cflags egl)" \ CXXFLAGS="$(TARGET_CXXFLAGS) $(shell $(PKG_CONFIG_HOST_BINARY) --cflags egl)"
Signature · 1 line
1.7.10.4
PATCH v14 17/20 xbmc: Fix TexturePacker compile
In reply to Bernd KuhlsPatch description:
use_texturepacker_native=yes
is needed because we obviously need a native-compiled binary, but the xbmc build system does enable this variable only for darwin, android and raspberry-pi targets.
USE_TEXTUREPACKER_NATIVE_ROOT="$(HOST_DIR)/usr"
is also needed because USE_TEXTUREPACKER_NATIVE_ROOT="$TEXTUREPACKER_NATIVE_ROOT"
is only executed for raspberry-pi by xbmc/configure and only USE_TEXTUREPACKER_NATIVE_ROOT is used by tools/TexturePacker/Makefile.in.
To sum up, building for raspberry-pi and other archs works out-of-the-box, compiling for an Intel target, for example, fails:
In file included from SDL_anigif.cpp:23:0:
SDL_anigif.h:24:21: fatal error: SDL/SDL.h: No such file or directory compilation terminated.
XBMCTex.cpp:34:21: fatal error: SDL/SDL.h: No such file or directory
--- package/xbmc/xbmc.mk | 2 ++ 1 file changed, 2 insertions(+)
package/xbmc/xbmc.mk +2 -0
@@ -35,6 +35,8 @@ XBMC_CONF_ENV = \ PYTHON_CPPFLAGS="-I$(STAGING_DIR)/usr/include/python$(PYTHON_VERSION_MAJOR)" \ PYTHON_SITE_PKG="$(STAGING_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages" \ PYTHON_NOVERSIONCHECK="no-check" \ + use_texturepacker_native=yes \ + USE_TEXTUREPACKER_NATIVE_ROOT="$(HOST_DIR)/usr" \ TEXTUREPACKER_NATIVE_ROOT="$(HOST_DIR)/usr" XBMC_CONF_OPT += \
Signature · 1 line
1.7.10.4
PATCH v14 18/20 xbmc: Add X.org/OpenGL support
In reply to Bernd Kuhls- on ARM xbmc only supports EGL/GLES
https://github.com/xbmc/xbmc/blob/Gotham/configure.in#L695
- rsxs depends on OpenGL
https://github.com/xbmc/xbmc/blob/Gotham/configure.in#L1469
so include a compile fix, courtesy of
https://github.com/OpenELEC/OpenELEC.tv/blob/master/packages/mediacenter/xbmc/package.mk#L109
--- package/xbmc/Config.in | 31 ++++++++++++++++++++++++++++--- package/xbmc/xbmc.mk | 32 ++++++++++++++++++++++++++------ 2 files changed, 54 insertions(+), 9 deletions(-)
package/xbmc/Config.in +28 -3
@@ -2,9 +2,26 @@ comment "xbmc needs a toolchain w/ C++, IPv6, largefile, threads, wchar" depends on BR2_arm || BR2_i386 || BR2_x86_64 depends on !BR2_INET_IPV6 || !BR2_INSTALL_LIBSTDCPP || !BR2_LARGEFILE || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR +config BR2_PACKAGE_XBMC_EGL_GLES + bool + default y + depends on BR2_PACKAGE_HAS_LIBEGL + depends on BR2_PACKAGE_HAS_LIBGLES + depends on !BR2_PACKAGE_XBMC_GL # prefer GL if available + +config BR2_PACKAGE_XBMC_GL + bool + default y + depends on BR2_PACKAGE_HAS_LIBGL + depends on !BR2_arm # xbmc needs egl/gles on arm + +comment "xbmc needs an OpenGL or an openGL ES and EGL backend" + depends on BR2_i386 || BR2_x86_64 + depends on !BR2_PACKAGE_XBMC_GL && !BR2_PACKAGE_XBMC_EGL_GLES + comment "xbmc requires an OpenGL ES and EGL backend" - depends on BR2_arm || BR2_i386 || BR2_x86_64 - depends on !BR2_PACKAGE_HAS_LIBEGL || !BR2_PACKAGE_HAS_LIBGLES + depends on BR2_arm + depends on !BR2_PACKAGE_XBMC_EGL_GLES menuconfig BR2_PACKAGE_XBMC bool "xbmc"
@@ -22,6 +39,8 @@ menuconfig BR2_PACKAGE_XBMC select BR2_PACKAGE_LIBCDIO select BR2_PACKAGE_LIBCURL select BR2_PACKAGE_LIBFRIBIDI + select BR2_PACKAGE_LIBGLEW if BR2_PACKAGE_XBMC_GL + select BR2_PACKAGE_LIBGLU if BR2_PACKAGE_XBMC_GL select BR2_PACKAGE_LIBGCRYPT select BR2_PACKAGE_LIBID3TAG select BR2_PACKAGE_LIBMAD
@@ -51,17 +70,23 @@ menuconfig BR2_PACKAGE_XBMC select BR2_PACKAGE_PYTHON_UNICODEDATA select BR2_PACKAGE_PYTHON_ZLIB select BR2_PACKAGE_READLINE + select BR2_PACKAGE_SDL if BR2_PACKAGE_XBMC_GL + select BR2_PACKAGE_SDL_X11 if BR2_PACKAGE_XBMC_GL + select BR2_PACKAGE_SDL_IMAGE if BR2_PACKAGE_XBMC_GL select BR2_PACKAGE_SQLITE select BR2_PACKAGE_TAGLIB select BR2_PACKAGE_TIFF select BR2_PACKAGE_TINYXML + select BR2_PACKAGE_XLIB_XMU if BR2_PACKAGE_XBMC_GL # needed by rsxs screensaver + select BR2_PACKAGE_XLIB_XRANDR if BR2_PACKAGE_XBMC_GL + select BR2_PACKAGE_XLIB_XT if BR2_PACKAGE_XBMC_GL # needed by rsxs screensaver select BR2_PACKAGE_YAJL select BR2_PACKAGE_ZLIB depends on BR2_INET_IPV6 depends on BR2_INSTALL_LIBSTDCPP depends on BR2_LARGEFILE depends on BR2_TOOLCHAIN_HAS_THREADS - depends on BR2_PACKAGE_HAS_LIBEGL && BR2_PACKAGE_HAS_LIBGLES + depends on BR2_PACKAGE_XBMC_EGL_GLES || BR2_PACKAGE_XBMC_GL depends on BR2_USE_MMU # python depends on BR2_USE_WCHAR depends on BR2_arm || BR2_i386 || BR2_x86_64
package/xbmc/xbmc.mk +26 -6
@@ -15,7 +15,7 @@ XBMC_LICENSE_FILES = LICENSE.GPL # http://wiki.xbmc.org/index.php?title=TexturePacker XBMC_DEPENDENCIES = host-gawk host-gettext host-gperf host-infozip host-lzo host-sdl_image host-swig XBMC_DEPENDENCIES += boost bzip2 expat flac fontconfig freetype jasper jpeg \ - libass libcdio libcurl libegl libfribidi libgcrypt libgles libmad libmodplug libmpeg2 \ + libass libcdio libcurl libfribidi libgcrypt libmad libmodplug libmpeg2 \ libogg libplist libpng libsamplerate libungif libvorbis libxml2 libxslt lzo ncurses \ openssl pcre python readline sqlite taglib tiff tinyxml yajl zlib
@@ -44,7 +44,6 @@ XBMC_CONF_OPT += \ --disable-crystalhd \ --disable-debug \ --disable-dvdcss \ - --disable-gl \ --disable-hal \ --disable-joystick \ --disable-mysql \
@@ -52,14 +51,10 @@ XBMC_CONF_OPT += \ --disable-optical-drive \ --disable-projectm \ --disable-pulse \ - --disable-sdl \ --disable-ssh \ --disable-vaapi \ --disable-vdpau \ --disable-vtbdecoder \ - --disable-x11 \ - --disable-xrandr \ - --enable-gles \ --enable-optimizations ifeq ($(BR2_PACKAGE_RPI_USERLAND),y)
@@ -88,9 +83,34 @@ else XBMC_CONF_OPT += --disable-libmp3lame endif +# quote from xbmc/configure.in: "GLES overwrites GL if both set to yes." +# we choose the opposite because opengl offers more features, like libva support +ifeq ($(BR2_PACKAGE_XBMC_GL),y) +XBMC_DEPENDENCIES += libglew libglu libgl sdl_image xlib_libX11 xlib_libXext \ + xlib_libXmu xlib_libXrandr xlib_libXt +XBMC_CONF_OPT += --enable-gl --enable-sdl --enable-x11 --enable-xrandr--disable-gles +# fix rsxs compile +# make sure target libpng-config is used, options taken from rsxs-0.9/acinclude.m4 +XBMC_CONF_ENV += \ + jm_cv_func_gettimeofday_clobber=no \ + mac_cv_pkg_png=$(STAGING_DIR)/usr/bin/libpng-config \ + mac_cv_pkg_cppflags="`$(STAGING_DIR)/usr/bin/libpng-config --I_opts --cppflags`" \ + mac_cv_pkg_cxxflags="`$(STAGING_DIR)/usr/bin/libpng-config --ccopts`" \ + mac_cv_pkg_ldflags="`$(STAGING_DIR)/usr/bin/libpng-config --L_opts --R_opts`" \ + mac_cv_pkg_libs="`$(STAGING_DIR)/usr/bin/libpng-config --libs`" +XBMC_CONF_OPT += --enable-rsxs +else +XBMC_CONF_OPT += --disable-gl --disable-rsxs --disable-sdl --disable-x11 --disable-xrandr +ifeq ($(BR2_PACKAGE_XBMC_EGL_GLES),y) +XBMC_DEPENDENCIES += libegl libgles +XBMC_CONF_OPT += --enable-gles XBMC_CONF_ENV += \ CFLAGS="$(TARGET_CFLAGS) $(shell $(PKG_CONFIG_HOST_BINARY) --cflags egl)" \ CXXFLAGS="$(TARGET_CXXFLAGS) $(shell $(PKG_CONFIG_HOST_BINARY) --cflags egl)" +else +XBMC_CONF_OPT += --disable-gles +endif +endif ifeq ($(BR2_PACKAGE_XBMC_LIBUSB),y) XBMC_DEPENDENCIES += libusb-compat
Signature · 1 line
1.7.10.4
PATCH v14 19/20 xbmc: Add option for Goom screensaver
In reply to Bernd Kuhls--- package/xbmc/Config.in | 9 +++++++++ package/xbmc/xbmc.mk | 6 ++++++ 2 files changed, 15 insertions(+)
package/xbmc/Config.in +9 -0
@@ -194,6 +194,15 @@ config BR2_PACKAGE_XBMC_WAVPACK Enable WAV input support. Select this if you want to play back WV files. +config BR2_PACKAGE_XBMC_GOOM + bool "goom screensaver" + depends on BR2_PACKAGE_XBMC_GL + help + Enable goom screensaver + +comment "goom needs an OpenGL backend" + depends on !BR2_PACKAGE_XBMC_GL + comment "XBMC addons" source "package/xbmc-addon-xvdr/Config.in"
package/xbmc/xbmc.mk +6 -0
@@ -183,6 +183,12 @@ ifeq ($(BR2_PACKAGE_XBMC_LIBTHEORA),y) XBMC_DEPENDENCIES += libtheora endif +ifeq ($(BR2_PACKAGE_XBMC_GOOM),y) +XBMC_CONF_OPT += --enable-goom +else +XBMC_CONF_OPT += --disable-goom +endif + # Add HOST_DIR to PATH for codegenerator.mk to find swig define XBMC_BOOTSTRAP cd $(@D) && PATH=$(BR_PATH) ./bootstrap
Signature · 1 line
1.7.10.4
PATCH v14 20/20 xbmc: Add VA-API support
In reply to Bernd Kuhls--- package/xbmc/xbmc.mk | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-)
package/xbmc/xbmc.mk +8 -1
@@ -52,7 +52,6 @@ XBMC_CONF_OPT += \ --disable-projectm \ --disable-pulse \ --disable-ssh \ - --disable-vaapi \ --disable-vdpau \ --disable-vtbdecoder \ --enable-optimizations
@@ -112,6 +111,14 @@ XBMC_CONF_OPT += --disable-gles endif endif +# xbmc needs libva & libva-glx +ifeq ($(BR2_PACKAGE_LIBVA)$(BR2_PACKAGE_MESA3D_DRI_DRIVER),yy) +XBMC_DEPENDENCIES += mesa3d libva +XBMC_CONF_OPT += --enable-vaapi +else +XBMC_CONF_OPT += --disable-vaapi +endif + ifeq ($(BR2_PACKAGE_XBMC_LIBUSB),y) XBMC_DEPENDENCIES += libusb-compat XBMC_CONF_OPT += --enable-libusb
Signature · 1 line
1.7.10.4