RDK Resources
[*RDK Preferred*]
Code Management Facility
RDK Forums
[RDK Conferences]
RDK Support
Archives
Papers & Presentations Archive
RDK Versions | Applicability |
---|---|
6.1 | All RDK-V device profiles |
Vendor is expected to meet certain prerequisites before proceeding to the integration process, which includes:
RDK uses the Yocto Bitbake build system to generate RDK builds. The flexibility of Yocto to add or remove components or layers with much ease helps to keep RDK working fine with multiple sets of SoC, OEM, operator, and third-party software combinations. Using Yocto as the build environment will help the integrators easily plug in RDK and third-party software stacks, thereby reducing integration efforts. There would be a basic RDK build system on which SoC could add their Soc layer, OEM could add their OEM layer, and finally Operator could add their Operator layer (and any third-party software stacks by any of these parties). The starting point for the Yocto build is a manifest file. For more details, please refer to the manifest file .
Steps to setup a Yocto-based build environment is detailed below:
For host setup details, refer to this link: Build Setup Instructions
While the actual build setup depends on how the vendor wants to set it up, a sample Yocto build system for the RDK generic reference platforms is given below as a reference:
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
mkdir <workspace> cd <workspace> repo init -u https://code.rdkcentral.com/r/manifests -b 6.0.0 -m rdkv.xml repo sync --no-clone-bundle --no-tags |
Integrators can use build framework of their choice to create the software for their platform. This will help them to use their existing build framework and proceed with development. As this framework varies from vendor to vendor (for example, Buildroot), there are no generic steps that can be shared towards this. However, this is highly discouraged as RDK, by default, comes with the Yocto build framework (above option), which helps in seamless integration of multiple layers (SOC, device, OEM, third party, operator) and easier upgrades with fewer dependencies on other parties.
For FAQs on Yocto Build, please refer to the Build FAQ .
There are many security features in the RDK, and the three major features of the platform are containerization, access control, and kernel hardening.
When integrating external components into the hardware deployment, it is crucial to adhere to the standard integration procedures. Any required third-party software should be integrated using the appropriate mechanisms provided by the RDK.
For instance, when integrating tuner support or any other external component, the recommended approach is to bring it in as a Thunder plugin or an RDK service. Thunder plugins and RDK services provide a standardized and modular way to incorporate additional functionalities into the RDK framework. By utilizing these mechanisms, the external component can seamlessly integrate and interact with the RDK infrastructure.
Similarly, for DRM (Digital Rights Management) functionality, the preferred method is to bring in the necessary DRM plugin as an OpenCDM (Open Content Decryption Module) plugin. OpenCDM is a plugin framework that enables the integration of various DRM technologies into the RDK ecosystem. Popular DRM solutions like PlayReady and Widevine are already part of the DRM implementation from various SoC providers.
Ripple, a reference implementation of the Firebolt API specification, is a Rust-based application gateway supporting dynamic extension loading. It will offer a Firebolt Gateway for Distributors and App Developers to engage with the Application platform, facilitating the discovery, launch, and management of applications. RDK supports an app database called Firebolt Connect. Firebolt Connect is a single source of truth for applications. Vendors have to provide bundling and encryption on top of that to make it useful.
From the API side, below are the mandatory APIs to have your app Firebolt certified:
The first thing your app will want to do is tell Firebolt that it's ready. Firebolt avoids assuming your app is minimally usable and gives you complete control over when your app is ready to be presented to end users. When you have rendered enough of your app just call “ready”. That's it! Now Firebolt knows that it's safe to present your app to end users, and can do so as quickly as possible. It's recommended to also listen to any Firebolt events before calling ready, to ensure you don't miss any.
Click here for more details about app development and refer to Firebolt APIs that help to build apps for RDK-powered connected home devices and reach millions.
Third-party vendors, operators, and system integrators can seamlessly integrate peripheral devices such as remote controls and other accessories into the RDK box. Integrating peripheral devices such as remote controls with the RDK box involves ensuring compatibility, connecting the device to appropriate ports, and installing drivers if necessary. Configuration of the RDK platform is essential to recognize the device, with adjustments made if needed. Thorough testing is crucial to guarantee proper functionality. Specific remote control units like T4H Lima and UEI Tatlow, which align with RDK's Voice RCU Spec, may differ in keymap configurations, typically implemented at the OEM/SoC layer. The RDK platform offers support for key mapping through IRMgr and Bluetooth HID, although custom implementations would be required if the RCUs deviate from the standard, necessitating integration support from the OEM/SOC.
For RCUs that align with the RDK spec and offer features such as voice and firmware upgrades, the RDK platform can handle these functionalities seamlessly. If RCUs are Bluetooth-based and follow the BT HID standard, additional stack-side changes may not be necessary. However, if specific features like voice control and firmware upgrades are required and not covered by standard Bluetooth profiles, RCU-specific implementations may be needed, with integration support provided by the OEM/SOC. The RDK Control Manager plugin is available to facilitate these integrations, ensuring compatibility and smooth operation of the peripheral devices with the RDK box.
Additionally, for detailed information on how to integrate a new remote control device and how to integrate a pre-certified remote into your box, you can refer to the following link: Remote Controls Architecture.
RDK supports the usage of different User Interfaces in the RDK devices. Operators can either choose from among the open-source User Interfaces that are already available with RDK or develop and use their own User Interface.
The RDK Accelerator Home UI version 3 is the latest version of the RDK reference UI, based on the Lightning framework, which provides a full-featured UI with a modern minimalistic design using a dark theme. This single UI currently supports IP-STB, Hybrid-STB, and TV profile RDK stacks. The UI uses Lightning SDK Plugins such as Language, Router, and Storage and supports Premium streaming applications such as Amazon, YouTube, and Xumo along with a selection of Lightning apps from the Metrological App Store. It also includes a wide section of settings that allow a user to take full advantage of the device features such as Audio, Video, Network, Language, and more.
For further details, please refer to RDK Accelerator Home User Interface documentation.
XCONF is a management service that facilitates efficient image upgrades for set-top-boxes (STBs). It enables centralized control, monitoring, and firmware updates for optimal performance, security, and scalability. XCONF allows to define instructions for STBs and works alongside Device Configuration Manager (DCM) to remotely manage devices. The core component, theXconf data service, communicates with STBs and a Cassandra database to store firmware configurations and other data. By leveraging XCONF, STB image upgrades can be efficiently managed and customized. For more details refer to Xconf .
Under certification, there are two sub-sections:
RDK Certification
Firebolt Certification
RDK certification program facilitates users to get their Video Accelerator product certified as an RDK compliance device.
RDKM provides the RDK Certification suite to verify the compliance of the RDK Video Accelerator device. The certification program includes testing that validates the RDK stack on the user platform with a defined test suite called as RDK Certification Test Suite. It is mandatory to go through this program in order to brand the user's platform as an RDK-compliant product.
Firebolt Certification entails confirming that a specific implementation of Firebolt on a particular device satisfies all the essential requirements outlined in the Firebolt specification. This certification process employs a comprehensive set of automated tests, test harnesses, and applications known as the Firebolt Certification Suite. The Firebolt OpenRPC specification serves as the authoritative reference for Firebolt Certification. Every software release intended for running Firebolt applications on any device must undergo this certification process.
Refer Firebolt Certification Suite document which provides a comprehensive guide for setting up the Firebolt Certification Suite (FCS), designed to enable both internal and external parties to verify that their applications comply with Firebolt standards.
CSS Stylesheet |
---|
.ui-card{ flex-direction: column!important; display: flex!important; margin-block-end:1rem!important; display: flex; border: 0.1px solid #d7d7d7; box-shadow: 4px 2px 2px 0 rgba(128, 128, 128, 30); margin-bottom: 0.5rem; box-shadow: 2px 2px 6px 0 rgba(0, 0, 0, 0.1); background-color:#F5F5F5; padding-top: 15px; padding-right: 15px; padding-bottom: 15px; padding-left: 15px; } |