200 likes | 214 Views
Learn about Tizen Emulator, Development, and Virtual Board. Utilize Tizen 3.0 with VMware and hybrid emulation for flexibility and performance.
E N D
Contents • Tizen SDK Emulator • Tizen 3.0 with VMware • Tizen 3.0 IVI / Common • Emulate Tizen 3.0 IVI with VMware
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) • Support full system runtime
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 emulatorimage 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) • 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
Hybrid Emulation on Tizen • Emulation + Simulation for better performance and flexibility • Uses virtio device driver for performancesensitive device • Because of OAL (OEM Abstraction Layer)it is not difficult to switch real device driver into virtio device driver
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/oHW 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 IVI and Common • Tizen 3.0 • 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