{"id":38499955,"url":"https://github.com/rdkcentral/meta-dac-sdk","last_synced_at":"2026-01-17T05:59:20.670Z","repository":{"id":46053259,"uuid":"359824171","full_name":"rdkcentral/meta-dac-sdk","owner":"rdkcentral","description":"This repo provides the yocto building environment \u0026 convenience classes for cross compilation and bundling of applications into Downloadable Application Container format and provides the recipes for the examples in dac-examples-src repo.","archived":false,"fork":false,"pushed_at":"2025-09-24T09:05:43.000Z","size":247,"stargazers_count":1,"open_issues_count":1,"forks_count":12,"subscribers_count":4,"default_branch":"develop","last_synced_at":"2025-09-24T11:25:37.398Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"BitBake","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rdkcentral.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":"NOTICE","maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-04-20T13:23:13.000Z","updated_at":"2025-09-24T09:05:48.000Z","dependencies_parsed_at":"2024-01-09T13:55:54.439Z","dependency_job_id":"7ee98c94-0656-4ca0-980a-2dd1ccb420f4","html_url":"https://github.com/rdkcentral/meta-dac-sdk","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rdkcentral/meta-dac-sdk","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rdkcentral%2Fmeta-dac-sdk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rdkcentral%2Fmeta-dac-sdk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rdkcentral%2Fmeta-dac-sdk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rdkcentral%2Fmeta-dac-sdk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rdkcentral","download_url":"https://codeload.github.com/rdkcentral/meta-dac-sdk/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rdkcentral%2Fmeta-dac-sdk/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28501351,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T04:31:57.058Z","status":"ssl_error","status_checked_at":"2026-01-17T04:31:45.816Z","response_time":85,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-01-17T05:59:19.949Z","updated_at":"2026-01-17T05:59:20.656Z","avatar_url":"https://github.com/rdkcentral.png","language":"BitBake","funding_links":[],"categories":[],"sub_categories":[],"readme":"# meta-dac-sdk\n  # One time SDK Build environment setup on HOST \n \t# make sure that your Linux host has required packages needed for Yocto. \n  \t# These are defined in https://docs.yoctoproject.org/3.1.33/ref-manual/ref-system-requirements.html#required-packages-for-the-build-host\n\t# On CentOS-7 switch default gcc to 7.x from https://www.softwarecollections.org/en/scls/rhscl/devtoolset-7/\n\t#[ -f /opt/rh/devtoolset-7/enable ] \u0026\u0026 source /opt/rh/devtoolset-7/enable\n\n\t# Create build directory\n\tmkdir build; cd build\n\n\t# Install 'repo' tool from: https://android.googlesource.com/tools/repo\n \t# following repo commands will download Yocto poky environment and other required meta-layers see manifest of https://github.com/rdkcentral/meta-dac-sdk/blob/master/manifests/dac-dunfell-manifest.xml\n\trepo init -u https://github.com/rdkcentral/meta-dac-sdk/ -m manifests/dac-dunfell-manifest.xml\n\trepo sync --no-clone-bundle -v -j$(getconf _NPROCESSORS_ONLN)\n\n\t. ./oe-init-build-env\n\tcp ../.repo/manifests/manifests/bblayers.conf conf/\n\n  \t# Need to decide whether you compile Application binaries against ARM 32bit or x86 64bit, Select one of them\n \t# At this stage we do not support Multi CPU Arch container images yet, defaulting to ARM 32bit  \n\t# for ARMv7\n\techo 'MACHINE = \"raspberrypi4\"' \u003e\u003e conf/local.conf\n\t# for x86_64\n\t#echo 'MACHINE = \"qemux86-64\"' \u003e\u003e conf/local.conf\n \n\n\t# By default, gfx libraries are removed from DAC rootfs\n\t# Also libglvnd is used to provide egl/gles/mesa\n\t# To use mesa provider instead and not remove the gfx libraries:\n\t#echo 'DISTRO_FEATURES_remove = \"cleanup_gfx\"' \u003e\u003e conf/local.conf\n \t# end of [One time SDK Build environment setup on HOST] \n# Building your DAC application container image\n\t#Above steps you only need to do the first time you setup the SDK. For subsequent uses, you only need to run the following command to configure the build environment:\n \t# cd build\n\t# . ./oe-init-build-env\n\n\t# Now you can build the \"DAC application container image\" of your choice. \n \t# Note that you need to have associated yocto image recipe defined in meta-layer and use that as \u003cyour yocto image target\u003e\n \t# as per example image recipes in https://github.com/rdkcentral/meta-dac-sdk/tree/master/recipes-example/images\n  \t# use bitbake \u003cyour yocto image target\u003e to build the associated dac application container.\n   \t# below commands build dac application container examples coming with SDK\n    \tbitbake dac-image-wayland-egl-test\n\tbitbake dac-image-wayland-egl-test-input\n\tbitbake dac-image-essos-sample\n\tbitbake dac-image-essos-egl\n\tbitbake dac-image-qt-test\n\tbitbake dac-image-shell\n\tbitbake dac-image-flutter-slide-puzzle\n\tbitbake dac-image-chocolate-doom\n\tbitbake dac-image-cobalt\n\tbitbake dac-image-glmark2\n\n\t# Or build them all at once\n\tbitbake dac-image-wayland-egl-test dac-image-wayland-egl-test-input dac-image-essos-sample dac-image-essos-egl dac-image-qt-test dac-image-shell dac-image-flutter-slide-puzzle dac-image-glmark2\n\n# Building Cobalt DAC app\n\nUse build target **dac-image-cobalt**.  By default cobalt evergreen is **not** enabled and libcobalt will be built and linked with cobalt-launcher. To enable cobalt evergreen lite make sure **cobalt_enable_evergreen_lite** DISTRO_FEATURE is set. See conf/layer.conf. In that case libloader-app will be built and linked to cobalt-launcher.\n\nHowever, currently this does not work on RPI target hosts: cobalt DAC app built with evergreen enabled, crashes on RPI. See comments in libcobalt_23.lts.stable.bbappend.\n\n## Building Cobalt 2024 DAC app\n\nBy default version 23 is built. Edit conf/layer.conf and uncomment this line to build version 24 instead:\n```\nDISTRO_FEATURES_append = \" cobalt-24 gstreamer1_18 dunfell\"\n```\n\n# Building Netflix DAC app\n\nNetflix DAC app needs several things in order to build:\n* netflix source tarball\n* meta-rdk-netflix repo\n* playready headers recipe can be copied from here:\n  https://github.com/stagingrdkm/meta-dac-sdk/blob/master/recipes-core/playready-headers/playready-headers_4.2.bb\n* playready headers from officially licensed playeady SDK. Howto get the playready-sdk.zip?\n  * install your licensed playready SDK on your PC\n  * zip the installed Device_PK_xxxx dir. Update/check the values for PV and ZIP_SUBDIR in meta-dac-sdk/recipes-core/playready-headers/playready-headers_4.2.bb\n\nTo actually run the netflix DAC app, it also requires a correct netflix vault file on the host under /opt/netflix-binfile.bin.\n\nExtra setup steps:\n\u003e\n\tgit clone \"https://code.rdkcentral.com/r/apps/netflix/rdk-oe/meta-rdk-netflix\"\n\tmkdir -p build/downloads\n\tcp ~/from_somewhere/nrd-5.3.1-27d5e9003f.tar.gz build/downloads/nrd-5.3.1-27d5e9003f.tar.gz\n\ttouch build/downloads/nrd-5.3.1-27d5e9003f.tar.gz.done\n\tcp ~/from_somewhere/playready-sdk.zip build/downloads/\n\techo 'BBLAYERS += \" ${TOPDIR}/../meta-rdk-netflix\"' \u003e\u003e build/conf/bblayers.conf\n\nBuild:\n\u003e\n\tbitbake dac-image-netflix\n\n# Building AmazonPrime5 DAC app\n\nAmazonPrime DAC app needs several things in order to build:\n* AmazonPrime5 source tarball\n* meta-rdk-amazon repo\n\nExtra setup steps:\n\u003e\n        git clone \"https://code.rdkcentral.com/r/apps/amazon/rdk-oe/meta-rdk-amazon\"\n        mkdir -p build/downloads\n        cp ~/from_somewhere/avpk-v5.tgz build/downloads/avpk-v5.tgz\n        touch build/downloads/avpk-v5.tgz.done\n        echo 'BBLAYERS += \" ${TOPDIR}/../meta-rdk-amazon\"' \u003e\u003e build/conf/bblayers.conf\n        sed -i '/BBMASK.*amazon-prime-src_5.0.bb/d' meta-rdk-amazon/conf/layer.conf\n\nBuild:\n\u003e\n        bitbake dac-image-amazonprime5\n\n# Generating DAC bundles\n\nOptionally, you can enable DAC bundle generation for a specific target platform. It will use BundleGen, skopeo and umoci to do this.\nMore info on BundleGen can be found here: https://github.com/rdkcentral/BundleGen . These tools don't need to be installed separately. They are built within the Yocto environment.\n\nYou can enable bundle generation by adding BUNDLE_GENERATE = \"1\" to conf/local.conf. By default it will generate a tarball bundle for RPI3 reference image. The bundles are output in the ./bundles/ directory together with a test script to easily upload and run it on the target.\n\nOther options are these:\n* BUNDLE_PLATFORM: use a different target platform. Defaults to \"rpi3_reference_vc4_dunfell\"\n* BUNDLE_OPTIONS: extra commandline options for BundleGen. Defaults to \"-m normal --createmountpoints\"\n* BUNDLE_TEMPLATE_PATH: path where to find the template files for your target. You could set it to \"${TOPDIR}/templates\" and put your templates in there. Example templates: https://github.com/rdkcentral/BundleGen/tree/master/templates\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frdkcentral%2Fmeta-dac-sdk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frdkcentral%2Fmeta-dac-sdk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frdkcentral%2Fmeta-dac-sdk/lists"}