Life in the fast lane: Linux or Android for automotive infotainment systems?
Linux is probably in a better position to achieve widespread adoption, while Android will continue to make things interesting in the “connected car” segment.By Andrew Patterson, Mentor Graphics
Today’s new car buyers are including in-car infotainment (IVI) systems as a determining factor on what vehicle to purchase. Increasingly, car makers are hearing: “Make the car’s infotainment system look and feel more like my smartphone.” In the past, operating systems used for IVI have varied from home-grown or proprietary, to some type of Linux or Android derivative. It’s a given that a powerful operating system capable of handling a wide range of entertainment, navigation, telematics, and other vehicle demands is needed. But what is the best choice? Linux? Android? Or a combination of the two?
This article looks at some of the issues and trade-offs between Linux and Android - and what OS platform is best suited for IVI. While Linux is more established and proven in a variety of industries, Android has a strong following that is hard to ignore.
The Innovation Gap
A large gap exists today in the rate of innovation when comparing automotive design to smartphone technology. Over the lifetime of a vehicle, the mechanical components are not likely to undergo any significant change. The electric components may have a few minor updates over the vehicle’s lifetime, and there may be the occasional software patch to Electronic Control Units (ECUs) and infotainment systems, but for the most part, the whole platform remains untouched for the lifetime of that vehicle. Compare that to the smartphone user experience which sees several new platforms announced each year, (as of this writing the latest Android release is 4.1 or “Jelly Bean”) and the continuous flow of downloadable and highly valuable software applications, or “apps.” Given this innovation gap, car makers need to prepare for a high rate of design change. The cost of keeping up with this change has forced car makers and their tier-one suppliers to look for a standardized and lower cost infotainment solution that can be quickly adapted and updated. According to the website linuxinsider.com, over 20 million lines of code are used in the infotainment system of the S-Class Mercedes-Benz today. It is projected by 2015 that total software in a vehicle will grow to 300 million lines of code. Software becomes a valuable and important part of the car infrastructure. There has to be an efficient and cost-effective way to keep components up to date.
Open Source Software And Automotive
Open source software is one way to innovate in IVI systems while at the same time holding down costs. In the collaborative environment of open source development, automotive manufacturers and their tier-one suppliers – including their competitors – agree to share common elements of the IVI software stack. Key proprietary components remain with each automotive manufacturer where competitive differentiation is needed. This is exactly what’s happening with the newly formed GENIVI Alliance, a group of automotive makers from across the globe committed to the broad adoption of an open source IVI development platform as it relates specifically to IVI compliance.
Android On Consumer Devices; Java Anyone?
For mobile consumer devices, tablets, and smartphones, Android is winning out as the dominant operating system with around 42 percent of the U.S. smartphone market in 2011...and growing. The numbers are equally impressive globally (Figure 1). One reason for the widespread Android adoption is the many Android apps now available. Further, Android apps have emerged specifically to be used on a host smartphone within the in-car environment. Maps, navigation, and “car-mode” (an app to automatically set up speaker phone while driving) are available in Android 2.0 releases and later. These many apps help to deliver a solid “Androidin- the-car” automotive experience.
|Figure 1: The meteoric rise of the Android OS platform. By mid-2011, over 50 percent of all smartphones sold globally were based on the Android OS. (Source: Smartmo – Based on Gartner actuals and IDC forecast)|
So the popularity of Android has a lot to do with the vast array of available apps. According to AOL Tech, so far in 2012, the download rate for Android apps is 1.5 billion installs per month, with a total of nearly 20 billion installs to date. The Java development language is also widely used and freely available, so there too is a strong community of developers. The portability of Java apps could also turn into an Android weakness – there is nothing to stop these apps from being ported and made available on a different platform.
The Widespread Acceptance Of Linux
Linux is the largest collaborative software development of all time with over 8,000 developers from 800 different companies having been involved since 2005. Linux has proven itself to be a safe and secure operating system serving nearly every market segment. In the smartphone market, the Linux Foundation estimates that 850,000 new Linux-based mobile devices are registered every day. It’s also worth noting that 90 percent of all financial transactions on Wall Street are carried out on Linux servers. Further, Linux is now embedded in nearly every TV set sold today, and powers the servers of popular websites like Amazon, Facebook, Google, and Twitter. Because it is not owned by a single dominant company, it does not get the attention it deserves.
Linux has evolved into over 100 variants, aimed at commercial and private users. The most popular variant is Ubuntu (Source: Hub Pages, June 2012), and the commercial distributor Canonical claims this will ship on five percent of all PCs sold in 2013. It is not surprising that GENIVI and the automotive community selected an open source Linux as the base operating system for Infotainment. Several other GENIVI members, including Mentor Graphics, have adapted their Linux software products to be GENIVI 2.0 compliant.
It can be argued that both Linux and Android have strengths for vehicle infotainment solutions. But when it’s time to build the most comprehensive IVI system, Linux shows the most potential. Why? There are at least three critical factors:
- Linux is independent, and widely accepted in many demanding computing environments. Most of Android’s success has been in the consumer/mobile marketplace.
- The Linux kernel is very extensible – for example, by adding a hypervisor layer, Android can be deployed as a client operating system, making available some of Android’s consumer benefits. Other run-time environments can also be added.
- Silicon manufacturers are recognizing Linux as the one OS that can handle both the core elements of infotainment platforms, such as graphics and multicore support, but also new features needed for connected cars: anti-collision technology, voice-activated commands, gesture recognition, and the future requirements of in-vehicle telematics.
Even with the above Linux strengths, it is worth considering how both Linux and Android can be utilized together to strengthen the overall effectiveness and performance of an IVI system design. Two such scenarios include:
-Multiple OS architectures: Implementing a virtualization layer is an elegant way of allowing Linux and Android to run together on a single hardware platform (Figure 2). Each operating system runs on a dedicated virtual machine and the hardware resources available are shared. Communication is allowed in a controlled manner between the different operating domains, allowing some data to be shared between applications. Privileges can also be set so that the resources are managed and access is denied to some system functions. This allows a safe and secure domain where untrusted or uncertified applications might be downloaded into the infotainment system.
|Figure 2: Typical implementation acrhitecure with virtualization layer supporting both Android and Linux.
|Figure 3: Android OS and apps inside a Linux Container add security by controlling Android access to onboard systems.|
The underlying hardware platforms are rapidly developing to support this type of virtualized application. Semiconductor suppliers are including third-party specialized graphics accelerators, multiple CPU cores, and adding networking standards such as CAN, MOST, FlexRay, and AVB used by automotive software designers. Some virtualization implementations include diagnostics and support that help manage the system load, optimizing the available CPU power for each host application.
-Linux Containers: Another implementation option is to have the Android operating system hosted on top of Linux in a “Linux Container” (Figure 3). The resources, access control, and security of the Android client are managed by the host Linux operating system. In the future, this Android client could form a key part of an infotainment system – and even become a smartphone slave/client. In this way a familiar UI and set of Android apps appear on the vehicle infotainment system when the driver’s smartphone comes into range.
Combining IVI With Vehicle Critical Functions
Safety and reliability are top priorities for any car maker and inclusion of open source software together with complex electronics presents a new level of risk. A modern luxury vehicle already has around 70 to 100 software-based ECUs, and up until now, these ECUs have been kept separate from infotainment systems. The risk of interference was just too great.
However, as manufacturers look to further cut costs, the concept of combining several functions on a single, highpower hardware platform is becoming more attractive. For example, a reversing sensor may need to communicate with the infotainment system to generate audible warnings to the driver, and software components supporting this could logically co-exist within the infotainment system. As the instrument cluster (speedometer, fuel gauge, and so on) becomes increasingly software- based, this could also be supported by the Linux (or Android) operating system.
Consolidation will need to be done carefully, so that critical functions can start up quickly and run reliably – regardless of what’s happening in the infotainment system.
Building the IVI System
Mentor Graphics offers a full suite of design tools and services to allow fast implementation of open source IVI solutions. At the heart of Mentor’s IVI solution is Mentor Embedded Linux: a reliable, proven, and flexible Linux operating system. It integrates graphics, communications, and multimedia middleware (including components for connectivity, audio, speech, positioning, networking and security) with libraries, system infrastructure and management components – all operating on top the Linux kernel and available on popular processor architectures such as Intel® Atom™, ARM Cortex-A8, and ARM Cortex- A9. This environment can be used for developing both Linux and Android architectures and Apps.
In 2009, the GENIVI Alliance was established to address a Linux variant specifically designed and purposed for invehicle infotainment systems. Today, with its 2.0 release, GENIVI Linux offers a standard platform for developing high functionality infotainment systems. However, there is still a long way to go as many of the innovations around the Linux mobile office and connected car have yet to filter down to the GENIVI Linux platform.
Nonetheless, innovative and widespread technologies behind Linux and Android have fueled an explosion of features and functionality that are now available in vehicle infotainment systems. Both operating systems have a place in today’s automotive software ecosystem. Linux is probably in a better position to achieve widespread adoption, while Android will continue to make things interesting in the “connected car” segment. No doubt we will see new and exciting ways of achieving connectivity not only between consumers and their automobiles, but between automobiles/consumers and the cloud, and connectivity between automobiles as well.
Andrew Patterson is business development director for the Mentor Graphics Embedded Software Division, specializing in the automotive market. Prior to Mentor, Andrew spent over 20 years in the design automation market specializing in a wide range of technologies including wire harness design, automotive simulation model development, virtual prototyping, and mechatronics. Currently, he is focused on working with the GENIVI industry alliance, and leading Mentor’s infotainment and in-vehicle electronic cluster and telematic solutions. Andrew holds a masters degree in Engineering and Electrical Sciences from Cambridge University, UK.