R-Car/Chromium/m86

From eLinux.org
Jump to: navigation, search


Introduction

This page contains information how to run chromium on R-Car Gen3 devices.

Topic

The new version of R-Car Starter Kit Premier is now on sale !!

  • Equipped with R-Car H3e-2G
    (En) https://www.renesas.com/jp/en/about/press-room/renesas-launches-r-car-gen3e-20-percent-higher-cpu-speed-automotive-infotainment-cockpit-and-digital
    (Zh) https://www.renesas.com/jp/zh/about/press-room/renesas-launches-r-car-gen3e-20-percent-higher-cpu-speed-automotive-infotainment-cockpit-and-digital
    (Jp) https://www.renesas.com/jp/ja/about/press-room/renesas-launches-r-car-gen3e-20-percent-higher-cpu-speed-automotive-infotainment-cockpit-and-digital
  • CPU performance is increased 20% by supporting up to 2GHz frequency over past products.
  • You can buy from here.

SW Release Information

Board name SW name Release date Note
R-Car Starter Kit ( Premier / Pro ) Yocto v5.9.0 (stable) [New!!] 2022/02/08
Kingfisher Infotainment Board Yocto v5.9.0 (stable) [New!!] 2022/02/14 To check for latest information, please refer to the meta-rcar/tree/v5.9.0.
Android 10 (stable) 2021/07/26 R-Car Starter Kit Premier(R-Car H3) + Kingfisher is supported.
R-Car Starter Kit Pro(RTP8J77961ASKB0SK0SA05A) + Kingfisher is also supported from 2021/11/25.
Android P (stable) 2020/09/29 R-Car Starter Kit Premier(R-Car H3) + Kingfisher is supported.
R-Car Starter Kit Pro(RTP8J77961ASKB0SK0SA05A) + Kingfisher is also supported from 2021/03/16.
CCPF-SK Board Yocto v5.9.0 (latest) [New!!] 2022/02/08 Prebuilt binary is available in Quick startup guide page. (Updated on 2022/03/18)


R-Car Starter Kit is available

R-Car Starter Kit information
Board Name SoC version Hardware information Where to buy
R-Car Starter Kit Premier (H3) v3.0 Click here Click here
R-Car Starter Kit Pro (M3) v3.0 Click here Click here



Yocto versions

Poky-3.1.2 is supported with "Yocto v4.1.0 + Yocto Project 3.1.2".


Environment

Host PC

Ubuntu 18.04 LTS (64bit) is recommended as OS. 32bit version is not supported.
Ubuntu 16.04 is not supported !!

See also:

Yocto BSP

Community Yocto BSP "Yocto v4.1.0 + Yocto Project 3.1.2".
For more information, see R-Car Gen3 Community Yocto BSP Release Note.

Confirmed Board

Board SoC Confirmed
R-Car Starter Kit Premier H3 v3.0 (1rank DDR) NT
R-Car Starter Kit Premier H3 v3.0 (2rank DDR) OK
R-Car Starter Kit Premier H3 v2.0 with 8GB DDR NT
R-Car Starter Kit Premier H3 v2.0 with 4GB DDR NT
R-Car Starter Kit Pro M3 v3.0 OK
R-Car Starter Kit Pro M3 v1.0 NT

18px <translate> Note:</translate> NT:Not Tested

Chromium Version

86.0.4240.111

Layer information

Layer Repo Branch Commit ID
meta-browser git://github.com/OSSystems/meta-browser master 423633196c7e4b68e1fd1338a2a21a429e76733e
meta-clang git://github.com/kraj/meta-clang master ee1dcdfbb8d31f168b26c2e3e5be97efea6537df
meta-python2 git://git.openembedded.org/meta-python2 master 07dca1e54f82a06939df9b890c6d1ce1e3197f75

Required packages

Proprietary evaluation package

  1. Download evaluation version of proprietary graphics package from Renesas.
    To download Graphics library and related Linux drivers, please use the following link:
    Download two files:
    • R-Car_Gen3_Series_Evaluation_Software_Package_for_Linux-weston8-20200923.zip
    • R-Car_Gen3_Series_Evaluation_Software_Package_of_Linux_Drivers-weston8-20200923.zip

Host PC required package

  1. Install required packages
    Ubuntu and Debian
    sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib \
         build-essential chrpath socat libsdl1.2-dev xterm python-crypto cpio python python3 \
         python3-pip python3-pexpect xz-utils debianutils iputils-ping libssl-dev
    
    Refer to Yocto Project Quick Start for more information.


Building the BSP with Chromium browser

Build using script

  1. Directory Structure
    |--build_m86.sh
    `--proprietary
       |--R-Car_Gen3_Series_Evaluation_Software_Package_for_Linux-weston8-20200923.zip
       `--R-Car_Gen3_Series_Evaluation_Software_Package_of_Linux_Drivers-weston8-20200923.zip
    
  2. build
    ./build_m86.sh <target_board_name>
    
    #!/bin/bash
    
    BOARD_LIST=("h3ulcb" "m3ulcb")
    TARGET_BOARD=$1
    PROPRIETARY_DIR=`pwd`/proprietary
    MILESTONE=$(basename ${0%.*} |cut -d'_' -f2)
    WORK=`pwd`/${TARGET_BOARD}_${MILESTONE}
    
    Usage () {
        echo "Usage: $0 \${TARGET_BOARD_NAME}"
        echo "BOARD_NAME list: "
        for i in ${BOARD_LIST[@]}; do echo "  - $i"; done
        exit
    }
    
    # Check Param.
    if ! `IFS=$'\n'; echo "${BOARD_LIST[*]}" | grep -qx "${TARGET_BOARD}"`; then
        Usage
    fi
    
    mkdir -p ${WORK}
    cd ${WORK}
    
    # Clone basic Yocto layers and switch to proper branches/commits
    curl https://storage.googleapis.com/git-repo-downloads/repo > ./repo
    chmod a+x ./repo
    ./repo init -b master -m dunfell-dev_v4.1.0.xml -u https://github.com/renesas-rcar/rcar-manifest.git
    ./repo sync
    
    # Clone layers in parallel
    git clone git://github.com/OSSystems/meta-browser &
    git clone git://github.com/kraj/meta-clang &
    git clone git://git.openembedded.org/meta-python2 &
    
    # Wait for all clone operations
    wait
    
    # Switch to proper branches/commits
    cd ${WORK}/meta-browser
    git checkout -f -b tmp 423633196c7e4b68e1fd1338a2a21a429e76733e
    cd ${WORK}/meta-clang
    git checkout -f -b tmp ee1dcdfbb8d31f168b26c2e3e5be97efea6537df
    cd ${WORK}/meta-python2
    git checkout -f -b tmp 07dca1e54f82a06939df9b890c6d1ce1e3197f75
    
    # Populate meta-renesas with proprietary software packages
    cd ${PROPRIETARY_DIR}
    unzip -qo R-Car_Gen3_Series_Evaluation_Software_Package_for_Linux-weston8-20200923.zip
    unzip -qo R-Car_Gen3_Series_Evaluation_Software_Package_of_Linux_Drivers-weston8-20200923.zip
    cd $WORK/meta-renesas
    sh meta-rcar-gen3/docs/sample/copyscript/copy_proprietary_softwares.sh -f $WORK/../proprietary
    
    cd ${WORK}
    source poky/oe-init-build-env ${WORK}/build
    
    cd ${WORK}/build
    cp ${WORK}/meta-renesas/meta-rcar-gen3/docs/sample/conf/${TARGET_BOARD}/poky-gcc/mmp/*.conf ./conf/
    cp conf/local-wayland.conf conf/local.conf
    
    cat << 'EOS' >> conf/local.conf
    DISTRO_FEATURES_append = " h264enc_lib"
    PACKAGECONFIG_pn-chromium-ozone-wayland =" proprietary-codecs"
    IMAGE_INSTALL_append = " chromium-ozone-wayland"
    EOS
    
    ulimit -n 8192
    bitbake-layers add-layer ../meta-python2
    bitbake-layers add-layer ../meta-clang
    bitbake-layers add-layer ../meta-browser
    
    bitbake core-image-weston
    
    If the build completes successfully, all the necessary files are generated in a following directory:
    ./<target_board_name>_m86/build/tmp/deploy/images/<target_board_name>
    
    Image is a Kernel image, *.dtb is a blob file, core-image-<image_type>-<board_name>.tar.bz2 is the rootfs, modules-<board_name>.tgz are kernel modules.
  3. You can now proceed with running Yocto images

Running Yocto images

Linux kernel can be booted from microSD/USB memory/eMMC/TFTP.
Root FS can be mounted from microSD/USB memory/eMMC/NFS.
See also R-Car/Boards/Yocto-Gen3#Running_Yocto_images.

How to run Chromium

# Get the TODAY value:  HostPC$ date +%s
date --set @$TODAY 
chromium --no-sandbox

How to test

Test H3 v3.0(2rank DDR) M3 v3.0
Launch Chromium OK OK
Maximize window of Chromium OK OK
Show "About Chromium" OK OK
Search youtube using google OK OK
Play video/audio on youtube OK OK
Run webgl sample(aquarium) OK OK

18px <translate> Note:</translate> NT: Not Tested

Q&A site

http://renesasrulz.com/r-car-h3-m3-cockpit/

FAQ page

https://elinux.org/R-Car/Boards/Yocto-Gen3-CommonFAQ

Known issues and limitations

See also R-Car/Boards/Yocto-Gen3#Known_issues_and_limitations.