Download Intel® AtomTM E3800 Processor Series: Android* Multi

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Waveform graphics wikipedia , lookup

Molecular graphics wikipedia , lookup

Stereoscopy wikipedia , lookup

Hold-And-Modify wikipedia , lookup

Video card wikipedia , lookup

Tektronix 4010 wikipedia , lookup

3D television wikipedia , lookup

Intel GMA wikipedia , lookup

Stereo display wikipedia , lookup

Transcript
Intel® AtomTM E3800 Processor
Series: Android* Multi-Display
Features in Automobiles
Programming White Paper
Document Number: 331489-001
Legal Disclaimer
Legal Disclaimer
By using this document, in addition to any agreements you have with Intel, you accept the terms set forth below.
You may not use or facilitate the use of this document in connection with any infringement or other legal analysis concerning Intel
products described herein. You agree to grant Intel a non-exclusive, royalty-free license to any patent claim thereafter drafted
which includes subject matter disclosed herein.
INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED,
BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT.
Intel may make changes to specifications and product descriptions at any time, without notice. Designers must not rely on the
absence or characteristics of any features or instructions marked “reserved” or “undefined.” Do not finalize a design with this
information.
The products described in this document may contain design defects or errors known as errata which may cause the product to
deviate from published specifications. Current characterized errata are available on request.
Contact your local Intel sales office or your distributor to obtain the latest specifications and before placing your product order.
Copies of documents which have an order number and are referenced in this document, or other Intel literature, may be obtained
by calling 1-800-548-4725, or go to: http://www.intel.com/design/literature.htm
Any software source code reprinted in this document is furnished for informational purposes only and may only be used or copied
and no license, express or implied, by estoppel or otherwise, to any of the reprinted source code is granted by this document.
[When the doc contains software source code for a special or limited purpose (such as informational purposes only), use the
conditionalized Software Disclaimer tag. Otherwise, use the generic software source code disclaimer from the Legal page and
include a copy of the software license or a hyperlink to its permanent location.]
This document contains information on products in the design phase of development.
Intel processor numbers are not a measure of performance. Processor numbers differentiate features within each processor
family, not across different processor families. Go to: http://www.intel.com/products/processor_number/
Code Names are only for use by Intel to identify products, platforms, programs, services, etc. (“products”) in development by
Intel that have not been made commercially available to the public, i.e., announced, launched or shipped. They are never to be
used as “commercial” names for products. Also, they are not intended to function as trademarks.
Intel, Intel Atom, [include any Intel trademarks which are used in this document] and the Intel logo are trademarks of Intel
Corporation in the U.S. and/or other countries.
*Other names and brands may be claimed as the property of others.
© 2014 Intel Corporation.
Intel® AtomTM E3800 Processor Series: Android* Multi-Display Features in Automobiles
Programming White Paper
October 2014
2
Document Number: 331489-001
Contents
Contents
1
Executive Summary ........................................................................................... 5
2
Introduction ...................................................................................................... 6
3
Multi-Display with Two Screen Support ................................................................. 7
3.1
4
Multi-Display Android* Support ................................................................ 7
3.1.1
Proof of Concept for Two Displays ............................................... 12
Results ............................................................................................................ 13
Figures
Figure
Figure
Figure
Figure
Figure
Figure
1.
2.
3.
4.
5.
6.
WMS/AMS Interaction ........................................................................................ 8
WMS/DMS Surface Flinger Interaction .................................................................. 9
Input Device Configuration File ........................................................................... 10
Android* Design Framework .............................................................................. 11
Multi-Display Usage Scenario in Android*-enabled Vehicles .................................... 12
HDMI Display ................................................................................................... 13
Intel® AtomTM E3800 Processor Series: Android* Multi-Display Features in Automobiles
October 2014
Programming White Paper
Document Number: 331489-001
3
Revision History
Revision History
Date
Revision
October 2014
001
Description
Alpha Release.
§
Intel® AtomTM E3800 Processor Series: Android* Multi-Display Features in Automobiles
Programming White Paper
October 2014
4
Document Number: 331489-001
Executive Summary
1
Executive Summary
Newer cars equipped with several video displays are changing the automotive
experience for passengers.
Display technology and interactive features, powered by Android*, are rapidly
transforming life on the road.
Intel Inside® powered, Android*-centric multi-display technology leverages Intel®
AtomTM processor E3800 Series processors.
Android* vehicles equipped with one default display in the front dashboard, in
combination with two additional displays for rear seat passengers, will deliver a
fantastic vehicle infotainment system user experience.
Intel Inside® innovation can drive this landmark automobile sea change.
Intel® AtomTM E3800 Processor Series: Android* Multi-Display Features in Automobiles
October 2014
Programming White Paper
Document Number: 331489-001
5
Introduction
2
Introduction
In Android*-enabled automobiles, the Android*-based IVI system usually has one
default main display, and projects the video signal content to additional HDMI video
displays through cable or Miracast*.
But, in the recent past in IVI, it’s becoming more and more common to display
different applications on different video displays.
In a typical setup, the Navigation application displays Map and/or GPS content on the
front display for the driver, and a video player application displays movies on the rear
display.
Intel® AtomTM processor E3800 Series processors have two separate display conduits
that can attach to any of the display interfaces, since the SoC supports multi-display.
The Intel® AtomTM processor E3800 Series processor leaves multi-display feature
development to the upper-layer development environment.
Multi-display feature development leverages Android Kitkat-4.4.2*.
In this white paper, the development of these features are demonstrated through the
use of an Intel® AtomTM processor Z3000 series reference platform, with a cable
connection to an HDMI display, and one Bluetooth* mouse to control the applications
on the HDMI display.
The Intel® AtomTM Z3000 and E3800 Series processors have the same graphics
engine. Thus, it is not a problem to port this feature to the Intel® AtomTM processor
E3800 Series and future tick-tock SoC generations.
Intel® AtomTM E3800 Processor Series: Android* Multi-Display Features in Automobiles
Programming White Paper
October 2014
6
Document Number: 331489-001
Multi-Display with Two Screen Support
3
Multi-Display with Two Screen
Support
Requisite knowledge of two key computing elements is crucial to the development and
support of multiple displays with two screens:
1. Understanding the Android* design for external display support. This design
resides in WMS/AMS/DMS/Input Subsystem/Surface Flinger.
2. Understanding how to develop the multi-display features that enable
rendering, and understanding how to engage the ability to control different
applications, simultaneously, based on current Android* design standards.
3.1
Multi-Display Android* Support
Android* has evolved to support multiple external displays and touchscreen
technology and usage.
For the development of new features, Android* utilizes WMS/AMS interactions.
The current WMS/AMS interaction architecture has evolved considerably from earlier
versions.
The interaction architecture is currently comprised of (in a one-to-one
correspondence):
•
StackBox, for WMS
•
ActivityStack, for AMS
The Activity launched in external displays must be assigned to the target display.
This can set views for activity rendering on the target display.
WindowState from one Activity can get the DisplayId, and then be assigned to the
target display.
New Activity stacks from AMS can be maintained for external displays. For example,
for external display, one activity stack should be created for it, to manage applications
running on it. This is one ActivityStack for one display.
Intel® AtomTM E3800 Processor Series: Android* Multi-Display Features in Automobiles
October 2014
Programming White Paper
Document Number: 331489-001
7
Multi-Display with Two Screen Support
Figure 1 shows the WMS/DMS Surface Flinger Interaction.
Figure 1. WMS/AMS Interaction
Intel® AtomTM E3800 Processor Series: Android* Multi-Display Features in Automobiles
Programming White Paper
October 2014
8
Document Number: 331489-001
Multi-Display with Two Screen Support
WMS/DMS/SurfaceFlinger interaction allows the WMS views assigned to
different displays to render on real physical display devices. Figure 2 shows
the WMS/DMS Surface Flinger Interaction.
Figure 2. WMS/DMS Surface Flinger Interaction
SurfaceFlinger composes Layers with the same LayerStack, and then delivers
buffers with different LayerStacks into the correct display device. One
displayId equals one LayerStack for one display device.
For two LayerStacks to co-exist, DisplayViewPort is employed. For a device
with internal touch, internalDisplayViewPort is utilized. For an input device on
external display, externalDisplayViewPort is utilized.
For views only assigned to the default display, the HDMI-only display depicts
the same content as the default display. That is, only one LogicalDisplay0
exist. Create a new LogicalDisplay for the display device to mad HDMI display
different views.
Intel® AtomTM E3800 Processor Series: Android* Multi-Display Features in Automobiles
October 2014
Programming White Paper
Document Number: 331489-001
9
Multi-Display with Two Screen Support
For the touch device on the external display, the Input Device Configuration
(IDC) file must have the appropriate setting, as shown in Figure 3.
Figure 3.
Input Device Configuration File
The motion events sent from the external touch device are assigned to the
display device to make the views handle them.
Note: Android* Kitkat-4.4.2 only supports two touch devices.
Intel® AtomTM E3800 Processor Series: Android* Multi-Display Features in Automobiles
Programming White Paper
October 2014
10
Document Number: 331489-001
Multi-Display with Two Screen Support
Figure 4 illustrates the current, default Android* design. This Android*
Framework will be improved in the near future to implement multi-display
rendering of different applications.
Figure 4
Android* Design Framework
The current default Android* design consists of the following:

One application ActivityStack for each display, to control application
switching

Support for a third touch device, including a third DisplayViewPort,
DisplayDevice

One focus window per display device, per touch device

A Navigation Bar for each display, to enable applications to connect to the
home screen
Intel® AtomTM E3800 Processor Series: Android* Multi-Display Features in Automobiles
October 2014
Programming White Paper
Document Number: 331489-001
11
Multi-Display with Two Screen Support
3.1.1
Proof of Concept for Two Displays
Figure 5 illustrates the multi-display scenario usage in an Android enabled
vehicle. The illustration depicts the following:

Launcher Application for each display

Navigation Bar for each display
Figure 5. Multi-Display Usage Scenario in Android*-enabled Vehicles
Intel® AtomTM E3800 Processor Series: Android* Multi-Display Features in Automobiles
Programming White Paper
October 2014
12
Document Number: 331489-001
Results
4
Results
The following are key results of the development information detailed in the previous
sections.

HDMI-1-launcher.apk is the launcher application for the second display.
The Bluetooth* mouse can be used to control the HDMI Display.

The Back key is used for the HDMI Display, to help the application return
to the home screen
The current demo uses BYT_T_FFRD8, with a cable connection to the HDMI
Display and a Bluetooth* mouse to control the application on the HDMI
Display.
Figure 6. HDMI Display
After clicking the HDMI-1-Home application, the HDMI Display reflects this
selection, and the default display is not changed.
The driver can use applications on the Dashboard display.
Rear passengers can launch any one of the three applications.
Intel® AtomTM E3800 Processor Series: Android* Multi-Display Features in Automobiles
October 2014
Programming White Paper
Document Number: 331489-001
13