infrastructure changes in oecore hw codecs
cover infrastructure changes in oecore hw codecs
From: Nitin A Kamble <[email protected]>
Here are commits for getting feedback from the community on the work happening in the oecore for supporting hwcodecs for H/W BSPs properly.
The current requirements: we need a mechanism to
1. Add accelerated codecs to the images
2. Exclude the X based codecs automatically for images not including the Xserver
3. Need a simple config mechanism to exclude all the accelerated codecs for any image of a BSP
The current mechanism available in the meta-intel BSP configs is failing to fulfill the 2nd requirement above. And I could not find any meta-intel specific solution to achieve it.
Richard and I discussed this matter and came up with the solution included in these commits. These commits will lead to BSP config changes similar to this commit:
http://git.yoctoproject.org/cgit.cgi/meta-intel-contrib/commit/?h=nitin/hwcodec
This work is not final, and also not properly tested yet, but this email is written with the intention of sharing the proposed infrastructure changes in oecore layer to the community before they solidify.
Thanks,
Nitin
The following changes since commit 8d6e55bf2192524bda84138b5356a2791adbbe61:
prserv: add LOCALCOUNT to AUTOINCs migration feature (2013-01-22 16:01:32 +0000)
are available in the git repository at:
git://git.pokylinux.org/poky-contrib nitin/misc
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=nitin/misc
Richard Purdie (3):
packagegroup-core-x11-xserver: Add XSERVERCODECS variable core-image-lsb-sdk/dev: Inherit the base image instead of duplicating
core-image: Add hwcodecs IMAGE_FEATURE
meta/classes/core-image.bbclass | 4 ++++ meta/recipes-extended/images/core-image-lsb-dev.bb | 12 +++--------- meta/recipes-extended/images/core-image-lsb-sdk.bb | 14 ++++---------- meta/recipes-extended/images/core-image-lsb.bb | 2 +- .../packagegroups/packagegroup-core-x11-xserver.bb | 2 ++ meta/recipes-sato/images/core-image-sato.bb | 2 +- 6 files changed, 15 insertions(+), 21 deletions(-)
Signature · 1 line
1.7.3.4
RFC 1/3 packagegroup-core-x11-xserver: Add XSERVERCODECS variable
From: Richard Purdie <[email protected]>
At present its hard for the system to provide extra x11 hardware codecs. We could lump them in with the XSERVER variable but this is suboptimal as in some use cases the user might not want to include them in some images.
With this patch we keep our options open about separating usage of the two in the future.
--- .../packagegroups/packagegroup-core-x11-xserver.bb | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-)
meta/recipes-graphics/packagegroups/packagegroup-core-x11-xserver.bb +2 -0
@@ -10,10 +10,12 @@ inherit packagegroup PACKAGE_ARCH = "${MACHINE_ARCH}" XSERVER ?= "xserver-xorg xf86-video-fbdev xf86-input-evdev" +XSERVERCODECS ?= "" SUMMARY_${PN} = "X11 display server" RDEPENDS_${PN} = "\ ${XSERVER} \ + ${XSERVERCODECS} \ " # Allow replacing task-x11-server in meta-oe
Signature · 1 line
1.7.3.4
RFC 2/3 core-image-lsb-sdk/dev: Inherit the base image instead of duplicating
From: Richard Purdie <[email protected]>
--- meta/recipes-extended/images/core-image-lsb-dev.bb | 12 +++--------- meta/recipes-extended/images/core-image-lsb-sdk.bb | 14 ++++---------- 2 files changed, 7 insertions(+), 19 deletions(-)
meta/recipes-extended/images/core-image-lsb-dev.bb +3 -9
@@ -1,13 +1,7 @@ +require core-image-lsb.bb + DESCRIPTION = "Basic image without X support suitable for development work. It \ can be used for customization and implementations that conform to Linux \ Standard Base (LSB)." -IMAGE_FEATURES += "splash dev-pkgs ssh-server-openssh" - -IMAGE_INSTALL = "\ - ${CORE_IMAGE_BASE_INSTALL} \ - packagegroup-core-basic \ - packagegroup-core-lsb \ - " - -inherit core-image +IMAGE_FEATURES += "dev-pkgs"
meta/recipes-extended/images/core-image-lsb-sdk.bb +4 -10
@@ -1,16 +1,10 @@ +require core-image-lsb.bb + DESCRIPTION = "Basic image without X support suitable for Linux Standard Base \ (LSB) implementations. It includes the full meta-toolchain, plus development \ headers and libraries to form a standalone SDK." -IMAGE_FEATURES += "splash tools-sdk dev-pkgs ssh-server-openssh \ - tools-debug tools-profile tools-testapps debug-tweaks" - +IMAGE_FEATURES += "tools-sdk dev-pkgs tools-debug tools-profile tools-testapps debug-tweaks" -IMAGE_INSTALL = "\ - ${CORE_IMAGE_BASE_INSTALL} \ - packagegroup-core-basic \ - packagegroup-core-lsb \ - kernel-dev \ - " +IMAGE_INSTALL += "kernel-dev" -inherit core-image
Signature · 1 line
1.7.3.4
RFC 3/3 core-image: Add hwcodecs IMAGE_FEATURE
In reply to [email protected]From: Richard Purdie <[email protected]>
Currently hardware codecs are being injected in rather ugly ways and end up either in no or all images. This adds a dedicated IMAGE_FEATURE for them based on the MACHINE_HWCODECS variable. We may need to refine this in due course but this patch at least illustrates the concept.
--- meta/classes/core-image.bbclass | 4 ++++ meta/recipes-extended/images/core-image-lsb.bb | 2 +- meta/recipes-sato/images/core-image-sato.bb | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-)
meta/classes/core-image.bbclass +4 -0
@@ -23,6 +23,7 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3 # - ssh-server-dropbear - SSH server (dropbear) # - ssh-server-openssh - SSH server (openssh) # - qt4-pkgs - Qt4/X11 and demo applications +# - hwcodecs - Install hardware acceleration codecs # - package-management - installs package management tools and preserves the package manager database # - debug-tweaks - makes an image suitable for development, e.g. allowing passwordless root logins # - dev-pkgs - development packages (headers, etc.) for all installed packages in the rootfs
@@ -41,6 +42,7 @@ PACKAGE_GROUP_ssh-server-dropbear = "packagegroup-core-ssh-dropbear" PACKAGE_GROUP_ssh-server-openssh = "packagegroup-core-ssh-openssh" PACKAGE_GROUP_package-management = "${ROOTFS_PKGMANAGE}" PACKAGE_GROUP_qt4-pkgs = "packagegroup-core-qt-demoapps" +PACKAGE_GROUP_hwcodecs = "${MACHINE_HWCODECS}" # IMAGE_FEATURES_REPLACES_foo = 'bar1 bar2'
@@ -50,6 +52,8 @@ IMAGE_FEATURES_REPLACES_ssh-server-openssh = "ssh-server-dropbear" # IMAGE_FEATURES_CONFLICTS_foo = 'bar1 bar2' # An error exception would be raised if both image features foo and bar1(or bar2) are included +MACHINE_HWCODECS ??= "" + python __anonymous() { # Ensure we still have a splash screen for existing images if base_contains("IMAGE_FEATURES", "apps-console-core", "1", "", d) == "1":
meta/recipes-extended/images/core-image-lsb.bb +1 -1
@@ -2,7 +2,7 @@ DESCRIPTION = "A foundational basic image without support for X that can be \ reasonably used for customization and is suitable for implementations that \ conform to Linux Standard Base (LSB)." -IMAGE_FEATURES += "splash ssh-server-openssh" +IMAGE_FEATURES += "splash ssh-server-openssh hwcodecs" IMAGE_INSTALL = "\ ${CORE_IMAGE_BASE_INSTALL} \
meta/recipes-sato/images/core-image-sato.bb +1 -1
@@ -2,7 +2,7 @@ DESCRIPTION = "Image with Sato, a mobile environment and visual style for \ mobile devices. The image supports X11 with a Sato theme, Pimlico \ applications, and contains terminal, editor, and file manager." -IMAGE_FEATURES += "splash package-management x11-base x11-sato ssh-server-dropbear" +IMAGE_FEATURES += "splash package-management x11-base x11-sato ssh-server-dropbear hwcodecs" LICENSE = "MIT"
Signature · 1 line
1.7.3.4