[Android 4.1+] Headunit for Android Auto - 160117 - Self Mode+ other fixes, x86, 720p

Search This thread

mbt28

Member
Jan 5, 2013
42
6
I made it work on Ubuntu. Is there any documentation for how the protocol works? For example I would like to use some rotary encoders and buttons so how should I send it?
 

Emil Borconi

Recognized Developer
Feb 18, 2008
3,257
3,082
Tg. Secuiesc / Kezdivasarhely
I made it work on Ubuntu. Is there any documentation for how the protocol works? For example I would like to use some rotary encoders and buttons so how should I send it?

Not really I'm affraid, the only "documentation" we have is what Mike have left inside the code while he reverse engineered the software.... I used a "doggy" approach for keyboard support, namely simulating touches..... while it isn't the most desirable way to do things it works.
 

mbt28

Member
Jan 5, 2013
42
6
Not really I'm affraid, the only "documentation" we have is what Mike have left inside the code while he reverse engineered the software.... I used a "doggy" approach for keyboard support, namely simulating touches..... while it isn't the most desirable way to do things it works.
What do you mean with doggy approach? I am thinking of simulating a keyboard however I have absolutely no experience on usb communication. I should be pretty easy actually if we know how google supports controller buttons.
 

Emil Borconi

Recognized Developer
Feb 18, 2008
3,257
3,082
Tg. Secuiesc / Kezdivasarhely
What do you mean with doggy approach? I am thinking of simulating a keyboard however I have absolutely no experience on usb communication. I should be pretty easy actually if we know how google supports controller buttons.

by doggy approach I mean that I'm listening to keypresses and if key M is pressed for example I send a touch_event which correspond to touching the screen where the map icon is. This is all fine, but if you want to use the keyboard to enter letters for example when searching for an address, and you press the M guess what will happen :)
Having said this my app version is designed for Android devices (tablets) where you don't have a keyboard, yeah you might hook it into a JoyCon to connect it to your car steering wheel remote, but you still won't have a full keyboard.
Android Auto is supposed to be able to handle rotary input, but we are missing the documentation on that...
 

mbt28

Member
Jan 5, 2013
42
6
by doggy approach I mean that I'm listening to keypresses and if key M is pressed for example I send a touch_event which correspond to touching the screen where the map icon is. This is all fine, but if you want to use the keyboard to enter letters for example when searching for an address, and you press the M guess what will happen :)
Having said this my app version is designed for Android devices (tablets) where you don't have a keyboard, yeah you might hook it into a JoyCon to connect it to your car steering wheel remote, but you still won't have a full keyboard.
Android Auto is supposed to be able to handle rotary input, but we are missing the documentation on that...
I dont plan to use a keyboard but 2 rotary encoders; one for navigation, one for volume control. And I want to put some buttons to switch application.

I will check to code how he was sending touch commands in that way I can send keyboard commands. Because I thought that if I behave just like a keyboardit wont work out on this display. Probably AA opens a new X screen and just compresses it to send it over usb.
 

viktorgino

Member
May 1, 2015
13
17
I made it work on Ubuntu. Is there any documentation for how the protocol works? For example I would like to use some rotary encoders and buttons so how should I send it?
Your only option to figure this out is by firing AA DHU up and looking at the packets with Wireshark. But the protocol itself is based on Android Open Accessory Protocol with unknown (not really, Mike has figured out a lot of it) commands and logic behind it.
 
Last edited:
  • Like
Reactions: adfurgerson

Emil Borconi

Recognized Developer
Feb 18, 2008
3,257
3,082
Tg. Secuiesc / Kezdivasarhely
My head unit is 5.1.1 and I have same problem
Have you succeed to run Android auto?
Or self mode!? (If yes, How?)

Thanks

Hi.

I have just put a trial app which should support software decoding for Android Auto on the following thread: http://forum.xda-developers.com/general/paid-software/android-4-1-headunit-reloaded-android-t3432348

Please give the the trial-software-decode.apk a go. Once installed make sure you change the settings to use Software decoding.

Also: @champikasam, @alexxx19, @joburgslim, @maxetere
 

mbt28

Member
Jan 5, 2013
42
6
Your only option to figure this out is by firing AA DHU up and looking at the packets with Wireshark. But the protocol itself is based on Android Open Accessory Protocol with unknown (not really, Mike has figured out a lot of it) commands and logic behind it.

Hi,

I am installing wireshark now. What kind of data transmission do we expect from mobile side? Is it only h264 after handshake?

Thanks
 

Emil Borconi

Recognized Developer
Feb 18, 2008
3,257
3,082
Tg. Secuiesc / Kezdivasarhely
Does anyone get error 7? My time is all correct on a Nexus 7 mm and a Nexus 6p N

This app have stopped working a while ago, to be precise once Google Play Service was updated to 9.2.X and sadly Mike, the developer of the app have passed away. There is a new version of the app which I'm maintaining and it can be found on the following thread: http://forum.xda-developers.com/general/paid-software/android-4-1-headunit-reloaded-android-t3432348

If you have made a payment to Mike for this application please send me a proof of payment and you can have the new version free of charge.
 

ronaldolcc

New member
Oct 5, 2016
4
2
HeadUnit and RPi

Did anyone test with Raspberry Pi and get good results?
I really like a answer, because I want to create a CarPC, and I'm studying the possibilities of hardware.

Thank You!
 
  • Like
Reactions: johnbinion

viktorgino

Member
May 1, 2015
13
17
Did anyone test with Raspberry Pi and get good results?
I really like a answer, because I want to create a CarPC, and I'm studying the possibilities of hardware.

Thank You!

It should be possible to run it on the PI as the most intensive task is h264 decoding, but the PI is pretty good at it. Have a look at gartnera's github repo. His code uses gstreamer, so it is possible to port it to the PI.
 
Last edited:

majedalanni

Senior Member
Jun 5, 2007
159
23
OnePlus 8
OnePlus 8 Pro
Since Google appears to be permanently banning software based Headunit apps, I am going to have to abandon Google Play as a means of distribution.

I'm guessing that Paypal sales/donations are the way to go.

I've attached the latest June 16 release.

Thanks for all your support ! :)

question how the android in your phone connect to android in the head unit? I'm trying to figure out how is my phone connect to my civic car as might find a exploit to get root to my HU .

I'm not pro lol

Mike
 
  • Like
Reactions: johnbinion

Emil Borconi

Recognized Developer
Feb 18, 2008
3,257
3,082
Tg. Secuiesc / Kezdivasarhely
question how the android in your phone connect to android in the head unit? I'm trying to figure out how is my phone connect to my civic car as might find a exploit to get root to my HU .

I'm not pro lol

Mike

Hi.
Sadly Mike is no longer with us, I have took over this project.
The headunit communicates with the phone over usb end-points, you won't be able to use that to exploit and get root on your headunit.
 
  • Like
Reactions: johnbinion

ChargerDE

New member
Mar 25, 2017
1
1
SBC

Hi,

i would like to know, if there is any possibility to use the Headunit functionality without Android OS. As far as i know the car manufactures do not use AndroidOS on radios, should be a linux kernel supporting java.
Therefore i'm asking if it's possible, enabling this funcionality (with java probably) on a SBC with Linux.

Thanks
 
  • Like
Reactions: johnbinion
Jul 11, 2007
5
1
Did anyone manage to start Headunit on Raspberry Pi?
I was able to compile different versions but all ended up with errors when connecting and starting AA.
I guess it's possible to start Headunit on the Pi but there are many things to fix.
E.g. opengl problems. The Pi only has experimental gl drivers. That caused several errors on my way.

Maybe someone else did some investigation ?
 
  • Like
Reactions: johnbinion

Top Liked Posts

  • There are no posts matching your filters.
  • 61
    "Headunit": The First, Best, and Only Headunit app for Android Auto, Now Open Source & Free ! :)

    Turn an Android tablet into an Android Auto compatible Headunit ! :) (With several limitations at this early time of course...)

    Android N developer preview: http://forum.xda-developers.com/showpost.php?p=65749262&postcount=1165

    If you purchased Headunit on Play before Google removed it: http://forum.xda-developers.com/gen...droid-auto-t3125252/post65015637#post65015637

    160117 January 17: New Self mode & Car mode fix: http://forum.xda-developers.com/gen...droid-auto-t3125252/post64844560#post64844560

    151224 December 24: 1280x720 and X86 support: http://forum.xda-developers.com/showpost.php?p=64466237&postcount=943

    151128 November 28: Voice Input + Audio Output: http://forum.xda-developers.com/showpost.php?p=64045807&postcount=903

    August 28 & 5 Voice Input etc: http://forum.xda-developers.com/showpost.php?p=62548380&postcount=724

    USB OTG Y cables I've had success with: http://forum.xda-developers.com/showpost.php?p=62745966&postcount=792

    Comments welcome: Proposal for a Private Website / Forum for the Headunit app and Automotive Android: http://forum.xda-developers.com/showpost.php?p=62207324&postcount=587

    July 24 APK Immersive mode: http://forum.xda-developers.com/showpost.php?p=62014837&postcount=519

    July 14b APK Standalone mode: http://forum.xda-developers.com/gen...oid-4-1-headunit-android-auto-t3125252/page43

    July 11 APK: http://forum.xda-developers.com/gen...oid-4-1-headunit-android-auto-t3125252/page39

    Quick summary of Google Play bans and final responses; I fixed each time & Google gave a different excuse each time: http://forum.xda-developers.com/gen...droid-auto-t3125252/post61632463#post61632463

    Nexus 9 OTG charging w/ M developer preview & Nexus 7 2013 w/ Timur kernel/mods: http://forum.xda-developers.com/showpost.php?p=61632651&postcount=312

    Nexus 7 2013 OTG charging while running Headunit w/ ElementalX kernel: http://forum.xda-developers.com/showpost.php?p=61593874&postcount=290

    Now Open Source and Free ! :) http://forum.xda-developers.com/gen...droid-auto-t3125252/post61440441#post61440441

    June 16 Release #5 APK: http://forum.xda-developers.com/showpost.php?p=61422602&postcount=163

    Release #2 APK and instructions: http://forum.xda-developers.com/showpost.php?p=60894402&postcount=94

    Thank you "All About Android" for covering the Headunit app in episode 218 ! :) http://forum.xda-developers.com/showpost.php?p=61412309&postcount=152

    Android Auto over WiFi Direct is coming: http://forum.xda-developers.com/gen...oid-4-1-headunit-android-auto-t3125252/page16

    June 16 APK: http://forum.xda-developers.com/gen...oid-4-1-headunit-android-auto-t3125252/page15

    June 12 APK Auto-Start: http://forum.xda-developers.com/showpost.php?p=61321219&postcount=107

    June 11 APK: http://forum.xda-developers.com/gen...unit-android-auto-t3125252/page8#post61287292

    June 9 APK: http://forum.xda-developers.com/gen...roid-4-1-headunit-android-auto-t3125252/page5

    Android Auto is Google's latest and greatest effort to provide automotive navigation, music, phone and other features in an environment that minimizes distraction.

    The Headunit app is intended for 7 inch /17 cm or larger tablets.

    A $100-200 Nexus 7 tablet mounted in the car is MUCH cheaper than $700-$1400 Pioneer devices.

    A $300+ 10 inch/25+ cm tablet provides a much larger & nicer screen than 6 inch double-din units.

    Original XDA Thread: http://forum.xda-developers.com/android-auto/android-auto-general/developer-mode-aa-t3059481

    These are early, experimental releases. They should only be used for testing at this time.

    Please note that Google has NOT released Android Auto specifications required to build a Headunit app such as this, except to headunit and auto OEMs who have paid fees and signed NDAs.

    This app required over 500 hundred hours of painstaking reverse engineering (and many more to come), and another 500 or so as of mid July to build and test the app so far.

    If you wish for apps like this that are professionally engineered, supported and updated, your financial support via Paypal donations is required, especially since Google will not allow Headunit apps on Play.

    Help keep an independent developer working full-time++ on this cool new stuff.

    Thanks for your support ! :)

    Mike.


    What the heck is Android Auto, and why would I want it ?: http://forum.xda-developers.com/showpost.php?p=61114397&postcount=2

    What devices and ROMs are supported ?: http://forum.xda-developers.com/showpost.php?p=61114397&postcount=3

    How do I use the Headunit app?: http://forum.xda-developers.com/showpost.php?p=61114419&postcount=4

    Troubleshooting: http://forum.xda-developers.com/showpost.php?p=61114437&postcount=5

    Supported Phones running Android Auto: http://forum.xda-developers.com/showpost.php?p=61114468&postcount=6

    Business Issues: Open Source & Pricing: http://forum.xda-developers.com/showpost.php?p=61114482&postcount=7

    Feature Requests: http://forum.xda-developers.com/showpost.php?p=61114494&postcount=8

    Coming Features: http://forum.xda-developers.com/showpost.php?p=61114500&postcount=9

    Future of Android Auto: http://forum.xda-developers.com/showpost.php?p=61114532&postcount=10
    16
    What the heck is Android Auto, and why would I want it ?

    Introduction / Different approaches:

    There are many different approaches to running apps in a car, and they each have advantages and disadvantages.

    Many people are happy to just install an Android tablet or Android based headunit and run apps much like they do outside of the car.

    Others may mount their phone on the dash and use Android as they always do. They may plug it in to charge and might pair the phone's Bluetooth with their existing in-car audio system.

    If you are using approaches like these, and you are happy with them, that's great ! I'm not a mission to convince you otherwise if you have decided these methods are best for you.


    Android Auto:

    Android Auto (AA) is Google's latest and greatest effort to provide automotive navigation, music, phone and other features in an environment that minimizes distraction.

    AA was announced in 2014, and it's "app" first publicly released March 19, 2015, after Pioneer starting selling their AA compatible 4100/7100/8100-NEX headunits. Google did not seem ready to launch AA at that point, but Pioneer's early release of headunits seems to have forced this.

    Apple has it's own rough equivalent to AA called Apple Car Play. Many who have seen both prefer AA, but iOS users also appreciate having more or less the same iOS UI they already know in their car.


    How AA works (basic):

    AA is not a mirroring solution like MirrorLink, Miracast or Apple Airplay. Mirroring solutions simply send phone screen video to an external, larger screen and return touch events. Thus the in-car screen is simply a blown-up version of the phone screen.

    Mirroring solutions generally work with all existing apps. AA on the other hand, requires Android apps to have special AA compatible extensions added. Clearly this can be a disadvantage of AA. Few music and messaging apps can be used with AA, and the only mapping/navigation app supported is Google's.

    With AA, Google mostly controls the User Interface (UI) as implemented in their AA "companion app". AA compatible apps CAN modify some of the color scheme and some related minor UI features, but the look and feel are largely Google designed and controlled.

    Google has done this to minimize distraction. Although many of us will not be happy with Google's decisions. we should consider that the last things Google wants are: (1) laws against Android Auto, (2) bad publicity from distracted driving incidents, and (3) expensive lawsuits. Note that Google, Apple and the auto OEMs are reportedly negotiating who takes how much responsibility for the inevitable lawsuits, particularly in the US where multi-million dollar settlements regularly occur.

    Google AA supports two types of AA compatible apps at present, with more (eg maps/navigation ?) coming in future: (1) Audio/music and (2) messaging. For the most part, audio/music AA extensions provide functions for starting/stopping/nexting/etc of the audio as well as functions to determine the music navigation hierarchy. Messaging AA extensions include sending a message to AA to be converted to speech as well as handling spoken replies.

    Video and gaming apps will likely never be supported for the drivers position, at least while driving, for obvious reasons.

    Many app developers are hesitating at this time to add AA extensions. At this time, there is very little revenue to be made by supporting AA (and the same has been seen for watch and TV apps). This should improve as more cars have AA installed, via OEM systems or aftermarket headunits.


    So why would I want AA ?:

    If you need access to ANY Android app, and not just the limited selection of AA compatible apps, then mirroring solutions will work better for you.

    AA is more for people who want a solution that "just works" (although there are still many wrinkles to iron out), is well integrated, and has a common Google specified UI.

    Less technically minded people will appreciate AA or Apple CarPlay, while Android power users may be happier with mounting a tablet or using an Android based (usually Chinese) HU.

    An Android based HU which can run my Headunit app, may offer the best of both worlds. You can run any Android app when you need to, or run my HU app to get AA features. (At present nobody has reported success running my Headunit app on an Android based HU. I hope/presume I'll figure that out.)

    I am personally convinced that AA will be very important for Google going forward. Controlling and getting the treasure-trove of data from connected cars is important to Google. We may not be far from the day when Google will get a commission when it successfully convinces us to pull over for specific fast food or auto maintenance. Want fries with your oil change ?

    Because AA is important to Google, I feel confident it will not be abandoned, and will only get better as the years tick by, bugs are fixed, apps are AA enabled, etc.


    Getting AA working:

    Please, always do your best to drive responsibly and with a safe minimum of distraction. You assume all liability for following any of these or any other instructions.

    First, your phone (or tablet) needs the AA companion app installed. US residents can install the Android Auto app from Play: https://play.google.com/store/apps/details?id=com.google.android.projection.gearhead and those outside the US can find APKs here: http://www.apkmirror.com/apk/google-inc/android-auto/ .

    Next, you need an AA compatible aftermarket or auto OEM headunit. Auto OEM AA headunits (HUs) are just starting to come out for a limited selection of 2016 models. Aftermarket HUs like the Pioneer 4100/7100/8100-NEX devices are a good alternative. If a $500-700 HU is too expensive for you, that's where my Headunit app for tablets comes in, but there are some inherent disadvantages to such an app and a tablet is just one of the costs. More on this further below.

    Ensure that your mobile device running the Google AA companion app is setup with a Google account. Make sure the Google apps are up-to-date, including the AA app, Google Play Services, Google Maps, and Google Play Music.

    Now plug your mobile device USB into the HU. If all goes well you should see a series of prompts and screens on the HU and mobile device. If something complains that it's not safe to configure at this time, ensure your car is in the Park gear (or neutral for manual), that the emergency/parking brake is fully engaged, and press down on the brake pedal. My 4100-NEX is setup for testing, outside of a car, and I simply connect the green wire to ground or 12 volt negative line. I'm not sure that this will work well if your HU is installed such that the green wire is connected to other things.

    Hopefully you will now see the main AA Intro/Google Now Screen. Select functions from the "rail" at bottom of screen: In order: Maps/navigation, Phone, Google Now, Music, and "Other/OEM".

    Your mobile device should show a mostly black AA screen indicating the device is in AA/car mode. You CAN escape this and run other apps, but it is not recommended.

    While your mobile device is connected via USB, it should charge. Turn the device screen off to maximize charging and minimize heat build up. Using Maps/Navigation will use the device GPS (unless the HU provides it) and this contributes to heating of the device and minimizes charging.


    How AA works (technical):

    Basically, the AA app creates a special environment in which it draws to a virtual screen instead of the real screen. The resulting video is encoded as an H.264 stream and sent via USB to the HU. The HU responds with touch-screen events which the AA app interprets similarly to normal Android app operation.

    AA compatible audio apps contain AA audio extensions, which can provide control of audio app playback and provide information about which audio streams or files can be played. The audio app uses it's normal Android audio APIs, which the AA "app" hooks in order to send the audio to the HU, over USB or Bluetooth. I refer to the AA "app" with parentheses, because it has many hooks into Android internals which normal apps do not have access to. Thus, much of the AA "app" is really system level code, though there is a minor UI for some basic configuration and to provide access to AA developer mode functions.

    The AA USB protocol also includes functions for accessing sensors, including parking brake status, gear position, fuel tank level, road speed, engine speed and many more. Only a few sensor functions are fully implemented at this time however, such as parking brake status to determine if it is safe to do configuration.

    Google has referred to AA HU's as "dumb terminals". But IMO a true "dumb terminal" would simply be a touchscreen with a DVI/HDMI like interface. AA HUs DO need to have some "smarts", such as H.264 video decoding, Bluetooth and sensor signal processing.

    Hardware HUs also generally provide many other functions that work standalone with no mobile device, such as AM/FM/HD radio, CD player and vendor specific apps that run on the HU.


    Why would I want your Headunit app ?:

    - For the customization opportunities.

    I haven't seen any 10 inch / 25 cm screens on auto OEM or aftermarket HUs. Large tablets however are readily available with many choices for screens and other hardware.

    - To use or experiment with Android Auto without buying a new car or a $500+ hardware headunit.

    Note however that besides the tablet, you may also need a USB OTG Y cable and a powered USB hub in order to properly charge the mobile device, and tablet, without running down the tablet battery.

    Some devices (for tablets, mostly non-Samsung) may need special kernels in order to charge while acting as a USB host.


    Why can't we just run our phone in an AA standalone mode, without tablet or Headunit ?:

    Mostly because Google does not want that. They consider screens under 7 inches / 17 cm to be distracting. Google seems to eventually want "Android in the car", so Google may be working on something like a standalone mode (for what would essentially be an Android tablet in the car), but this is nothing but rumours so far.

    I know a LOT of people would REALLY like a standalone mode, so I am likely to explore the feasibility of this in the near future. I am sure that Google would disapprove of this and would eventually take measures to sabotage such a thing, so it's a tricky prospect.

    I think an AA standalone mode "app" (more like system mods than an app, same as AA "app" itself) would require a rooted device. It likely would also require Xposed (or similar) to hook and modify various system functions.

    Add it all up and it turns into a very difficult venture with limited returns on time invested.

    A Headunit app running on a 2nd device/tablet is more feasible as Google can not just change the AA protocol overnight, and it does not require root on the tablet (except for charging of non-Samsung tablets, sigh...)


    Are there any other AA compatible Headunit apps ?

    At this time no, my Headunit app is the first and only of it's kind.

    Google has not publicly released documentation or code to build a Headunit app, and may never do so.

    It has so far taken me over 600 hours of work to reverse engineer the AA protocol and build this app. With open docs/code it might have taken only 100-200 hours at most.

    I've read a report that Google must certify AA HU implementations before they are "allowed". This is likely part of the agreement and NDAs that auto and HU OEMs must sign to join Googles "Open Auto" alliance, beyond whatever fees are charged.

    GENIVI appears to have plans to "open source" an AA client implementation. But AFAICT, GENIVI "open source" is not entirely public and open. I suspect Google would want to ensure that any users of such source code adhere to their requirements.

    Pioneer HUs run Android. Their AA client implementation is a binary, so it's somewhat similar to an HU app. But it's specific to their hardware and will not work on general purpose Android tablets or phones.

    There may be other Headunit apps to come, but I have not heard of any, beyond one persons desire to create an open source app in the long term.
    8
    What devices and ROMs are supported ?

    Root is NOT required. (But root and a custom kernel may be needed on non-Samsung tablets in order to allow the tablet to charge while it's in USB host mode.)

    Most Android 4.1+ ROMs should be able to work.

    ICS 4.0 and earlier devices/ROMs do not have the needed video decoder and can never work. (Except by building my own decoder with FFMPeg or whatever, which is way too much work for too little return.)

    A working H.264 video decoder is required, but most quality Android 4.1+ devices should have this. (Chinese/budget devices may use slow and/or buggy implementations.)

    Only devices that support USB host mode are physically capable of working. Many or most tablets released in the last 2 years should support USB host mode.

    Full, official support is limited to devices I own. With sufficient demand for a new device, I may purchase that device and add official support, if possible.

    These are the tablets that I own and test:

    Nexus 7 2012 stock.
    Nexus 7 2013 stock.
    Nexus 9 2014 stock.
    Xperia Z2 Tablet stock. CM12 tested OK too.

    Many other devices will work and I will do my best to support them.

    Phones can work as a headunit, but tablets of 7 inches/17 cm or greater are recommended. Smaller screens are more distracting and can risk your safety.
    8
    I said "Take me home" for the 256th time...

    And Android Auto finally listened, LOL. :)


    Voice Input was the last major piece of the puzzle and it's now cracked.

    WooHoo ! ;)
    8
    Announcing: Headunit for Android Auto is now Open Source & Free ! :)

    Headunit for Android Auto is now free as in "freedom" as well as "free beer" (Do not drink & drive !).

    Headunit is not sold. If you purchased on Play email me at [email protected] if you want the order cancelled.

    I am happy to accept donations via Paypal to http://forum.xda-developers.com/donatetome.php?u=3575078 or [email protected] and offers of sponsorships.

    Latest APK here: http://forum.xda-developers.com/showpost.php?p=61422602&postcount=163

    I have posted the code as GPLv3 Affero here: https://github.com/mikereidis/headunit


    I am considering changing license to BSD or Apache.


    The code is limited, experimental and "quickly hacked together" at this time, but will improve quickly as I focus all of my efforts on it.


    The code could be much more useful if other developers contribute by producing variants, enhancements etc. One person alone is much less powerful than a community.

    I'm happy to hear any thoughts, but I'm pretty sure most of you would be happy to hear this. I myself have said that very few open source projects produce a decent income for developers, but there are many options.

    The auto "infotainment" industry is increasingly co-operating and moving to open source models. Examples include Automotive Grade Linux, and the less open GENIVI.... (And Tizen IVI and Auto Grade Android and....)