Blog

I hope to do a series of post on notable recent contributions, this is the first. I wanted to highlight a couple of recent developments to Persistence and to the integration of a browser into GENIVI based on the Chromium project which is Google's open source browser project. Persistent data is data that rests on the head unit between reboots and is a key mechanism in bringing personalization to the car since with this data you can create personalized playlists, settings and other in-vehicle experiences. The underlying mechanism to store data on the car in between use is not particularly glamorous, it's clearly the kind of non-differentiating software that every car needs if it wants to enable any personalization at all. This is why its good to see feedback on the GENIVI Persistence software from production projects, it brings a certain validation to the GENIVI design. Recent contributions from Delphi are worth highlighting here for their diligence and detail.

Chromium

You surely have heard of Google's Chrome browser, but have you heard that their Chromium project is an open source project developing, amongst other things, the Chromium Embedded Framework (CEF)? This is an exciting project since it brings "the infrastructure developers need to quickly add HTML rendering and JavaScript" functionality to the GENIVI Development Platform. This will allow GENIVI to do things like access lower level libraries and data via an app-like approach. After all, many "apps" are just HTML and JavaScript. With the addition of the CEF one will be able to also access APIs from the W3C for example and there is interesting contribution there from JLR and Volksvagen. If you want to follow the development as CEF makes its way into the GDP, you might look here: meta-genivi-dev/pull/53 repository

Important discussion on the project is also at Igalia's blog. Stay tuned here and in GENIVI's newsletter for more!

You may have noticed that Renesas has been rolling out a new third generation of R-Car SoCs starting with the H3 and M3 SoCs. Targeted at the Automotive Cockpit they form a part of the wider Renesas Automotive Product family.

As with the previous generations Renesas intends to support their use in Genivi platforms and to actively participate in Genivi itself. This includes maintaining a git repository containing a Yocto BSP with the changes required for the standard Yocto BSP to work with the Genivi Yocto Baseline (GYB) and Genivi Development Platform (GDP) already integrated.

Genivi 10

The first R-Car Gen 3 Yocto BSPs used YP 2.0 (Jethro) and s/w versions matched the requirements of Genivi 10. Therefore as a first step we have developed GYB and GDP support for both the Salvator-X Evaluation boards and M3 Starter Kit low cost board.

Genivi Yocto Baseline

Details of where to find the Genivi Yocto BSP for the boards and combine it with the Genivi Yocto Baseline can be found in the GYB section of the Renesas wiki page for Genivi 10.

GDP10

GDP10 was developed by the GDP team but never formally released. Updates are not accepted by the GDP Maintainers so as a service to the community we have integrated both Salvator-X and M3 Starter Kit support for GDP10 into our github.

Genivi 11

We are currently integrating Genivi 11 support and plan to release GDP-11 and GYB support in early February.

 

 

I blogged back in September of last year about R-Car Gen 2 Beta support for Genivi 11.

That support has been stable for several months. I have therefore merged the existing WIP (work in process) branch stevel/genivi-11-wip into a new product branch genivi-11-bsp-1.10.0. This new branch will be used for any future maintenance and has been set as the new default branch in github [1].

There are no other changes, i.e. no new commit to either branch.

[1] https://github.com/slawr/meta-renesas/tree/genivi-11-bsp-1.10.0

The full release of GDP 11 is now available and can be found here. Since the October AMM, GDP 11 has undergone extensive testing to confirm stability and is proven on additional hardware targets. Like the previous release candidate, GDP 11 includes a GENIVI-branded GUI and configurable application launcher, an enriched Software Development Environment (including SDK) and increased vehicle connectivity with Remote Vehicle Interaction Core and SOTA Client software. 

GDP 11 highlights include:

  • Easier to install, build and use
  • Compatible with several Intel and ARM based development boards including the low-cost Raspberry Pi boards
  • Developed in an open and collaborative environment, following the best practices of any reputed FOSS community
  • Combines the latest stable Open Source automotive software components with the latest stable generic Linux based software provided by the Yocto project

Those with Yocto knowledge can build this release from scratch using the GDP 11 build instructions. Other links of interest are:

  • GDP 11 Feature Page provides details on what is new in this release.
  • GDP Releases wiki page where you can find information on how to run the available GDP 11 ports to differentboards. This is of interest to those application developers who are not familiar with Yocto.
  • GDP Master wiki page, with instructions on how to build GDP from scratch with support to a wider range of target boards with Yocto knowledge.
  • GDP 11 Bug Tracking system for those wishing to provide feedback in the form of bug reports, new feature requests, and any other comments on this release. GENIVI welcomes all type of inputs from the community so we can make future GDP releases better.
  • GDP Roadmap for information on the upcoming GDP releases.

The GENIVI community welcomes all member and open source community efforts to further enhance the GDP making it a fully featured and continuously enhanced development platform product. Additionally, GENIVI appreciates assistance in the areas of testing, bug reporting, patching and new feature requesting to advance GDP development (technical discussions occurring on genivi-projects email list and on Jira trackers).

Release notes courtesy of Traci Renner.

Delivered and enhanced by the GENIVI community, the GENIVI Development Platform (GDP) has progressed significantly moving from a demonstrator to a true development platform with the new GDP 11 Release Candidate 3 (RC3) . Like the previous release candidate, GDP 11 RC2, the GDP 11 RC3 includes a number of new features including an enhanced user experience with a GENIVI-branded GUI and configurable application launcher. Also included in GDP 11 RC3 is an enriched Software Development Environment (including SDE) and increased vehicle connectivity with Remote Vehicle Interaction Core and SOTA Client software. All of these new features will be highlighted at the October All Member Meeting (AMM). Additionally, the GDP 11 RC3 containing this new user experience will receive further testing to gain the stability needed for a full release after the AMM.

 

GDP 11 RC3 highlights include:

  • Easier to install, build and use

  • Successful deployment on the low-cost Raspberry Pi boards

  • Developed in an open and collaborative environment, following the best practices of any reputed FOSS community

  • Combines the new UI and application launcher with the latest stable Open Source automotive software components and the latest stable generic Linux based software provided by the Yocto project

  • Consistent with v. 11 of the GENIVI Platform Compliance Specification and its related Baseline

 

GENIVI has provided two release candidates for prospective adopters who may have different goals. GDP 11 RC2 gives adopters a more stable experience given the weeks of testing on multiple hardware boards, though without the new UI and application launcher. GDP 11 RC3 gives adopters the absolute latest set of features including the new UI and application launcher, though the stability of this candidate is still being proven.

 

Those with Yocto knowledge can build this release candidate from scratch from the GDP Master, where work is currently being done to support multiple Intel and ARM-based development boards. Other links of interest are:

  • GDP 11 RC3 Feature Page provides details on what is new in this pre-release.

  • GDP Releases wiki page where you can find information on how to run the available GDP 11 RC2, RC3 ports to different boards and the new SDE . This is of interest to those application developers who are not familiar with Yocto.

  • GDP Master wiki page, with instructions on how to build GDP from scratch with support to a wider range of target boards with Yocto knowledge.

  • GDP 11 Bug Tracking system for those wishing to provide feedback on this release. The GDP Delivery Team welcomes bug reports.

  • GDP 11 Roadmap for information on the upcoming GDP 11 release.

 

The GENIVI community welcomes all member and open source community efforts to further enhance the GDP making it a fully featured and continuously enhanced development platform product. Additionally, GENIVI appreciates assistance in the areas of testing, bug reporting and patching to advance GDP development.

GENIVI Marketing Team

A useful tool when developing an Automotive Infotainment is a screen to view the User Interface. Recently work has been done to support the official Raspberry Pi 2 7" touch screen, as seen here: raspberry-pi-7-touchscreen-display.

If you build automotive infotainment systems, you know that the integration of hardware and software is a key differentiation. In building the GDP we don't have the resources for custom designed hardware so instead we use COTS or common off the shelf technologies. In fact the GDP supports a number of peripherals almost entirely by contributors.

The RPi touchscreen has required a bit of work to get it to work with the GDP, namely drivers in the RPi. Leon Anavi as well as GDP maintainers worked to bring in the needed software and configuration which inevitably led to upstream. Once an open source driver was brought into Linux mainline, the next step has been ensuring that the Graphical tools used by GENIVI, namely Wayland and the Wayland IVI Extension, work on the screen.

While continued discussion is happening on using the screen with GDP 11, it should be ready for everyday use with both the Raspberry Pi 2 and 3. Use the links I've provided to follow along with the collaboration with many parts of our community as we continue to support widely available and popular hardware running the GDP.

GDP Maturity Increases with the Release of GDP RC2

Unable to render {include} The included page could not be found.

Developer summary

I recently pushed Genivi 11 support for the Renesas R-Car Gen 2 boards to github.

URL: https://github.com/slawr/meta-renesas.git

branch: genivi-11-wip

The branch is a WIP but actually feels very close to a release candidate.

Developer Notes

The support is based on the same Yocto BSP v1.10 release used for Genivi 10 and there are no changes to the BSP components.
Changes were limited to adoptions to the krogoth (YP 2.1) branches used by the Genivi Yocto Baseline and of course meta-ivi 11.
Functionally the Poky meta implementation of libdrm is now used.

In summary there have been the following major changes:-

  • Support gtk+3 v3.18.8 used in YP 2.1
  • Support systemd v299 used in YP 2.1
  • Support gst 1.6.x used in YP 2.1 when h/w acceleration is disabled.
  • Support mesa 11.x used in YP 2.1. Update configuration (disable libgbm) to fix do_populate_sysroot() error
  • Fix omx-user-module QA issue in do_populate_sysroot() related to .la files
  • No longer use Renesas libdrm fork
  • Fix build error related to linux-libc-headers
  • Drop ncurses bbappend as functionality now upstream
  • Drop unused gcc 4.8 bbappend

For those who like a graphical diff compared to Genivi 10 you can find a Github compare here.

The following sections provide some more detail including a migration guide.

General information about building Genivi 11 Miranda for the Renesas R-Car SoCs, including build instructions for the Genivi Yocto Baseline and links to GDP can be found in the Renesas Genivi 11 page.

Migration Guide / Behavior changes

  • No changes to the BSP components.

 

See the Genivi 10 Migration Guide to be reminded of some functional improvements in the previous release.

Testing

The update has been successfully tested with Genivi Yocto Baseline 11 M-02 and the GDP Master RC-1 release for Genivi 11.

Pull request #44 is pending for GDP-11 RC-1 to align the GDP Master branch with this release. The GDP Maintainers tell me they are about to merge it.

Earlier in July GENIVI received configuration for the GENIVI Development platform to run on another popular development board. This time it was Qualcomm’s Dragon Board. This board uses the Qualcomm Snapdragon 400 processor and includes things like bluetooth and GPS and seems quite well suited to running automotive software. I'm including a screen shot below from GitHub showing how Changhyeok Bae and Tom Pollard spun the new board up. Since GENIVI uses build-from-source build tools, namely Yocto and Baserock, we're able quickly port GDP to new hardware as long as there is a fairly recent kernel available for the hardware. 

save image

We look forward to more silicon joining the stable and a warm welcome to the Dragon board!

Unable to render {include} The included page could not be found.

GDP 11 Beta is out! Call for testing

Unable to render {include} The included page could not be found.

GDP moving faster than a Pokemon hunter

Unable to render {include} The included page could not be found.

Developer summary

I have pushed updates to the previous Beta release of Renesas R-Car Gen 2 support for the Genivi 10 Yocto Baseline to github [1].

They have been pushed to the new product branch "genivi-10-bsp-1.10.0". This replaces the previous working branch "stevel/genivi-10" which is now deprecated and will be later deleted.

[1] https://github.com/slawr/meta-renesas/tree/genivi-10-bsp-1.10.0

Developer Notes

In summary there have been the following major changes:-

  • Fix "full path to dts" kernel bitbake build warning
  • Fix "license listed foo was not in the licenses collected" bitbake build warning
  • Various readme updates or improvements
  • Added sample local.conf and bblayers.conf
  • Kernel config changed to receive bootargs for u-boot when combined uImage+dtb image used

For those who like a graphical diff you can find a Github compare here.

The following sections explain some of these in more detail including a migration guide.

Yocto Bitbake Warnings

The updates address two bitbake warnings. The first addresses a malformed recipe variable that resulted in bitbake raising a license warning. The other addresses a bitbake kernel build warning related to dbs/dtb files.

Migration Guide / Behavior changes

U-boot

The Yocto board machine files, e.g. porter.conf, now default to the setup for Wayland/Weston. This means you no longer need to set this explicitly yourself in your local.conf.

Sample local.conf and bblayers.conf

The Yocto BSP supports multiple boards so it is impossible to add a local.conf.sample and bblayers.conf.sample that covers all boards. Examples for the different boards are available upstream, but I can see the value of having a sample within the Yocto BSP itself.

The commit adds a bblayers.conf.sample that should be applicable for all Gen 2 boards. The local.conf.sample is for the Porter board. For other boards change the MACHINE variable and in addition for H2 SoC based boards such as Lager change the MACHINE_FEATURES_append variable to be "rgx" rather than "sgx".

Kernel

The kernel config has been changed to accept boot args from u-boot when a combined uImage+dtb kernel image is used.

Testing

The update has been tested with Genivi Yocto Baseline 10 and the GDP Master branch tag gdp-10.

 

Unable to render {include} The included page could not be found.

A new deliverable for those who want latest and greatest: GDP Master

Unable to render {include} The included page could not be found.