We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Vroom! Free Software in your car

00:00

Formal Metadata

Title
Vroom! Free Software in your car
Title of Series
Number of Parts
90
Author
License
CC Attribution 2.0 Belgium:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
Vroom! Free Software in your car This talk describes how the automotive industry has moved to embedded Linux and Open Source to develop the next generation of In-Vehicle Infotainment (IVI) and how it has met the challenges along the way. This talk describes how the automotive industry has moved to embedded Linux and Open Source to develop the next generation of In-Vehicle Infotainment (IVI) and how it has met the challenges along the way. This talk describes how the automotive industry has moved to embedded Linux and Open Source to develop the next generation of In-Vehicle Infotainment (IVI). IVI is increasingly important as everyone wants to be connected all the time and cars are no exception. Cars are a natural fit for modern mobility software and customers expect that nearly anything they purchase nowadays has smart mobility baked in. How does it happen that an industry known for its mechanical engineering and cautious approach can suddenly become a leader in smart mobility? How can the auto industry jump over a generation of consumer electronics and right into the smart phone era? One approach is to join together, create a common platform, and innovate on top. This is what the GENIVI alliance has done. That common platform is embedded Linux and it comes with a number of challenges for the automotive industry. License compliance, fast start-up times, mobile connectivity to the internet, interaction with a wide variety of cell phones; all these things are challenges that the GENIVI alliance has tried to tackle head on. We'll discuss some the technical solutions, the resultant software stack, and the work that still needs to be done to realize modern IVI in every car.
25
Thumbnail
15:46
51
54
Thumbnail
15:34
55
57
Thumbnail
1:02:09
58
Thumbnail
16:08
62
Thumbnail
13:26
65
67
Process (computing)Multiplication signSoftwareOpen sourceIntelLecture/Conference
Open setMetropolitan area networkNumberFreewareSoftwareLimit (category theory)Core dumpDigital rights managementXML
Core dumpBitCodeTablet computerRight angleAndroid (robot)WritingSummierbarkeitInfotainmentComputer animation
Observational studyTablet computerArithmetic meanBit rateTouch typingInterface (computing)Modal logicRight angleComputer animation
Endliche ModelltheorieInternet der DingeDemosceneAndroid (robot)CASE <Informatik>Different (Kate Ryan album)Connected spaceOperating systemMobile WebStandard deviationBootingComputer animationLecture/Conference
BootingSoftwareOpen sourceHypermediaSynchronizationInformationFluxDistortion (mathematics)Directed graphCore dumpConnected spacePower (physics)RoutingPhysical system
Physical systemPhysical systemAndroid (robot)Operator (mathematics)Operating systemBitComputer animation
SoftwareGUI widgetExecution unitControl flowInfotainmentBitStandard deviationGroup actionArmOpen sourceGame controllerPlanningFreewareInfotainmentDisk read-and-write headSoftwareExecution unitWeb pageSlide ruleBoundary value problemFocus (optics)Business modelPoint cloudSoftware developerShared memoryGame theoryComputerRoutingGoodness of fitWebsiteTerm (mathematics)AreaLecture/ConferenceComputer animation
Physical systemComputer-generated imagerySystem programmingTerm (mathematics)Formal grammarVirtual machineMedical imagingBinary codeExecution unitPhysical systemPlanningLaptopComputer animationLecture/Conference
AreaSoftwareLine (geometry)Product (business)Projective planeOpen sourceProcess (computing)BitMultiplication signDigital rights managementFreewareLecture/Conference
Product (business)Service (economics)Line (geometry)Product (business)Scheduling (computing)Cartesian coordinate systemSoftwareMultiplication signReal numberProcess (computing)Projective planeDigital rights managementLecture/Conference
SoftwarePhysical systemOpen sourceFreewareProduct (business)Open setSoftware developerReal numberMachine visionGroup actionMereologyBuildingDistribution (mathematics)CodeSoftware bugECosInformationReading (process)Lecture/Conference
Process (computing)Component-based software engineeringProjective planeOpen sourceTouchscreenDigital rights managementPhysical systemState of matterGame controllerLecture/Conference
Latent heatVariety (linguistics)Frame problemPlanningNetwork topologySoftwareDigital rights managementData storage deviceGroup actionRight angleMobile appVirtualizationArithmetic progressionPhysical systemLevel (video gaming)ArmSoftware developerCartesian coordinate systemPhysical lawDisk read-and-write headCentralizer and normalizerOpen setQuicksortCASE <Informatik>TouchscreenFreewareLine (geometry)CodeExtension (kinesiology)Kernel (computing)Software maintenanceSoftware testingInterface (computing)Multiplication signComputer architectureHydraulic jumpBefehlsprozessorPower (physics)SmartphoneForm (programming)Set (mathematics)Projective planeMultiplicationFocus (optics)InformationFront and back ends10 (number)Computing platformAxiom of choiceDevice driverComputer hardwareLaptopCognitionExecution unitVolume (thermodynamics)BitAbsolute valueGradientAreaReading (process)CAN busState of matterComputer programMusical ensembleLengthSoftware bugOpen sourceDependent and independent variablesVideo gameNetwork socketStack (abstract data type)Game controllerMoment (mathematics)ImplementationSoftware frameworkClosed setInstallation artWeightRouting1 (number)2 (number)CANopenControl flowRegular graphComplete metric spaceRepository (publishing)Business modelMedical imagingComputer fontKeyboard shortcut.NET FrameworkReal-time operating systemWorld Wide Web ConsortiumUser interfaceDigitizingPatch (Unix)Operating systemExistenceTraffic reportingRule of inferenceStandard deviationCommunications protocolWeb 2.0Self-organizationLattice (order)NP-hardBenchmarkMereologyContent (media)Goodness of fitProduct (business)Student's t-testTablet computerDirection (geometry)Video GenieOrder of magnitudeGame theorySingle-precision floating-point formatAndroid (robot)FamilySoftware repositoryNatural numberInstance (computer science)Core dumpHypermediaKnotMathematicsBus (computing)Denial-of-service attackConnected spaceWhiteboardVideoconferencingPresentation of a groupArithmetic meanBoss CorporationInternetworkingTelecommunicationReal numberLink (knot theory)SpacetimeOrbitPlastikkarteDifferent (Kate Ryan album)Autonomic computingSpecial unitary groupOrder (biology)TheoryFlash memoryPressureFilm editingIntegrated development environmentBuildingPoint (geometry)GodRootRow (database)CommutatorSign (mathematics)Taylor seriesLoginProfil (magazine)Lecture/Conference
Transcript: English(auto-generated)
Hi, you're always supposed to start off with a joke, I don't have a joke, but I am going to tell an anecdote. I've been coming to FOSTAM for kind of a while now, I guess it's my fifth or sixth, and it feels like free software is really a movement, or maybe open source, it's really a movement, people believe passionately about these things and ideas. And if you compare it naturally, if you think it's a movement, you compare it to other movements,
it's pretty weird that we like, on a weekend, fly here to Brussels, and sit in a classroom and sit there learning, whereas if you look at other movements, like in the 50s and 60s and stuff, they were hanging out, drinking beer, doing drugs. This is our modern movement, we spend time sitting and thinking and going to school.
I think that's weird. But that's not what I'm going to talk about today, I'm going to talk about free software in your car. This is a pretty unbelievable Jaguar, Jaguar puts Linux in their car. A quick note about myself, that's my preferred distro, I'm an American,
I've lived in Europe for a number of years, almost a decade, I have a one-year-old daughter who I miss a great deal, even this weekend, and I work as the Geneva community manager. I'm going to talk a little bit about how this happened, why this happened, and then we're going to do some code diving and stuff like that.
I'm not going to necessarily dump a bunch of stuff from Git repos, but I'll show you where the Git repos are, and we can really talk about some of the technical challenges we have. I am going to set the scene, because I think that's very important. I think there's got to be an understanding of why, and where we're going,
and how we travel to get here. This actually is a picture I took on my way to FOSDEM, and it's really unbelievable. Unfortunately you can't see the writing, but roughly over here there's a dark red arrow, and that's pointing to a phone holder. It's empty, of course, because the fellow has a tablet,
I think some kind of Samsung tablet, obviously running Linux and Android. There's also a device right here, which is some kind of proprietary taxi device, and then way up top there, all these devices obscure the IVI infotainment system. So, all these devices will probably be able to give you navigation.
But, you know, this isn't safe. That's not a good way to drive a car. It's crazy. I mean, are you honestly going to tell me that even under way, as you're driving that car, that you're not going to try touching the tablet?
And many studies say that when you SMS with your phone, it's like you're driving drunk, the accident rate is the same. This is madness. It's completely inappropriate. So how do we fix that? How does that get better? Obviously the head unit has to incorporate a lot of these features.
Obviously there has to be a different interface. The touch interface is maybe not the right modality for a car at all times. So it is. It's really full of challenges. Another challenge that happens is, you know, as everybody knows, we're always connected. Android has made the scene.
The iPhone is very popular. Everybody's got tools and things that are always connected. Consumers expect to be connected everywhere they go. So car makers understand that they are also a node in the Internet of Things. But, you know, as you can see, it's a different use case. So there is an automotive model. There really is a fundamental automotive model
that's different than the other models. A car is not a phone. It just won't work to take a standard mobile operating system and just stuff it in a car. And there are a bunch of reasons for that, many of them really quite technical.
Boot times. You know, you've got to boot really quickly. You also have to have, well, there's no backseat in this crazy thing, but in the backseat, if you've got kids, maybe you have a movie and maybe you want a certain movie to be played or not played. Maybe they want to listen to their headphones while you listen to the news. So you have sources and syncs of media and information
that has to be routed through a specific network on a car. And a car's network has the technical, very interesting technical feature in that the car has this gigantic honking battery. And when you rev it up, I mean, it's got to work. And it's got to work in minus 60. It's got to work in very cold weather.
And where I live in Sweden, okay, it doesn't get minus 60 very often, but it gets routinely minus 20. And that car has to start in the cold weather. So that battery is huge. And there's all this power flux. So to keep from a great deal of distortion and confusion from coming over the networking, they also use optical fibers. So all that stuff is extremely proprietary, extremely difficult,
and it's different not just from car maker to car maker, it's different from car to car. So we have a lot of, there are a lot of technical challenges. And it's quite clear that the car maker said, okay, simple, we need a modern, connected, high fidelity system.
We can't forget that, you know, car makers, there are some legendary names in audio and stereo like Becker, you know, Mercedes when they had Becker way back when. You know, my dad bought a used Mercedes once. He's like, oh, it's got a Becker stereo. I'm like, what? Sounds worse than my high school radio.
But in its day, these things were amazing. The tradition of audio in cars is really sophisticated. I mean, there's some really great high fidelity. Can you reproduce that kind of high fidelity with an Android operating system? I don't know. I don't know that you can, in fact. So I'm being facetious here.
It's not particularly easy. And there was nothing that they could really run around outside and say, okay, we'll use this, we'll use that, or we'll cobble together bits and pieces. They needed a great deal of standardization. And a group of car makers got together along with, you know, Arm and Intel
and decided to create the Geneva Alliance. And that was a way to let's standardize this stuff. Let's formalize this. Let's just be common sense. And car makers are actually very good about this. There's a lot of getting together, sharing at least ideas and resources. So this was a logical development.
And so what they formed is Geneva, which this is right on the first page of the Geneva website, Nonprofit Industry Alliance. And the goal essentially is, like, let's not forget these are commercial, big commercial companies, obviously deeply involved
in sustaining their business model. And sometimes free software will challenge traditional business models that can be disruptive. So they're gonna find common ground on what they think they can leave as a commodity, but they're gonna compete. And they need to know very explicitly what the boundary is.
Where is that boundary? Maybe HMI is where you're gonna see competition, for example. I just, you know, before we go too much further, modern cars have a great deal of software, as I mentioned. Obviously there's some audio software, sophisticated audio,
sophisticated tuner software as well. They do some remarkable things with antennas. Nowadays your whole car is basically can be an antenna. But what Geneva is focused on, and what I think a lot of the free software and open source focus is on, is on the IVI head unit, the in-vehicle infotainment. That naturally fits in other industries too,
maybe in trucks, maybe in planes. But what we're not talking about is ECUs, which are the embedded control units inside the car, or electronic control unit. That's gonna control your air to fuel ratio. That changes the game significantly. I read a story about a fellow who did it to,
you know, who changed the air to fuel ratio. Because you can chip your car. The car makers do not like this. They don't recommend it. And it's probably not a great idea. But you can maybe squeeze a little bit more performance out by chipping it. You get a chip, it overrides the settings. And sometimes, yeah, you go a little bit faster, but there's clouds of black smoke
coming out the back of your Porsche. And that's kind of uncool. And it also can be quite dangerous, of course. I mean, if you don't know what you're doing, it's not just avoiding the warranty that's at issue. So, that's to define our terms. Let's see if I can make my little slides go further.
Already, you know, the Geneva alliance was formed, let's say, ideas were thought about in 2008, 2009. It got formalized. But there is already a thriving ecosystem. And so Geneva is not the only one,
but it's very large. It's been rather successful in terms of uptake inside the automotive industry. And there are going to be vehicles on the road running Geneva systems this year, which is really exciting. We're also, there's some plans in the future
to be able to create a download-and-go image, where you'll just be able to say, potentially just drop into a virtual machine on your laptop and start running this. I mean, that can be done today. There's a meta-IVI is a layer inside Yocto. And there's a way to build the Prexa image.
So, it's certainly able to do it now. What we haven't done is compile all the binaries and just set it up for you in a single unit. I apologize. For some reason, it's freaking out.
Oh, now it's crashed. Well, maybe this is the time for me to start singing my song.
I wanted to go a little bit into some of the details about Geneva. Before I do, I want to show the slide.
So, there's a great deal of rigor in the automotive industry. There's a great deal of process rigor. There's a great deal, because we're talking about automation, we're talking about industrial processes.
There's a great deal of serious project management. That's something we in the free software world are not so great at. But, Geneva actually takes a lot of that stuff and applies it to open source, and that's really good because it gives us, I think, in the free software world, a great deal of discipline. It's not to say that we're not disciplined already.
I think we really are. We tend to be really passionate about our projects, but there are production lines and production schedules for cars, and they're pretty much immutable. It takes a long time to get a car on the road. So, that kind of industrial discipline or that process-oriented approach from this industry I think is really going to help us a lot.
But, it's not just Geneva. I'm the Geneva community manager, and of course, I really believe in the project. But, you know, to be fair, there's a real ecosystem with real diversity. Many people have probably seen that, you know, Google obviously is heavily involved in cars and automated cars. I don't know if that has IVI applications or not.
Ford has got something along with a company called Bug Labs. That's mostly just reading diagnostic information, and it's only read-only, and that's kind of interesting, but I think Geneva is much wider. And then, underneath Geneva, there's a group called Autozar and Jasbar, and, you know, there's host and hosts of consortia
that are involved in this. So, not all of it's free software. A great deal of it is, but it's a real ecosystem with real diversity. Now, in my talk, I said this was about free software in your car, and that's what this is about. This is about free software in the car.
Geneva uses, in its various compliant distributions, or all of the compliant distributions that have been submitted, they use the Linux kernel, and, of course, a great deal of the Linux kernel is GPLv2. So, that's free software. Geneva does its development in the open. So, it's not just, say, traditional open source,
whereby, once the device is built and running, you throw the code into open source and just say, there you are. This is open in the sense that you can be included in future visions. If you have an idea, if you want to contribute, get inside Geneva, or just from the outside, you've got a product or something,
we've got code, you can be part of the building of the system going forward. That's very important, I think, and a very key distinction. What I'm showing here is component proposals. If you want to propose a new project inside Geneva, there's a formal process to do it,
but it's pretty straightforward. You do not have to assign copyright to Geneva. Geneva has its preferred licenses. They're all open source. It's very simple. It's very straightforward. And this is up and alive today. Here are the Git projects. We work with Git, just like anyone else.
This is live. This is a screenshot of, you know, I think I took today. Some very interesting stuff. So Geneva is not just IVI. You can see some of the node startup controller and node state manager. They're going to do things like speak with system D, because in automotive you have to have very fast start times. I think it's something like 250 milliseconds from chime,
and chime is when the car goes, and then you need that back camera on. Backward facing cameras are going to be the law in the United States, I believe, in 2014. So there's some real interesting challenges. How do you blit that back video to a frame buffer? What do you do?
How do you bring the entire system up? And if you're looking to bring up JVM, well, you're going to be waiting around a while. So if you can see that, we're really, this node startup manager will also talk to ECUs. So it's deeper than just an IVI system in some cases.
There's a variety of things. There's a diagnostic log and trace daemon. That also comes from the Autozar world. It's an Autozar specification that has been facilitated into software that's going to be standard pretty much on any car. That's done. There's an audio manager with, I think, close to 10,000 lines of code already.
That comes from a guy at BMW that's been working on that extensively. That does all sorts of really fancy routing for your audio app. It takes this source, maybe, that's on your tablet and can spit it out on the head unit in the front seat or vice versa, or push things to different seats so that you can have different seats showing different content.
That matters. That really matters. And of course there's AFBus, which I'll talk about a little bit there, common API runtimes, a lot of other fun things. You know, there's more than just, you know, the POSIX operating systems and real-time OSes out there on the road today, too,
and they use a lot of free software, like you'll see SQL-like in some of these things. So this is not such a hard jump from contemporary systems to what Genevieve is trying to do today. One of the things that Genevieve contributed to the Linux kernel is a new protocol socket called AFBus.
Now, the network systems, or the network subsystems maintainer, is not thrilled about it because AFBus uses UDP, and he thinks that's unreliable, which, of course, it is. However, AFBus was designed to speed up DBus,
and it's done so 100%, so that's a significant order of magnitude. That patch has been pushed into the LTSI kernel, the kernel that Greg Koa, Koa Hartman, maintains. So it's at 3.4, and that's an area that you can send the kernel to before it goes to mainline, for example,
and the goal is obviously to have it in mainline. So it certainly is hope that it'll get into mainline. Any kernel committers here, feel free to send it along to Linux's tree. But along with the AFBus contribution, there are DBus patches, there are eglibc patches,
and I had hoped that Leonard's talk today was going to talk about how he's integrated AFBus into systemd, but I don't think that, right now, DBus understands when systemd is talking AFBus to it. So there's some low-hanging fruit for anyone right now. If you want to get involved,
it'd be really interesting to see if we can get DBus to understand what protocol it's being spoken when it's being talked to systemd. When I was talking to some of the guys who are architecting the system in Geneva because there's an abstract specification, if you will, that gets realized when a built image is made,
one of the things that he wanted to bring up and he'd like this community to address is, is NAND Flash the appropriate tool or the appropriate medium to be using in a vehicle which has a life expectancy of 15 years? Is NAND Flash inherently too unstable?
If you were to have some kind of issue with NAND Flash, that might be close to a recall. You'd probably have to go to the dealer to get it fixed. That's very expensive. So research in that area would be very well received,
certainly inside Geneva. There's another tool called Layer Manager, or maybe better yet, IVI Layer Manager, which is a compositor, and that does a variety of layering and compositing. This is a tool that works across platform. All Geneva software works across platforms. It's tested, and right now, I think,
you know, the most vanilla platforms are ARMv7 and Atom, but because it's ordinary Linux, it'll run wherever Linux runs. And that is pretty much the outline of what I had today.
We can go into some detail if we want on any of those points, but I kind of agree with Leonard that the best talks are the ones where there's a dialogue. So I'd really like to hear from you guys what you think is missing, what you need to understand, free software in your car, things like that.
So once GDV is available in cars, will it be a completely free and open ecosystem? Will I be able to route my car? Will I be able to install other applications? In theory, sure.
I mean, you'll always be able to route your car. There is going to probably be, due to safety considerations, the car makers like to lock the head unit. So there is going to be some locking involved. I'm almost certain. So you will have to route it. Yeah, the same question.
Can you tell us something about the typical architecture of a car? I mean, is it one centralized CPU with regular devices or multiple CPU running multiple kernels?
You know, that's a good question, and it varies a great deal. The ECUs, there tend to be quite a lot of them. So yes, there will be multiple of those. And it'll be very common to see some form of containerization, but hopefully the goal is to standardize on one kernel. There probably is going to be a real-time operating system
underneath, say, the GDV unit in many cases. In many cases, there won't be. Linux itself will host the virtualization. Those are the scenarios. I can't say for sure that there's necessarily one standard architecture across them all.
Do you plan for an app store where car vendors can create their own apps and third parties? Yeah, I definitely think that's on the agenda, absolutely. The thing is that that, you know, driver distraction is a really huge issue, and it's a real problem. I mean, drunk driving, let's say in the United States,
kills tens of thousands of people. It's a real, real problem. So car safety is paramount, and if you're texting on your phone and that's as dangerous as drunk driving, people get very worried. So are they going to let just any app into, say, their walled garden?
I don't think so, and I think that they have a pretty strong reason for that. You know, my choice is just like yours. Just show me the API, and I'll write my apps, and I don't care about the rest. But that I don't think is going to be realistic, and the reason is safety. And so I think that they're probably going to vet what comes in, and they most certainly want applications.
They most certainly want an app ecosystem. To what level it's going to be controlled, are you going to have to write it for every car maker, your Ford app, your GM app? That would be a disaster. I really don't think that's going to be the case, but I don't think Geneva has any plans to set up their own app store.
I have a question. Cars have features now which include driving the car itself, for example, automatic parking, or the lights if you're in the dead corner. Will those be in Geneva as well, or in a different system? You know, I haven't seen any software around that particular thing right now,
but I wouldn't be surprised if the interface to those systems would be available, yeah. So you can drive your car then automatically? Well, I think there are two different things. I think there's automated parking and then there's autonomous vehicles. And the autonomous vehicles, I think, require a great deal more infrastructure. And I don't think that Geneva is necessarily addressing that.
Now you're starting to get into LIDAR and a whole bunch of extraneous things. So I'm not seeing any code addressing that issue right now, no. I mean, you would imagine that they would. They would pull some of the LIDAR, whatever you have, onto the central head unit because they know, okay, you've already got a screen here.
But there's not a lot of that yet. There is a great deal of work with other consortia. You know, there exist a lot of them out there. Avenue, I don't know if you know that, but there are Ethernet over AVB, audio-video bridging maybe. And so that could be an area where you could sort of just access that. So I mean, there are ways to patch that together,
but to be honest, I don't see the roadmap for that. My question goes a bit in the direction of the app stores. So for example, there's the Ford uplink thingy. Yeah. So is it compatible with Geneva or is it something that is developed differently? Will it merge in the future? Wow, good question.
I think Ford uses another operating system. I can't think of the name of it, but... Well, it provides a... You would think that it would probably be better for the car makers to agree, probably on a single platform. I don't know they've done that yet, but I mean, I certainly... If I were to meet guys from Ford, that's what I would tell them.
Okay, so maybe we can fix that. Yeah, I can't say that, but you know what? I mean, all the discussion on app stores, I'm going to go directly back and tell them, developers want one place to go. It's crazy to have to write, say, five Android apps. But in uplink, you have an API on the phone where you communicate to your IV,
to the entertainment system. So, would that work for the Geneva as well? If I have this app that communicates via Bluetooth or whatever with my entertainment system, would that work for Geneva as well? So, I have my app, I have a Ford, then it works.
I have a different car, does it work as well? Yeah, we're looking into specifying MirrorLink. And so, MirrorLink is probably the way that that app works. Many apps do that. They just say, okay, I'm going to talk VNC to the head unit. It just all depends on how your app talks to the car.
But yes, it will work. You'll get an IVI API, which you'll be able to speak. And in fact, there's a web interface being produced by LG, who are Geneva members, that they already have tests for that you can use today. The question is, will every car maker expose all those APIs?
And it's up to them in the end. And is it compatible, the vehicle API with the webinars API? There is some discussion on that. And in fact, the W3C has said, okay, we're a standards body, so why don't you guys come and talk with us? So, Geneva is certainly trying to make the vehicle API,
the vehicle web API, a W3C standard. I think webinars would like to have theirs, the W3 standard. So, work is ongoing in standards bodies to make sure that they're as compatible as possible. Do you plan to support complete reference application stack?
Plan to support which type? Right now, you just provide some low-level stuff and some parts from middleware, but do you plan to provide or integrate from external repositories or open source projects a complete reference applications?
Yeah, definitely. And there is an HMI working group inside Geneva that's doing HMI stuff for HMI bindings downwards so that you'll be able to plug into that for sure. Absolutely. And there will be reference applications. There will be maybe reference apps, if you will. Definitely. When? 2013, I believe.
Hi. You said in your talk that you are not focusing on ICUs, so you are just focusing on the entertainment system. As I have played a little bit around with ICUs already, I found it very informative to have information from the ICUs available
during some drives around or some problems, if you have a car problem, whatever. You are currently really focused on having someone to help you if you have a highly technical car, which has some technical problems,
which are mostly software problems these days. So I would probably find it useful to have at least some kind of diagnostics available in Geneva just to have a little bit more information when I have problems, not only focused on the entertainment system. That's built in, diagnostic log and trace. Okay.
And that's an Autozar specification, so it's very low-level. And a variety of things like ECUs should be speaking to that, and you can certainly get that. There is something called the Onboard Diagnostic OBD II in real time. Yes, that's what I am playing around with. So OBD can talk to, there is a plug-in to make it talk to diagnostic log and trace, so you can store those as logs or you can do it in real time through OBD.
Because with that you can also try at least a little bit to build supporting apps which help for safety. Like if you're driving at a different speed, and then before you notice that the volume may raise up a little bit for the music or something like that,
or if you get a phone call, then you can try to inform the user, maybe slow down a little bit for better noise reduction or whatever. The audio manager knows the node state now of the ECU and can change volume settings accordingly. Okay. So those features are already in. Okay. Or you can reproduce that code or just cut and paste and use that.
So yes, absolutely. Yeah, but I just want to make sure that you are focusing not only on the entertainment, you also try to integrate all the stuff because I think then you can get a cool package. No, I totally agree with you and I kind of, what I didn't want to do is say that Genevieve is focusing on all the software in the car
because there is so much software in a car. There is ADAS, there is active driver safety. So do you have some camera support already? Some camera? Canvas. It's a kind of ODB. Oh, Canvas. Yes. Yeah, although I think that the focus is going forward in the future, it's going to be on EAVB.
Okay. Thanks. Sure. How are we doing time-wise? I have yet another question. Are you planning for supporting virtualization, say power virtualization or hardware virtualization yet? Yeah.
There are definitely plans for virtualization. There is a lot of virtualization going around it. I think virtualization is actually pretty popular in a car because there is a lot of say like military virtualization companies out there and because of the car's need for safety, they have spoken with the car industry. So there is a strong understanding of that.
Inside the IVI head unit, there is also probably going to be some kind of virtualization. The progress on that front has been that we've seen that the ARM semiconductor manufacturers are now all supporting the device tree. So it looks like that the working group inside Genevieve
that's focusing on virtualization is going to do something based on a device tree. And it may be full virtualization like a container. Yeah, but then is the main kernel the host? Is this a Linux operating system or is this a third-party operating system like whatever PyQuest or? In the case that I'm discussing, I do believe that Linux will be the host.
That's interesting. That's right. And there's in fact, you know, Genevieve's opened up, I mean it's an open source project. So if you're interested in collaborating, you can. For example, the University of Torino has a project called LXC Bench where they're going to benchmark Linux containers on a fairly typical set of automotive silicon,
IMX53. So, you know, I mean that's not necessarily going to be in a production vehicle, but the students are going to do very valuable research and all that code will be available to you through the Git repo. So if you want to check that out, that might be, have some hints and tips for better performance or what have you.
Hi, thank you for the presentation. Quick question. The Genevieve is now focused on, say, a single car. Could you in the future imagine, let's say, a multiple car interaction? Take an example, two families going on a trip and the kids from the two cars playing a game together.
Is that something that might be possible in the future? Is it really like restricted on a single car? No, I don't think it's restricted at all. I think that's a very interesting idea. And I think in fact there are, you know, traffic systems already in existence. For example, in Europe there's a great deal of digital traffic information on digital radio, DAB, I guess, that's not broadcast, TMC.
That's not broadcast, for example, in the United States. And there are, I mean, the idea is if the car is a node in a web of traffic information or between two cars, certainly the IVI system is going to want to display some of that information, you know.
So I think those ideas are there. Is Genevieve going to be the consortium to go out and, you know, sponsor that research and create the connections? I don't know that it is, but it's definitely going to interface into those organizations that are doing it, and I do believe that there's already work ongoing with that. Do you have any rules in Genevieve about projects
having to follow an open development process? I mean, like having tickets available for everyone to look at and to now get repositories and like, or they can be closed development software that release from time to time as free software.
I think I might sort of bail out here and hand over to our CEO. You know, closed source software is going to be a fact of life on an automobile. That's the way it is. How that interacts with Genevieve, well, that makes life pretty difficult
because you need to see the code to develop the system. Now, how do we accommodate this closed source software? Well, you can say we're going to publish our APIs and you plug in the APIs, and then it's your responsibility to make sure it works, but Genevieve is not necessarily going to say, oh, now you're inside Genevieve.
But there may be a program, or there is a program that's been launched that's experimental called Works with Genevieve. So it can be that if you want to apply to work with Genevieve in a more formal manner, maybe this would be the App Store approach, you can apply to Genevieve, you give Genevieve some information, you get a little sticker that says Works with Genevieve, and it's expected to be able to work across every Genevieve car,
and it doesn't know whether it's proprietary or open. So I think that's the short answer now. I mean, there are some details to be worked out, but I don't think it's going to really deviate much from that. I forgot my glasses, so if anyone at the back needs a question, you're going to have to give me a really big wave, just so you know.
Okay, actually, my question is, I know your talk is focused on infotainment, but could you outline maybe any other areas from the car software that are also relevant for open source, or if there are any large active projects already relevant for open source in car software? Yeah, absolutely.
What comes off the top of my head, I would say Automotive Grade Linux. Automotive Grade Linux is from the Linux Foundation. They're going to start with, say, Tizen IVI, trying to, say, set up a complete system too. It's just getting up off the ground, so it might be a good time to get involved there.
I don't know how mature that program is, and I don't think it has the breadth of Genevieve at this point, and I think, in many ways, you really need to bring vendors together to force them to standardize, and I think that's the right approach.
There's also, Ford and Bug Labs have something going up, where you can interface with Ford vehicles, but it's limited to Ford vehicles, but that's pretty cool. And then, of course, there's tons of things on the CAN bus. People are looking at the CAN buses,
creating whole business models based on that and software. So you can look at that, and I think there are already kernel interfaces to the CAN bus. EAVB, I believe, is going to be an open standard. That's probably going to be the new networking feature for cars in the future. There's something called Nobody, which is a free tool to read onboard diagnostic information.
And those are the big high-profile things that I can think of. Maybe somebody here has... Open ECU. Rob, what's that? It's a replacement for an ECU?
Open ECU. Rob Taylor told you, open ECU. And then I have a really small question. In your opinion, which major vendors are most open source friendly?
So I know BMW, for instance, works on open source projects. Sure, that's an easy question. I'll just pick one of my employers to favor over the other. They're all really good in their own way. No, seriously.
Like any industry, Linux, there's some kind of tsunami going on. The embedded Linux world is really hot. And automotive IVI is also very hot. And car makers are looking for people. And I think open source stretches their development capabilities a little bit. So it's hard to find people. So if we're talking about an interesting company that will have a cool work environment,
and be understanding and really get it, yeah, sure, BMW is definitely one of those companies. But a lot of them are going through that transition and are going to get there. So, seriously. We've got 10 more minutes if anyone's got any extra questions.
Like I said. So you're mentioning a lifespan of 15 years for cars. That's about 10 times the lifespan of the average smartphone these days. As an Android developer, I really hate making application work on a phone two years old.
Am I going to hate making application work on a car that's 10 years old? Well, yes and no. You know, I've heard stories where people have actually lost the build system for older cars. And they need to go back and like, oh, we've got this major fix. And like, oh, how did we build this? Oh, Jimmy's got the tool on his laptop.
Okay, where's Jimmy? Oh, he left the company. So I think that there's a real cognizance that there needs to be, say, strong backwards compatibility. So I don't think it's going to be as painful as that. I really don't. And I think that's one of the reasons why sort of a more GNU Linux approach than, say, other approaches have been taken.
So that you have strong backwards compatibility. And I think there are companies around here that might be able to give you that kind of transparency with their build system and reproducibility. So that you can actually have, you know, strong caching and check something, if you will, to say, okay, this was the tool that I used. This is the build tool.
I can easily go back and just fire up my app and test it for that. So I really do think that pain is going to be eased. No promises, though.
You say you're using your own compositor for Genevieve. Yeah. Are you planning to use Western? As a matter of fact, yes. I think Genevieve doesn't specify a single graphical backend. It says you should have a graphical backend in your stack.
But it's Wayland or X. Both are fine. And in fact, Genevieve is working actively with the Westin developers to create IVI specific callbacks. And to test with Westin, which is I believe the Wayland implementation, to test those APIs.
We really want to make sure that's available in the next release. So we're actively involved in that community with the folks who have written those things. So yes, absolutely. Strong support for that. Very strong, straightforward open source methodologies and ways of working.
The Conman maintainer in fact works for us. Well, it doesn't work for us, but works with us. A lot of... There's BlueZee is also in the system. So if you want Bluetooth, the whole BlueZee stack is available to you. Again, about Canvas and sort of things.
Are you planning to implement a sort of stack, a protocol stack, to use it on a Linux system? Not especially for the Genie system. Maybe a different system. I think there is always going to be a market for it. Are you planning to invest in that market?
I believe you are more focused on the interface part. Private. But are you looking to... I've been using CAN to send GPS signals and stuff to embedded systems. And I find that Linux isn't possible to do anything with it because there simply isn't anything to use.
It's on the CAN network. So are you planning to do something about that? I don't think Geneve is actually going to ensure that the CAN stack is in a good state inside the Linux kernel. I do think there are automotive companies that are doing that already.
So the CAN stack might be more improved in the future. But I'm skeptical. There are already, for instance, the .NET Micro framework. I have to be careful now because the .NET Micro framework, for instance, has a really good implementation of the CAN framework.
So there is actually... They do the same stuff but with a closed source system and it works really well. I'm using the .NET framework because I would like to use Linux but I have to use the Microsoft system because it is implemented. So at the moment it's a lot more interesting to use that.
Maybe Rob knows more than I. Do you know more than that? What's wrong with Socket CAN? I haven't looked into that but... There is already a CAN system...
Yeah but it's not... I want to build a system that can build upon existing systems. I don't want to change the whole network already existing in the car. But is it a layer built upon CAN then?
So like CANopen or... I've used CANopen in the past but it's really the... But if you have to have systems like break by wire, for instance, you don't want to wait two seconds before your car starts breaking
because there are a lot of layers in between the CAN stack. Sometimes you just need to have... So on Linux then. And how do you interface it with, for example, I've looked on... Do you use sockets? Yeah, it should be transparent.
So you just use the socket and then you're talking to the CAN network. Well, I didn't find that. Anyone else?
OK, we're almost out of time. Thank you very much.
Thank you.