RDK Resources
[*RDK Preferred*]
Code Management Facility
RDK Forums
[RDK Conferences]
RDK Support
Archives
Papers & Presentations Archive
Copyright 2022 RDK Management, LLC. All rights reserved.
The contents of this document are RDK Management, LLC Proprietary and Confidential and may not be distributed or otherwise disclosed without prior written permission of RDK Management, LLC.
Document Control Number | D10-20141105 |
Document Title | RDK Emulator Users Guide |
Version | D05 |
Date | 2022/12/10 |
Status | Issued (I) |
Distribution | RDK licensees & ASP Members |
Work in Progress (WIP) | An incomplete document designed to guide discussion and generate feedback that may include several alternative requirements for consideration. |
Draft (D) | A document in specification format considered largely complete, but lacking review. Drafts are susceptible to substantial change during the review process. |
Pre-Issued (Pre I) | A revision of a document circulated for review or approval prior to release, but not approved for distribution |
Issued (I) | A stable document, which has undergone rigorous review and is suitable for product design and development |
This document is provided under the terms and conditions of the RDK License Agreement, License Agreement for Software Integration Kit, License Agreement for Set-top Box Software Integration Kit.
RDK Management LLC is not responsible for any liability of any nature whatsoever resulting from or arising out of any use or reliance upon this specification. This document is furnished on an "AS IS" basis, and RDK Management, LLC does not provide any representation or warranty, express or implied, regarding its accuracy, completeness, or fitness for a particular purpose."
RDK (Reference Design Kit) is an integrated set of software components, tools and documentation that help in the development of the software stack for set-top box based on the standard Linux operating system which is designed to meet the requirements of the latest generation media servers and clients.
The RDK emulator is an x86 based implementation of the RDK software stack. It is primarily targeted towards the RDK development community (integrators, component developers and application developers) that attempts to simplify the process of working with the RDK software stack without the need for a reference hardware platform. As RDK emulator runs on desktop computers, applications can be tested and debugged before trying to deploy them to real devices.
The purpose of this document is to enable RDK users and developers to be able to bring up the RDK stack and emulator on the PC platform. The document also includes step-by-step procedures to setup & build RDK Emulator
The intended audience includes the MSO teams, developers and external vendors responsible for the development of firmware and applications for RDK-based Set Top Boxes
Scope of this document includes understanding RDK Emulator and functionalities, supported build types and to run and test in Virtual Box environment.
RDK Emulator does not support all components of RDK 4.0 stack. Currently there is no startup UI, system boots up in console mode.
The following table describes the acronyms and abbreviations used in this document
Abbreviation/Acronym | Description |
RDK | Reference Development Kit |
VM | Virtual Machine |
VBox | Virtual Box |
STB | Set Top Box |
XRE | Cross-Platform Runtime Environment |
HDD | Hard Disk Drive |
SPTS | Single Program Transport Stream |
UPNP | Universal Plug and Play |
Build Types | RDK Components Involved | Features/Applications Supported | Final Image Name | Startup Application |
RDK Mediaclient |
|
| rdk-generic-mediaclient-image-qemux86.vmdk | Nil. Currently boots up to console screen. |
How to Build#SettinguptheHostEnvironment
Host Requirements
Requirement | Remarks |
---|---|
Linux | 64 bit Ubuntu 18.04 operating system |
Free HDD Space | Minimum 100GB Free Memory |
Oracle Virtual Box | 6.1 or higher |
Install Virtual Box and follow the following steps to bring up RDK Emulator on Virtual Box:
In the following steps, it is recommended to review the description and screenshot completely before proceeding with steps.
Open Virtualbox
Select New [A popup will come up]
Select Type as ‘Linux’
Select Version as ‘Other Linux (32 Bit)’
Click on “Next”
Your VM has been built with very limited hard drive space. In order to run emulator and play video files, you need to copy your video files into the file system for playback. For this, you will need to setup a virtual external hard drive.
$ ssh root@x.x.x.x |
---|
$ mount |
---|
$ fdisk -l |
---|
$ fdisk /dev/hdb |
---|
Review the description of the steps during fdisk operation below and the following screenshot for reference before proceeding.
$ Command (m for help): n |
---|
$ Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p |
---|
$ Partition number (1-4, default 1): 1 |
---|
$ Command (m for help): p |
---|
$ Command (m for help): w |
---|
$ mkfs.ext3 /dev/hdb1 |
---|
$ mkdir /ext_hdd $ mount /dev/hdb1 /ext_hdd |
---|
$ scp <file_name> root@<your_emulator_vm_ip>:/ext_hdd |
---|
As described in the previous section, you can log in to your emulator VM from your Host Machine using the ssh command.
$ ssh root@x.x.x.x |
---|
RDK emulator supports westeros compositor and renderer module as westeros-renderer-gl. Do the following to check westeros animation using westeros_test command line utility.
$ killall westeros Comment the last line in /usr/bin/westeros-init.sh so that compositor is not started automatically on bootup #westeros --renderer /usr/lib/libwesteros_render_gl.so.0.0.0 --display WPE
$ mkdir -p /run/user/0 $ export XDG_RUNTIME_DIR=/run/user/0/ $ export LD_PRELOAD=/usr/lib/libwesteros_gl.so.0.0.0 $ westeros --renderer /usr/lib/libwesteros_render_gl.so.0.0.0 --display WPE
$ westeros_test
$ gst-launch-1.0 playbin uri=file:///hdd/<filename>