IVI/Tizen-IVI 3.0

The IVI team is excited to announce the availability of Tizen IVI 3.0 for In-Vehicle Infotainment.

Tizen IVI 3.0 is a Linux-based open source operating system and Tizen profile widely accepted by the automotive industry. It bundles popular and well supported open source projects where suitable and new industry-specific components where no solutions existed. This makes it the most advanced open source distribution available for automobiles today. Tizen IVI 3.0 is GENIVI 7.0 compliant on Nexcom VTC 1010-IVI and MinnowBoard Max devices and was chosen as the reference implementation for Linux Foundation's Automotive Grade Linux project. Tizen IVI 3.0 comes with a compliance spec and test suite to ensure device interoperability. We also announce the final version of the Tizen IVI SDK for web application development including access to W3C compliant vehicle Web APIs. The Tizen web runtime engine provides the highest standards in HTML5 compatibility and system performance. Additionally we have added experimental support for the Yocto Framework giving the community and automotive professionals the choice to use their favourite build tool to adapt and enhance Tizen IVI 3.0 images based on their requirements. Tizen IVI 3.0 provides a strong foundation for building modern commercial automotive solutions.

Virtual Machine

Tizen IVI SDK

Tizen In-Vehicle Infotainment Software Developers Kit (IVI SDK) is a new IVI platform supported under Tizen SDK. It supports IVI web application development and runs on Windows*, Ubuntu*, and Mac OS X*. It includes Emulator (based on QEMU), Web Simulator, IDE, documents and samples, and supports a real IVI device as a target.

New features in the Tizen IVI SDK - Tizen IVI 3.0 Release include:

Emulator (based on QEMU): Kernel is upgraded from 3.12 to 3.14. VCAN module is enabled in kernel. Qemu is upgraded from 2.0 to 2.2. Image is based on Tizen IVI 3.0 Final Release (20150201.3) release. The web runtime engine is updated to Crosswalk version 11.40.277.0. Intel HAXM SMP feature is newly supported. HD (720X1280) resolution is supported for running Modello sample applications.

Web Simulator: The API support for Locale module, Speech module, MediaServer module and Vehicle module is updated according to the latest specification. HD (720X1280) resolution is supported for running Modello sample applications.

IDE: Eclipse is upgraded from Indigo (3.7) to Kepler (4.3). Modello sample applications and common libraries are updated. Editor automatic completion is updated for Speech API, MediaServer API and Vehicle API. Install/run/debug commands in IDE are updated based on platform pkgcmd tools and aul tools.

Documents: Tizen IVI API documents for Locale, Speech, MediaServer and Vehicle are updated in help documentation. Tizen Standalone Emulator is also supported.

Top Known Issues & Workarounds

Below we outline known issues with the final release.

Less critical (P2 priority) issues in the release can be reviewed using the P2 bug filter.

ICO Home Screen not showing web applications

Summary: Due to the current Crosswalk process model, Tizen App FW aul_app_get_pkgname_bypid() fails with web applications. This affects ICO Homescreen window policy decision making and it means no web applications are shown.

Technical Overview: a detailed discussion revolving around the issue has been discussed in this email thread.

Impact: The problem affects ICO Homescreen and the users of aul_app_get_pkgname_bypid(). The application lifecycle (install/remove/launch/kill) are supported and functional using app_launcher/pkgcmd commands.

Resolution: The fix for this problem is linked to another activity involving the Crosswalk process model aiming to merge the window creation (GPU process) with the actual application process. Details are available here.

Unstable Media Server Indexing

Summary: There is an issue with indexing media files when there are more than 100 files on the device. Having more files will cause media-server to crash frequently.

Impact: This will cause the tizen.content API to be unable to retrieve the current list of available media on the device.

Resolution: Finding the root cause of TC-2394 and fixing it should take care of this issue.

Tizen IVI built with the Yocto framework

Summary: this is at the experimental stage. There are a number of differences between the official Tizen IVI 3.0 image generated by the Tizen OBS and the image you can build using the Yocto framework.

Impact: the behaviour of the image generated by the Yocto framework is not representative of the Tizen IVI 3.0. We recommend people to use the official Tizen IVI 3.0 image (build by OBS) if they desire a full-featured image.

How-Tos

Build & Create Tizen IVI Image For a Specific Snapshot

This page provides information about how to build a specific Tizen IVI snapshot repository from scratch and generate an image following the build process.

Tweaking your screen settings

Tweak your screen settings by editing the /etc/xdg/weston/weston-genivi.ini file. Genivi user's weston ini file name varies with installed TLM configuration, which can single-seat, modello,ico etc, but there should be only one ini file with prefix weston-genivi* and that should be changed when needed for output tweakings. The key section(s) are the [output].

The first thing you need is the name of the output your screen is attached to. This varies from device to device, and also based on the type of connector that is used on the platform (HDMI, DP, VGA, etc.). If you are not sure about the exact name (as detected by Weston), then check the journalctl -b output (as root) and look for weston. Take a note of the output name and also the various resolutions that are advertised.

You can then construct your [output] section based on that, the main keywords to use are:

name: name of the output, e.g. HDMI3, DP1, VGA1, LVDS1, etc.

mode: this is the resolution you want to use. You can use a resolution that's advertised directly (e.g. 1024x768 or use a complete modeline if you need a custom resolution.

transform: this is how you rotate or flip your screen.

Here is an example of a modified section for an HD screen attached to HDMI1 and which is physically rotated to be in portrait mode:

[output]
name=HDMI1
mode=1920x1080
transform=90

Tuning screen resolution and orientation in VMware

Disable VGA output on VTC1010

The hardware design of the Nexcom VTC1010 reports an active VGA port even if none is connected. Add the following to the boot loader kernel option command line to disable this 'ghost' screen: video=VGA-1:d

Open /boot/extlinux/extlinux.conf for the MBR image

Open /boot/loader/entries/vmlinuz-<VERSION>-x86-ivi.conf for the EFI image

Enable touch on VTC1010

All touch events will be drawn on the primary Wayland output monitor (VGA1 even if none exists) unless the VGA port has been disabled (see here). Use the following udev rule to map touch events to the correct Wayland output. See the following bug for more details: TIVI-2798

/usr/lib/udev/rules.d/99-egalax.rules
# NOTE: setting the WL_OUTPUT lets Weston know which display to associate the touch device with
ATTRS{idVendor}=="0eef", ATTRS{idProduct}=="7200", ENV{WL_OUTPUT}="DP1"
Reboot the system after creating this file.

Install and start Modello UI

Modello is a sample UI entirely written using HTML5/JS technologies. For instructions how to install and run Modello please check with Modello WIKI page available here: Modello HOWTO

Dual-Screen Configuration

Setting up dual screen requires a VGA and DisplayPort (DP) monitor. A HDMI monitor can be substituted for the DP if an active HDMI to DP port adapter is available.

Disabling the LVDS output for the Nexcom VTC7120 platforms

The LVDS output is active by default; Weston uses it even if no screen is attached, making part of the desktop invisible. We recommend disabling the LVDS output by adding the following section to weston.ini:

[output]
name=LVDS1
mode=off

How to install/uninstall Web Applications

Installation

pkgcmd -i -t <pkg type> -p <pkg path> (-G) -q //

Uninstallation

pkgcmd -u -n <pkgid> (-G) -q // NOTE the pkgid should be used NOT the appid.

List the installed packages

pkgcmd -l

Kill all applications associated to a package ID

pkgcmd -k -n <pkgid>

How to start Web Applications

List available application IDs

ail_list

Launch an application

app_launcher -s <app_id>

Launch an application with debug mode

app_launcher -s <app_id> -d

How to start Native App

$su (password is 'tizen')
#pkgcmd –l //to list all applications available
#exit //root privileges are only required to list all applications

Note: both native and web applications will appear on this list. The respective pkg_type are [rpm] and [wgt] and the command-line argument to start one or the other is slightly different (this inconsistent behaviour is tracked in TIVI-2667).