IVI/IVI January 15, 3.0-M2-EOY

From Tizen Wiki
< IVI
Jump to: navigation, search

On the 15th of January, the IVI team released Tizen 3.0-M2-EOY for In-Vehicle Infotainment (IVI). This preview release builds upon the Tizen 3.0 codebase and is our next step towards the final 3.0 Tizen IVI releases (H2 2014). We are also very excited to have our first (alpha) release of the Tizen SDK for In-Vehicle Infotainment!

There are many core components that have been upgraded and enhanced, adding more features to the stack and paving the way for future features, such as a fully-enabled Three-Domains Smack security model. A lot of enabling has been done throughout the stack for this but it's not yet completely ready (hence we boot with 'security=none'). On the various subsystems, the communication subsystem has been upgraded to bring BT HFP 1.6 and AVRCP 1.4+ (oFono 1.13 and BlueZ 5.12), so has the entire graphics subsystem (Mesa 9.2.1, Wayland/Weston 1.3.1, EFL 1.7.8). The kernel itself has been upgraded to 3.12.4 (that includes support for Intel® Atom™ E38xx processors formerly known as 'Bay Trail'), the Automotive Web API has been enhanced (AMB 0.10) and we have also had our fair share of performance improvement (e.g. CSS HW acceleration).

A series of GENIVI components have been added such as Diagnostic, Log and Trace, Node Startup Controller, Audio Manager, a Wayland shell that implements the GENIVI Layer Manager API (genivi-shell). The Tizen IVI team has filed an application to be a certified GENIVI 4.0-compliant stack (pending approval).

An improved sample HomeScreen (ICO) is available although it is not installed by default.

Quick Start

Tizen IVI 3.0 M2-EOY downloads

There are three types of images that are created nowadays, one is for the more traditional HW platforms that have a BIOS, the second is for platforms that only provide UEFI and the third image is for the Tizen SDK emulator.

Please refer to the Tizen IVI hardware platforms wiki page for more details on the various platforms that are supported.

Additional details can also be found here:

Highlighted features and Core applications

  • Supports Windows 32/64, Ubuntu 32/64, as well as Mac OS 64 as development host machines.
  • Emulator (based on QEMU): the Tizen IVI image is based on Tizen IVI 3.0-M2-EOY
  • Web Simulator: provide a new IVI profile support. It includes vehicle API implementation, vehicle panel for getting/setting vehicle internal data, and car running simulating.
  • IDE: provides IVI templates from the project wizard and supports IVI API auto-complete in the editor. It supports web application running and debugging on multiple targets: emulator, web simulator or a real IVI device.
  • GL acceleration: a new YaGL solution with full support for Wayland has been developed.
  • Sample applications: 4 IVI sample apps are integrated (GhostCluster, MediaPlayer, saythis, Settings).
  • Documents: the Vehicle API documentation is integrated in the SDK help.
  • Tizen WRT (Web RunTime) features additional Web APIs respectively in the Automotive, Speech and DLNA domains (in the wrt-plugins-ivi package).
Automotive: Vehicle Information API
Speech: Speech API
DLNA: DLNA API
  • Automotive Message Broker: a vehicle network abstraction framework that brokers information from the vehicle (e.g. from the CAN bus) to applications. Detailed documentation is provided here
  • GhostCluster: an HTML5-based dashboard application that leverages AMB (Automotive Message Broker) to access vehicle data in real-time.
  • Speech Recognition: speech-recognition is a STT and TTS (newly added) framework that eases the creation of speech-enabled applications. The speech engine utilized for the actual translations is a plugin and can therefore be replaced by vendors allowing for greater flexibility without breaking existing applications that rely on the API exposed by this framework. Both PocketSphinx and Festival plugins are provided as part of Tizen IVI. It's important to note that both native and web applications can leverage this framework which will also collaborate with Murphy so as to give Murphy enough context to determine whether a particular application can be allowed to use the speech engine at that time or to give Murphy the possibility to enforce a particular policy related to that (i.e. radio is to be turned off when the driver speaks out a command).
Note: speech-recognition contains some libdbus code that can be enabled with a build flag. In order to use this code the package has to be compiled with both –-enable-gpl and –-enable-dbus flags. These flags serve as a heads-up for anyone using this package that by using this feature, this package (and anything using it) becomes GPL. These flags are not used in the Tizen IVI builds.
  • Saythis: a Text-To-Speech web application that leverages the Speech Recognition framework (and Speech Web API).
  • MediaPlayer: an HTML5-based, DLNA-capable multimedia player application to play back audio, video content or view your pictures. It can also be controlled using voice-recognition and supports Day/Night mode.
  • Murphy policy manager: Murphy is a system-wide resource policy daemon, designed to do cross domain policy decisions in a configurable way.
  • Hands-Free dialer ("lemolo"): a native BT HFP (Hands-Free Profile) dialer application that uses oFono and BlueZ to make and receive phone calls through a bluetooth-paired mobile phone. It supports both single and multi-party calls. Its GUI theme will also automatically be adjusted based on the system-wide Day/Night mode property. It is a great example of a native application (i.e. one that uses Tizen Core APIs).
  • dLeyna: dLeyna is an opensource project that provides high level APIs for creating DLNA enabled applications. As noted above, a new set of DLNA Web APIs are now available for HTML5 applications to access the various DLNA services. See also DLNA for more details.
Media Content API
Media Server API
Media Renderer API
  • SyncEvolution: SyncEvolution is a PIM (Personal Information Management) system that provides a unified address book and PBAP synchronization with your phone address book.
  • SmartDeviceLink: SmartDeviceLink (SDL) end goal is to provide an expandable software framework to both mobile application developers and automotive head unit creators for the creation of brought-in applications that appear integrated onto a head unit.
  • HomeScreen: sample ICO HomeScreen that was contributed to Tizen IVI by Toyota. It also provides a custom Wayland shell (ico_ivi_shell) that provides a UI FW targeting Automotive use cases.

All features available in this release: IVI-3.0-M2-EOY all features

Incremental features enabled in this release: IVI-3.0-M2-EOY new features

Supported platforms

Hardware platforms

The Tizen IVI hardware platforms wiki page has the most up-to-date information regarding the various HW platforms that are supported with Tizen IVI.

Virtual Machine

For more information on how to run Tizen IVI 3.0 images under VMware®, please visit the Running Tizen IVI 3.0 in VMware wiki page.

Important Note: This monthly preview has a serious limitation that Web applications do not display (see bug TIVI-1859). A workaround is described in the tips and workarounds section below.

The newly-introduced Tizen SDK for IVI includes an emulator (based on QEMU) image. For more information on the Tizen SDK for IVI, please visit the Tizen IVI SDK wiki page.

Top Known (P1) Issues

  • TIVI-2110 [3.0] virtual keyboard cannot triggered by saythis
  • TIVI-2198 [IVI] [TizenAPI/System/SystemInfo] Test of “Check if tizen.systeminfo exist” fails
  • TIVI-2503 [TizenAPI/Communication/Bluetooth/]“Bluetooth is not supported”error from setPowered method
  • TIVI-2599 Somtimes pulseaudio is terminated during Dialer HFP call (20%)
  • TIVI-2584 Big noise in HFP dialer audio
  • TIVI-2504 BT ON/OFF fail to work in Settings
  • TIVI-1824 [3.0] Saythis hangs up during operated: e.g: pressing "say" more than 5 times

You can find complete Q&A reports for your platform here:

Tips, tricks and other workarounds

Installing the ICO HomeScreen

This new monthly preview boots to the standard Weston desktop shell. An improved ICO HomeScreen can be installed manually as follows:

$su (password is 'tizen')
#zypper rm weston-ivi #see TIVI-2644 for more details on why this is needed
#zypper in ico-uxf-homescreen
#systemctl reboot

Please also take a look at the next couple of sections to make sure that your ICO HomeScreen is configured correctly for your system else you'll get a black screen.

HomeScreen not coming up on the screen

The ICO HomeScreen is configured to only use the HDMI1 or HDMI3 video outputs in portrait mode. That may not work on your platform if the HDMI numbering is different or if you are using a VGA screen. If that's the case, the sympton is that you don't see anything coming up on the screen. Here is how you can resolve this:

  • Switch to a console: Ctrl-Alt-Fx (where 'x' is >= 3)
  • Log on: root (password is 'tizen')
  • Check what are the outputs on your system: journactl -a

Tip: this is a full log of your system so do a search for HDMI (/HDMI) to find out what the right number is for you.

  • Edit the /etc/xdg/weston/weston.ini replacing HDMI1 by your video output

Note: the ICO HomeScreen is designed and configured to fit nicely on 1920x1080 screen in portrait mode so unless you use such configuration, the HomeScreen will not fit your screen real estate correctly.

Using a VGA screen

The VGA output is disabled by default in the /etc/xdg/weston/weston.ini file that is installed by the ICO HomeScreen. If you wish to use a VGA screen, you will need to re-enable it by commenting out the mode=off line in it. That new section should now read:

[output]
name=VGA1
#mode=off

Disabling the LVDS output for the Nexcom VTC7120 platforms

By default, the LVDS output is active and weston will use it even if no screen is attached to it which will make part of the desktop invisible to you. We therefore recommend to disable the LVDS output by adding the following section to weston.ini if you do not use it:

[output]
name=LVDS1
mode=off

Running Tizen IVI 3.0-M2-EOY in VMware Player

This monthly preview has a rather serious limitation when running on VMware®: Web applications do not display at all. This is being tracked here: TIVI-1859. There is fortunately now a workaround for this (as of Monday the 27th of January). Please check the Tizen IVI 3.0-M2-EOY section from the Tizen IVI 3.x in VMware wiki page.

How to start a WebApp

Here is how you can start a WebApp (such as GhostCluster, MediaPlayer, Settings, Saythis):

  1. Launch weston-terminal
  2. Run wrt-launcher -l to list all the WebApps that are available (i.e. installed)
  3. Run the app of your choice using the App ID: wrt-launcher –s <app_ID>

How to start a WebApp via SSH

Here is how you can start a WebApp (such as GhostCluster, MediaPlayer) remotely using SSH:

  1. Login as user 'root', with the password 'tizen'
  2. Set a password for the 'app' user: passwd app
  3. Login as user 'app': ssh app@hostname
  4. Run wrt-launcher -l to list all the WebApps that are available (i.e. installed)
  5. Run the app of your choice using the App ID: wrt-launcher –s <app_ID>

How to start Native App (launch_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).

Launching a native app (i.e. pkg_type == [rpm])
$launch_app <pkgid>
E.g.: $launch_app org.tizen.dialer
Launching a Web app (i.e. pkg_type == [wgt])
you should concatenate the pkgid and name with a dot in between, i.e. [pkgid].[name]. So for example:
$launch_app <pkgid>.<name>
E.g: $launch_app GV3ySIINq7.GhostCluster

Setting up Wi-Fi and Bluetooth

The 'settings' application may not yet provide all functionalities that you need (note: we advise you to check for bug reports in doubt) the meantime you can to set up your Wi-Fi and Bluetooth connections from the command-line. Please install the connman-test (for WiFi) and bluez-test (for bluetooth) packages to that effect

  1. Launch weston-terminal and run su - to become root (password: 'tizen')
  2. Run zypper refresh && zypper in bluez-test connman-test
  3. exit to return to the 'tizen' user
  • The various BlueZ and OBEX-related scripts are put under /usr/bin and /usr/lib/bluez/test/
Tip: use rpm -ql bluez-test for a complete list those
  • The various ConnMan-related scripts are put under /usr/lib/connman/test

Many people may be familiar with some of the scripts provided by connman-test (installed in /usr/lib/connman/test/). Most of the functionalities provided by those are also now conveniently provided by connmanctl which is installed by default. We have also started a (still) short wiki page that gives various Connman tips and tricks on how to set up connections on your system.

How to pair your Bluetooth device

Prerequisite: install the bluez-test package.

$connmanctl enable bluetooth  #in case Bluetooth is not yet enabled
$bluetoothctl
[bluetoothctl] agent on
[bluetoothctl] scan on

Wait for your device to appear (and make sure your device is discoverable!)

[bluetoothctl] scan off
[bluetoothctl] pair <BT phone MAC>
[bluetoothctl] quit

For more information about the various commands:

[bluetoothctl] help

Adding new multimedia content

To update the list of multimedia files for MediaPlayer:

  1. Copy the new media files to /opt/usr/media/
  2. Refresh the media database (as 'root'): mediadb-update -r /opt/usr/media/

Running the SDB daemon (sdbd)

The sdbd (the SDB daemon) requires a utility called /usr/bin/pidof. However, this utility is not available in the standard repository. Here is how you can work around this problem by upgrading the procps-ng package to a newer version which provides it:

#sed -i 's/ivi-release/ivi/g' /etc/zypp/repos.d/ivi-daily.repo
#zypper mr -e ivi-daily
#zypper refresh
#zypper up procps-ng
#zypper mr -d ivi-daily
#zypper refresh

Note: The last two steps are optional but highly recommended, unless you want to track the very latest daily builds and do not care if something breaks.

Feedback and support