IVI/IVI January 15, 3.0-M2-EOY

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).

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.

Tizen IVI 3.0-M2-EOY (Tizen SDK emulator): this image is used by the Tizen SDK emulator and includes support for YaGL/VIGS. You do not need to download this image directly, the Tizen IVI SDK will install it for you, please refer to the following wiki pages for more details:

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.

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.

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.

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.

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):

Launch weston-terminal

Run wrt-launcher -l to list all the WebApps that are available (i.e. installed)

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:

Login as user 'root', with the password 'tizen'

Set a password for the 'app' user: passwd app

Login as user 'app': ssh app@hostname

Run wrt-launcher -l to list all the WebApps that are available (i.e. installed)

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

Launch weston-terminal and run su - to become root (password: 'tizen')

Run zypper refresh && zypper in bluez-test connman-test

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.

Adding new multimedia content

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: