Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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