Skip to contentSkip to conversation

infrastructure changes in oecore hw codecs

RFC New [email protected] 1 participant 4 messages Jan 24, 2013

lore
Share & tools
lore
#0 lore raw

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
#1 lore raw

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
index fd6ed42..3c70c53 100644
@@ -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
#2 lore raw

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
index 013efb9..d2dc9e2 100644
@@ -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
index abddb76..da8c250 100644
@@ -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
#3 lore raw

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
index e0f6dbb..657d5f2 100644
@@ -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
index 2c47dc6..a5f2643 100644
@@ -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
index f52a1a5..e3246d2 100644
@@ -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