Study on Open Source In-Vehicle Infotainment (IVI) Software Platforms
Total Page:16
File Type:pdf, Size:1020Kb
Study on Open Source In-Vehicle Infotainment (IVI) Software Platforms Master of Science Thesis in Embedded Electronic System Design ANDERS KLAVMARK TERJE VIKINGSSON Chalmers University of Technology University of Gothenburg Department of Computer Science & Engineering Gothenburg, Sweden June 2015 The Author grants to Chalmers University of Technology and University of Gothenburg the non-exclusive right to publish the Work electronically and in a non-commercial pur- pose make it accessible on the Internet. The Author warrants that he/she is the author to the Work, and warrants that the Work does not contain text, pictures or other mate- rial that violates copyright law. The Author shall, when transferring the rights of the Work to a third party (for example a publisher or a company), acknowledge the third party about this agreement. If the Author has signed a copyright agreement with a third party regarding the Work, the Author warrants hereby that he/she has obtained any necessary permission from this third party to let Chalmers University of Technology and University of Gothenburg store the Work electronically and make it accessible on the Internet. Study on Open Source In-Vehicle Infotainment (IVI) Software Platforms Anders Klavmark, Terje Vikingsson, c Anders Klavmark, June 2015. c Terje Vikingsson, June 2015. Examiner: Sven Knutsson Supervisor: Per Larsson-Edefors Chalmers University of Technology University of Gothenburg Department of Computer Science and Engineering SE-412 96 G¨oteborg Sweden Telephone + 46 (0)31-772 1000 Department of Computer Science and Engineering G¨oteborg, Sweden June 2015 Acknowledgements This report is the result of a master thesis of 30 credits and was carried out by Anders Klavmark and Terje Vikingsson from Chalmers University of Technology. The thesis was conducted during 20 weeks in the spring of 2015 at AF˚ in Lindholmen, Gothenburg. We would like to give a special thanks to our supervisors at AF,˚ Anders Rylander, Mats Christiansson and Johan Almquist, for all the help and guidance throughout the project. We would also like to express our gratitude to Ola Wennberg, Manager infotain- ment, SW & HMI, at AF˚ Automotive, who believed in us and gave us the opportunity to perform this master thesis. Thanks also to Per Larsson-Edefors, our supervisor at Chalmers, for the continuous support and feedback during the project. Last but not least, thank you Jeremiah Foster and Johan Thelin at Pelagicore, and Gunnar Andersson at Volvo Car Corporation for providing us with so much valuable information. i Abstract On AF's˚ behalf, this report addresses three open source initiatives for use in automotive infotainment, namely GENIVI, Automotive Grade Linux (AGL) and Automotive Grade Android (AGA). This was carried out in form of a study that presents and analyses the three named open source initiatives with respect to their respective objectives, backers, technology, openness, licensing, maturity, etc. followed by a practical implementation of one selected candidate of these initiatives. As the root cause for all of this was AF's˚ willingness of facilitating the identification of a suitable platform for an In-Vehicle Infotainment (IVI) project and to demonstrate open source as a successful concept for IVI development. For the study, on-line and literature reviews have been essential in our information gathering efforts and have been used extensively throughout the project. With these, a general understanding of each initiative was obtained and many of our initial questions got answered. To obtain further knowledge, interviews were conducted with people having insight and/or experience in IVI and open source development. In the final stage of the study, practical work commenced on the development of an IVI prototype aimed at demonstrating functionality of one investigated initiative. Our main focus was the software, so the open source IVI platform to be used for the prototype was selected prior to the hardware. For this design implementation, we chose GENIVI since it had the largest numbers of backers, an active community, and the most mature and comprehensive solution. Hardware was purchased subsequently and the implementation of the prototype took off. The results of the study have led us to believe that GENIVI possess the greatest chances to be successful and achieve broad adoption from the industry since it has a relatively high level of maturity, activity and large number of backers. Furthermore, the prototype complies with the idea of working as a demonstrator for the GENIVI software and design. ii Acronyms ABI Application Binary Interface AGA Automotive Grade Android AGL Automotive Grade Linux AMB Automotive Message Broker API Application Program Interface ASF Apache Software Foundation BSP Board Support Package CAN Controller Area Network ECU Electronic Control Units FMS Fleet Management System FOSS Free and Open-Source Software HMI Human Machine Interface HVAC Heating Ventilation and Air Conditioning IP Intellectual Property IPR Intellectual Property Rights ISV Independent Software Vendors IVI In-Vehicle Infotainment MOST Media Oriented System Transport MPL 2.0 Mozilla Public License 2.0 NFC Near Field Communication OEM Original Equipment Manufacturer OGI Open Governance Index OS Operating System OSI Open Source Initiative OSS Open Source Software iii OSV Operating System Vendors PDK Platform Development Kit PMC Project Management Committee SDK Software Development Kit SPDX Software Package Data Exchange VIL Vehicle Interface Layers iv Dictionary Artifact (Software) A tangible by-product of software development (e.g. code, use cases, diagrams, requirement and design documents, etc.)[1]. Copyleft (License) Refers to licenses that use copyright law to offer the right to distribute copies and modified versions of a work, and requiring the same rights to be preserved in modified versions of the work. Most copyleft licenses are open source licenses[2]. Head Unit Commonly used name for IVI system, including hardware and software[3]. Permissive (License) A non copyleft open source license that guarantees free- dom to use, modify, and redistribute, but that also permits proprietary derivative works[4]. Runtime (System) A software designed to support the execution of computer programs written in some computer language[5]. GStreamer (Software) Pipeline-based multimedia framework that allows pro- grammers to create media-handling components[6]. Wayland (Software) A protocol that specifies the communication between a display server and its clients[7]. SystemD (Software) A suite of system management assets designed as a cen- tral management and configuration platform for Linux. Used in system startup process[8]. v Contents 1 Introduction1 1.1 Background...................................1 1.1.1 AF˚ ....................................2 1.2 Purpose.....................................2 1.3 Problem description and Scope........................2 1.4 Limitations...................................3 1.5 Report layout..................................3 2 Background4 2.1 In-Vehicle Infotainment (IVI).........................4 2.2 Open source software..............................6 2.2.1 Governance...............................7 3 Method 10 3.1 Study method.................................. 10 3.2 Prototype method............................... 11 3.3 Tools and resources............................... 11 3.3.1 Software................................. 11 3.3.2 Hardware................................ 12 3.3.3 Resources................................ 12 4 IVI initiatives 13 4.1 GENIVI..................................... 13 4.1.1 Objectives................................ 14 4.1.2 Backers and Organizational Structure................ 15 4.1.3 Technology............................... 17 4.1.3.1 Compliance Specification.................. 17 4.1.3.2 Projects............................ 20 4.1.3.3 Baselines and Demo platform................ 21 4.1.4 Openness and Licensing........................ 23 vi CONTENTS 4.1.4.1 Licenses............................ 24 4.1.5 Maturity................................ 25 4.2 Automotive Grade Linux (AGL)....................... 26 4.2.1 Objectives................................ 26 4.2.2 Backers and Organizational Structure................ 27 4.2.3 Technology............................... 29 4.2.3.1 Tizen............................. 31 4.2.4 Openness and Licensing........................ 32 4.2.5 Maturity................................ 32 4.3 Automotive Grade Android (AGA)...................... 33 4.3.1 Objectives................................ 33 4.3.2 Backers and Organizational Structure................ 34 4.3.3 Technology............................... 34 4.3.4 Openness and Licensing........................ 38 4.3.5 Maturity................................ 39 4.4 Evaluation.................................... 40 4.4.1 Initiatives................................ 40 4.4.2 Future.................................. 41 5 Design and Implementation 42 5.1 Software..................................... 42 5.2 Hardware.................................... 43 5.3 Hardware setup and software integration................... 43 5.4 Evaluation.................................... 46 6 Conclusion 47 Bibliography 53 A The Open Source Definition 54 B GENIVI Members List 56 C GENIVI Open Source Projects and Baselines 60 D Automotive Grade Linux Members List 61 E Automotive Grade Android (Vehicle ICT Arena) Members List 63 F Brief Fact Sheet of the Freescale i.MX53 QSB 65 G Build Configurations for the GENIVI Demo