1 15 Tizen Emulation on PC Embedded Software
1 15 Tizen Emulation on PC Embedded Software Lab. @ SKKU
Contents 2 15 • Tizen SDK Emulator • Tizen 3. 0 with VMware – Tizen 3. 0 IVI / Common – Emulate Tizen 3. 0 IVI with VMware Embedded Software Lab. @ SKKU
3 15 Tizen emulator Embedded Software Lab. @ SKKU
Tizen Development Runtime 4 • Web simulator – For web applications – Support oneshot web runtime • Emulator – For web/native applications and platforms – Support full system runtime • Physical phone – For web/native applications and platforms including BSP (Board Support Package) – Support full system runtime Embedded Software Lab. @ SKKU 15
Tizen Emulator Embedded Software Lab. @ SKKU 5 15
Tizen Emulator (cont) • Event Injector – Event injection for ease of test • Sensor input (accelerometer, motion), location, telephony, NFC, Device • Emulator Manager – Provides interface to set and run various emulator image with various configuration • Emulator – Tizen x 86 image with QEMU – Para-virtualization with virtio support – Uses HW acceleration (VT-x, AMD-V with KVM or HAXM) Embedded Software Lab. @ SKKU 6 15
Emulation vs. Simulation (Para-virt) • Emulation – – Strict implementation of device spec No guest modification Conventional approach of QEMU Poor performance and flexibility • Simulation (Para-virtualization) – API-centric implementation – Guest modification needed – e. g. virtio Embedded Software Lab. @ SKKU 7 15
Hybrid Emulation on Tizen • Emulation + Simulation for better performance and flexibility – Uses virtio device driver for performance sensitive device – Because of OAL (OEM Abstraction Layer) it is not difficult to switch real device driver into virtio device driver Embedded Software Lab. @ SKKU 8 15
OEM Abstraction Layer Embedded Software Lab. @ SKKU 9 15
Virtual Board 10 15 • Tizen Virtual board provides virtual HW devices • Board Constructions – QEMU PC board • Intel Pentium II chipset + devices – virtio devices from QEMU • Vrtio-disk, virtio-net and virtio-9 p – New virtio devices from Tizen • virtio-opengl • codec, overlay, camera, multi-touch Embedded Software Lab. @ SKKU
Skin / Display 11 15 • Separate display process from emulator process • Display devices based VGA – VGA device (1 fb) + Overlay device (2 obs) – Sharing SDL display buffer between QEMU and skin processes Embedded Software Lab. @ SKKU
GLES Acceleration 12 • Support Open. GLES/EGL APIs with high performance • GLES/EGL calls are performed in off-screen rendering by host GPU – GL command passing to QEMU via virtio Embedded Software Lab. @ SKKU 15
Codec Acceleration • Supprot video playing even w/o HW VT support – QEMU TCG (Tiny Code Generator) is not fast enough to run guest video codec • AV Codec API delegation to host Embedded Software Lab. @ SKKU 13 15
Tizen Emulator is also Open Source 14 • We can build Tizen emulator (also all Tizen SDK) with own hands. – git clone ssh: //review. tizen. org: gerrit/sdk/emulator/qemu – execute. /[qemu-root]/tizen/build. sh • Required: libasound 2 -dev, libcurlpp-dev, libcurl 4 -openssl-dev, libglib 2. 0 -dev, libpixman-1 -dev, libpng 12 -dev, libcap-dev, libattr 1 -dev, libv 4 l-dev, libxext-dev, libglu 1 -mesa-dev, libsdl 1. 2 -dev – Uses [qemu-root]/tizen/emulator/bin/emulator-x 86 – currently Tizen_2. 2 branch is not available (code missing) • Available soon. Embedded Software Lab. @ SKKU 15
15 15 Tizen 3. 0 with VMware Embedded Software Lab. @ SKKU
Tizen 3. 0 IVI and Common • Tizen 3. 0 – Full open source development project (upstream branch) – Support various profiles (IVI, mobile, Common) – Support various architectures (arm, x 86_64) • New features – WRT Crosswalk • HTML 5 application runtime based on Chromium & Blink – X Wayland & Weston (for multi-display support) Embedded Software Lab. @ SKKU 16 15
Various methods to use Tizen 3. 0 on PC • Tizen SDK Emulator – Tizen 3. 0 also provides Tizen SDK emulator similar to 2. 2 – https: //wiki. tizen. org/wiki/Tizen_IVI_SDK#Installing_Tizen_IVI_SDK • Tizen Standalone Emulator – Tizen emulator w/o Tizen SDK – https: //wiki. tizen. org/wiki/Tizen_Standalone_Emulator • Tizen with Vmware or Virtual. Box – Tizen 3. 0 x 86 image can be booted with common Hypervisor with no changes – https: //wiki. tizen. org/wiki/IVI_3. 0_VMware Embedded Software Lab. @ SKKU 17 15
Tizen IVI 3. 0 with VMware 18 • Download image – from Tizen daily build http: //download. tizen. org/releases/daily/tizen/ivi/ – or build by yourself https: //source. tizen. org/ko/documentation/developerguide/all-one-instructions/creating-tizen-ivi-images-based-on-specificsnapshot-one-page • Convert image into vmdk (using qemu-img tool) • Run VMware with vmdk image Embedded Software Lab. @ SKKU 15
Tizen IVI 3. 0 with VMware (cont) • Only terminal with simple GUI • Modello (https: //wiki. tizen. org/wiki/IVI/Modello) – proof-of-concept HTML UI designed for IVI with modello Embedded Software Lab. @ SKKU 19 15
References • • • 20 15 Design and Implementation of Tizen Emulator, TDC 2012 Tizen: Common, TDC 2014 Tizen IVI, Korea Linux forum 2012 Tizen wiki, https: //wiki. tizen. org Tizen mailing list, dev@tizen. org Embedded Software Lab. @ SKKU
- Slides: 20