Tizen v2.3 Emulation on PC
Contents Tizen SDK Emulator Tizen 3.0 with VMware Tizen 3.0 IVI / Common Emulate Tizen 3.0 IVI with VMware
Tizen emulator
Tizen Development Runtime 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)
Tizen Emulator
Tizen Emulator (cont) Event Injector Emulator Manager Emulator 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 x86 image with QEMU Para-virtualization with virtio support Uses HW acceleration (VT-x, AMD-V with KVM or HAXM)
Emulation vs. Simulation (Para-virt) 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
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
OEM Abstraction Layer
Virtual Board 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-9p New virtio devices from Tizen virtio-opengl codec, overlay, camera, multi-touch
Skin / Display 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
GLES Acceleration Support OpenGLES/EGL APIs with high performance GLES/EGL calls are performed in off-screen rendering by host GPU GL command passing to QEMU via virtio
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
Tizen Emulator is also Open Source We can build Tizen emulator (also all Tizen SDK) with own hands. git clone git://git.tizen.org/sdk/emulator/qemu execute ./[qemu-root]/tizen/build.sh Required: libasound2-dev, libcurlpp-dev, libcurl4-openssl-dev, libglib2.0-dev, libpixman-1-dev, libpng12-dev, libcap-dev, libattr1-dev, libv4l-dev, libxext-dev, libglu1-mesa-dev, libsdl1.2-dev Uses [qemu-root]/tizen/emulator/bin/emulator-x86 Currently Tizen_2.3 branch is not available
Tizen 3.0 with VMware
Tizen 3.0 IVI and Common Tizen 3.0 New features Full open source development project (upstream branch) Support various profiles (IVI, mobile, Common) Support various architectures (arm, x86, x86_64) New features WRT Crosswalk HTML5 application runtime based on Chromium & Blink X Wayland & Weston (for multi-display support)
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 VirtualBox Tizen 3.0 x86 image can be booted with common Hypervisor with no changes https://wiki.tizen.org/wiki/IVI/IVI_3.0_VMware
Tizen IVI 3.0 with VMware Download image from Tizen daily build http://download.tizen.org/releases/daily/tizen/ivi/ or build by yourself https://source.tizen.org/ko/documentation/developer-guide/all-one-instructions/creating-tizen-ivi-images-based-on-specific-snapshot-one-page Convert image into vmdk (using qemu-img tool) Run VMware with vmdk image
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
References Design and Implementation of Tizen Emulator, TDC2012 Tizen:Common, TDC2014 Tizen IVI, Korea Linux forum 2012 Tizen wiki, https://wiki.tizen.org Tizen mailing list, dev@tizen.org