Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This page explains how you as AppDeveloper can create/compile your native (c/c++) application using DAC SDK and how to publish it to RDK-M DAC-cloud staging area. 

If When your application meets the DAC App contract for binary compatibility , this it will allows allow you as AppDeveloper 

  • to download, run and test that same native application on all RDK6.1 Video Accelerators without any additional integration steps
  • to exchange your Application binary with real RDK operators, technically allowing them to test/run your application on their boxes. 

...

Table of Contents
maxLevel2

What

...

you need

  • Video Accelerator with final RDK6.1 image on it. This can be Raspberry Pi 4 (RPI4) on which you can flash RDK6.1 final release image.   Note that RPIv3B/3B+ is deprecated, not supported by RDK-M anymore. Tool to flash RDK6.1 rpi image to SD card, example is provided with https://www.balena.io/etcher/ tool. Contact RDK-M if you want to test it on more carrier grade Video Accelerator (with amlogic, broadcom or realtek SoC) with RDK6.1 image
  • Your application source code with bitbake recipe recipe. Needs to meet the DAC contract for binary compatibility.
  • DAC SDK https://github.com/rdkcentral/meta-dac-sdk to cross compile your application, auto add dependent libraries in application container and automatically package/output your application as oci compliant dac container image.
  • As App developer company/entity you will need to request to RDK-M DAC support team via via support@rdkcentral.com  :
    • a login/pswd to register your app and its metadata in RDK-M ASMS instance (ASMS is AppStore Metdata µService and part of DAC cloud setup of RDK-M for Video Accelerators)
    • an associated "Maintainer" identifier (string) to be able to upload/register your app. 
    • credentials for uploading your OCI image to the private RDK OCI container registry. Is This is not required if you choose to upload it to a public accessible OCI container registry or ask support team to upload it for you.

Above is credentials are one time request per App developer entity. Once you have above credentials, you can reuse them for publishing other apps under your entity. At this moment requesting these credentials is still manual process, a point to improve in future 

...

As an Appdeveloper you want to test and run your DAC Application on a set of real Hardware Reference devices. So you need such device and host image of that device. hardware reference devices. RDK-M created the Video Accelerators for that. 

If your app code complies with DAC app contract for binary compatibility it should be able to run on the various RDK Video Accelerator Devices provided these run firmware images (=monolitic software image) that also live up to that DAC contract for binary compatibility. The RDK6.1 monolitic monolithic software releases release live up to that contract (as of RDK6.1_RC2 Feb 2024), contains UI to browse and install DAC apps from RDKM catalog and is advised/required to be loaded on those Video Accelerator Devices.The RDK-M DAC cloud/staging store. The RPI4 is the open source community Video Accelerator that RDK-M supports.  RDK-M made available a pre-build of such rdk6.1 lib32-rdk-generic-mediaclient-wpe-image  software image for rpi so that you can just load this image on your rpi4 device and can start testing. (without having to spend any time on building such image from scratch)  This prebuilt is available in via this link https://wiki.rdkcentral.com/download/attachments/80261869/rdk-generic-mediaclient-wpe-tdk-image-raspberrypi4-64-rdk-android-mc-6.1.0.wic.bz2  See RDK6.1 rpi4 release notes wiki Raspberry Pi 4 RDK6.1 Release Notes#Downloadapre-builtimageThat page also describes how you build such image from sources (but as said above this is not necessary), we suggest to use the prebuiltimage to save time In next section we explain how you can flash that image on rpi4.

To get your hands on other Video Accelerator HWs and their RDK6.1 SW images, we refer you to RDK-M

...

  • Find and download the .wic.bz2 file from your build: find tmp/deploy/ -name *.wic.bz2
  • Flash it to the Raspberry Pi's SD card using Etcher. In principle, it can handle a wic.bz2 directly but sometimes this doesn't work great. Unzipping it first can help: bzip2 -df xxx.wic.bz2
  • Currently the image foresees 256MB of available space to store DAC apps. That is enough for several apps. If you want to foresee more space, you can do that by resizing the firmware image partion on the SD card to higher size.
  • Insert the SD card back in the RaspberryPi and power up the Pi. Connect the Raspberry Pi to your network with an ethernet cable, and to your TV with a HDMI cable.
  • Make sure you can SSH into the Pi as this is important for later. The default user is root with no password
  • You should see the RDK Resident GUI application on your TV at bootup (after following some initial setup questions)

...

How to publish your DAC app to RDK-M DAC cloud

There are two ways to publish a new application in ASMS:

...

But before publishing the new app into ASMS, you need to publish the OCI oci compliant container image of your DAC application into a container registry that supports the OCI compliant standard format. How In next section we explain how to do that, is explained in next section.Note If you don't want to test or publish your own new DAC app then you can skip this step and try the already published demo apps in the next section.

How to publish the application oci container image to RDK-M oci container registry

...