Emulator Build Instructions
RDK-V Emulator Build Instructions
Copyright 2015 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
RDK Emulator Users Guide
RDK licensees & ASP Members
Document Status Codes
Work in Progress (WIP)
An incomplete document designed to guide discussion and generate feedback that may include several alternative requirements for consideration.
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
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.”
Table of Contents
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. The key applications in the RDK Emulator are the rmfApp, Media streamer and the RDK-Browser. As RDK emulator runs on desktop computers, applications can be tested and debugged before trying to deploy them to real devices.
Purpose of this Document
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 2.0 stack .Currently RDK Emulator supports mediaframework, media-streamer, RDK-Browser and RDK-Logger, XRE components.
- During video playback, performance issues are there due to video scaling.
- Also In rmfApp , while playing video through hnsource or qamsource , application may crash once EOS is reached.
- It has been seen that open source package mirror repos may go down temporarily or may be blocked by local corporate firewalls. Please try the build again at a later time or after resolving local firewall issues. One test would be to access the failing url on the web browser and see if the site is up. This can help isolate local issues.
Abbreviations and Acronyms
The following table describes the acronyms and abbreviations used in this document
Reference Design Kit
Quadrature Amplitude Modulation
Set Top Box
Cross-Platform Runtime Environment
Hard Disk Drive
End of Stream
Single Program Transport Stream
Multi-Program Transport Stream
Universal Plug and Play
Overview of RDK Emulator
- Executes on x86-based platforms including virtualization environments such as Virtual Box and QEMU.
- Multiple build types – media client, hybrid etc
- Supports the RDK Browser startup application.
- Up to date with the RDK generic trunk and any x86-specific platform code.
- Built using Yocto and RDK build frameworks
- RMF Support
- RDK Browser as a start-up application supporting playback of local TS file.
- Video/Audio playback using fbdevsink and autoaudiosink gstreamer elements.
- Remote control – x86-based QT application that is useful for navigation in RDK Browser and XRE Applications
- Support for X2 guide.
Supported Build Types
RDK Components Involved
Final Image Name
Build Setup Instructions
Setting up the Host Environment
Yocto 2.2 (Morty) support in RDK Emulator
Downloading Source Code & Building (morty version of RDK-Emulator)
The following commands fetch the source code of the emulator using the Android repo tool
mkdir emulator && cd emulator repo init -u https://code.rdkcentral.com/r/manifests -b rdk-next -m rdkv-nosrc.xml repo sync -j`nproc` --no-clone-bundle --no-tags
The above step configures and sets up your directory to start an appropriate build for hybrid or media client.
MACHINE=qemux86mc-morty source meta-cmf-bsp-emulator/setup-environment bitbake rdk-generic-mediaclient-wpe-image
MACHINE=qemux86hyb-morty source meta-cmf-bsp-emulator/setup-environment bitbake rdk-generic-hybrid-wpe-image
On Successful build, the image (in .vmdk format) would be available at the following reference location based on whether your build type was Hybrid (qemux86hyb-morty) or Media Client (qemux86mc-morty):
– build-qemux86hyb-morty/tmp/deploy/images/qemux86hyb-morty or
– build-qemux86mc-morty/tmp/deploy/images/qemux86mc -morty
To build TDK-images
MACHINE=qemux86mc-morty source meta-cmf-bsp-emulator/setup-environment bitbake rdk-generic-mediaclient-wpe-tdk-image
MACHINE=qemux86hyb-morty source meta-cmf-bsp-emulator/setup-environment bitbake rdk-generic-hybrid-wpe-tdk-image
VMWare Player 6.X or
only supported to get wpe-webkit browser support
Host OS ubuntu 12.04 32-Bit