INPROGRESS

Overview

An RDK-V Virtual Remote basically focuses on emulating the features of physical RDK remote control unit to provide support to application developers and testers to make their life easier with the new RDK-V Virtual Remote feature.

It comes in a form of installer package that can be installed on desktop pc and launched. RDK-V Virtual Remote application starts with all the RCU keys present in physical RDK remote. After application launch, an RDK-V Virtual Remote screen is displayed which mainly contains virtual keys same as RCU keys present in physical rdk remote.

Note: Few RCU keys are not implemented in physical RDK remote, same keys will not work in RDK-V Virtual Remote. Details will be added soon.

Setup RDK virtual remote dev environment

Prerequisite

RDK virtual remote has been developed and tested on below environment

  • VS Code: Version-1.63.0

Visual Studio Code is a source-code editor made by Microsoft for Windows, Linux and macOS.

  • Electron: 13.5.2

Electron (formerly known as Atom Shell) is a free and open-source software framework developed and maintained by GitHub. It allows for the development of desktop GUI applications using web technologies: it combines the Chromium rendering engine and the Node. js runtime.

  • Google Chrome: Version 96.0.4664.93 (Official Build) (64-bit)

Google Chrome is a cross-platform web browser developed by Google.

  • Node.js: 14.16.0

Node.js is an open-source, cross-platform, back-end JavaScript runtime environment that runs on the V8 engine and executes JavaScript code outside a web browser.

  • V8: 9.1.269.39-electron.0

V8 is Google's open-source high-performance JavaScript and WebAssembly engine, written in C++. It is used in Chrome and in Node.js, among others.

  • OS: Linux x64 5.11.0-41-generic

An operating system is system software that manages computer hardware, software resources, and provides common services for computer programs.

  • Oracle Virtual Box: Version 5.2.42_Ubuntu r137960

            Oracle VM VirtualBox is cross-platform virtualization software.

           and

  • RPI: 3B

Source code setup and Run application

Follow below steps to run application on host pc and create installer package

  • Step 1- Use node version v14.18.1 or above

                            $ nvm use v14.18.1 

  • Step 2 - get the emulator src code

                            $ git clone https://code.rdkcentral.com/r/rdk/devices/intel-x86-pc/emulator/appmanager

  • Step 3 - goto RDKVirtualRemote folder

                             $ cd RDKVirtualRemote

  • Step 4 - run below command to install dependencies

                             $ npm install

  • Step 5 - run below command to launch virtual remote

                             $ npm run start      

Create installer package

Follow below steps to create installer package for linux 

  • Need to install electron-packager and electron-installer-debian globally if not installed in your PC

            $ sudo npm install -g electron-packager
            $ sudo npm install -g electron-installer-debian

  • Run below commands to make deb file for linux installer

$ electron-packager .  --platform linux --arch x64 --out dist --overwrite
$ electron-installer-debian --src dist/rdkv-virtual-remote-linux-x64/ --arch amd64 --config config.json

  • Installer package will be created and stored inside the dist folder.

Installation

Pre-Build Download

Steps to install

Step 1- Double click on downloaded installer deb package

Step 2- Default Linux software install window will appear with install button, click on install

Step 3- Authentication window will appear, give user password and press Authenticate


On successful installation user/developer will be able to launch RDK-V Virtual Remote by selecting the RDK-V Virtual Remote icon from apps 

Features

Target Device IP Address Configuration

  • Developer has to configure the rpi device/emulator ip address, after device ip configuration virtual remote will be able to communicate with rpi/emulator.


  • On focus button is highlighted as shown in below image.

Supported RCU keys

Currently following listed rcu keys are working UP/Down/OK /Home /Mute and Backsapce 

Resources


   

1 Comment

  1. Z-Mohammad Naseem Shekh this looks great, but I can't seem to get past Step 2:

    fatal: remote error: rdk/devices/intel-x86-pc/emulator/appmanager unavailable