Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Read First

This guide describes how to make Ubuntu rootfs to work on

SoC: All

Specification

Target Ubuntu OS Version: 20.04, 18.04

Target reference board:  RZ/G2L, RZ/G2LC, RZ/G2UL SMARC

Host PC Environment: Ubuntu20.04

Ubuntu Filesystem Building

Install QEMU

Run below command on Host Ubuntu PC

sudo apt-get install qemu-user-static

Download Required Files

Expand
titleSelect the package to download based on the desired file system
  • Download ubuntu-base-20.04.4-base-arm64

wget https://cdimage.ubuntu.com/ubuntu-base/releases/20.04/release/ubuntu-base-20.04.4-base-arm64.tar.gz

or

wget https://cdimage.ubuntu.com/ubuntu-base/releases/focal/release/ubuntu-base-20.04.4-base-arm64.tar.gz

  • Download ubuntu-base-18.04.5-base-arm64

wget http://cdimage.ubuntu.com/ubuntubase/releases/18.04.5/release/ubuntu-base-18.04.5-basearm64.tar.gz

evaluation board kit.

There are many steps to make the Ubuntu environment, but the following package includes shell scripts that make the process easy.

Notice

The Ubuntu environment created by using the scripts can be used only for evaluation purpose.

Ubuntu is a registered trademark of Canonical Ltd. Users need to follow Ubuntu IPR policy. For more information, please refer to Ubuntu "Intellectual property rights policy".

SoC: All

Specification

Target Ubuntu OS Version: 20.04, 18.04

Target reference board: RZ/G2L,/G2LC,/G2UL SMARC

Host PC Environment: Ubuntu20.04

Ubuntu Filesystem Building

Install QEMU

Run below command on Host Ubuntu PC

sudo apt-get install qemu-user-static

Download Required Files

Expand
titleSelect the package to download based on the desired file system


  • Download

Prepare Files

In the following example, please replace "version" as below name as you need

  • ubuntu-base-20.04.4-base-

arm64: 20.04.4
  • arm64

$ wget https://cdimage.ubuntu.com/ubuntu-base

-18

/releases/20.04

.5

/release/ubuntu-base-

arm64: 18

20.04.

5
Expand
titleInitial preparation

mkdir root

sudo tar -xpf ubuntu

4-base-

<version>-base-

arm64.tar.gz

-C root

sudo cp /usr/bin/qemu-aarch64-static ./root/usr/bin/

sudo cp -b /etc/resolv.conf root/etc/resolv.conf

or

$ wget https://cdimage.ubuntu.com/ubuntu-base/releases/focal/release/ubuntu-base-20.04.4-base-arm64.tar.gz

  • Download ubuntu-base-18.04.5-base-arm64

$ wget http://cdimage.ubuntu.com/ubuntubase/releases/18.04.5/release/ubuntu-base-18.04.5-basearm64.tar.gz


Prepare Files

In the following example, please replace "version" as below name as you need

ubuntu-base-20.04.4-base-arm64: 20.04.4

ubuntu-base-18.04.5-base-arm64: 18.04.5


Expand
titleInitial preparation

$ mkdir ~/work

$ cd ~/work

$ mkdir root

$ sudo tar -xpf ubuntu-base-<version>-base-arm64.tar.gz -C root

$ sudo cp /usr/bin/qemu-aarch64-static ./root/usr/bin/

$ sudo cp -b /etc/resolv.conf root/etc/resolv.conf

Expand
titleCreate a new script file

vim ch-mount.sh

#!/bin/bash
function mnt() {
echo "MOUNTING"
sudo mount -t proc /proc ${2}proc
sudo mount -t sysfs /sys ${2}sys
sudo mount -o bind /dev ${2}dev
sudo chroot ${2}
}
Expand
titleCreate a new script file

vim ch-mount.sh

#!/bin/bash
function mnt() {
echo "MOUNTING"
sudo mount -t proc /proc ${2}proc
sudo mount -t sysfs /sys ${2}sys
sudo mount -o bind /dev ${2}dev
sudo chroot ${2}
}
function umnt() {
echo "UNMOUNTING"
sudo umount ${2}proc
sudo umount ${2}sys
sudo umount ${2}dev
}
if [ "$1" == "-m" ] && [ -n "$2" ] ;
then
mnt $1 $2
elif [ "$1" == "-u" ] && [ -n "$2" ];
then
umnt $1 $2
else
echo ""
echo "Either 1'st, 2'nd or both parameters were missing"
echo ""
echo "1'st parameter can be one of these: -m(mount) OR -u(umount)"
echo "2'nd parameter is the full path of rootfs directory(with trailing
'/')"
echo ""
echo "For example: ch-mount -m /media/sdcard/"
echo ""
echo 1st parameter : ${1}
echo 2nd parameter : ${2}
fi

Configure Filesystem

Enter Filesystem

$ chmod +x ch-mount.sh

$ ./ch-mount.sh -m root/chmod

# chmod -R 777 /tmp

Install required software

# apt-get update
# apt-get install  language-pack-en-base sudo ssh net-tools network-manager ethtool ifupdown isc-dhcp-client openssh-server iputils-ping rsyslog bash-completion htop resolvconf dialog vim

Add users

Expand
titlePlesae replace the <name> with your user name
# useradd -s '/bin/bash' -m -G adm,sudo
<name>

passwd <name>

passwd root

chown -R
 <name>
# passwd <name>
# passwd root
# chown -R root:root /bin/su
# chmod u+s /bin/su


Configure UART

Expand
titlevim /etc/init.d/ttyS0.conf

start on stopped rc or RUNLEVEL=[12345]

stop on RUNLEVEL [!12345]

respawn exec /sbin/getty -L 115200 ttyLP0 vt102


Network setup

# echo "auto eth0" > /etc/network/interfaces.d/eth0
# echo "iface eth0 inet dhcp" >> /etc/network/interfaces.d/eth0
# echo "nameserver 8.8.8.8" >> /etc/resolv.conf
# echo "nameserver 8.8.4.4" >> /etc/resolv.conf

Exit FileSystem

exit

./ch-mount.sh -u root/

packaged FileSystem

sudo tar cjf rootfs.tar.bz2 root .

Deploy FileSystem to SD Card

Prepare a SD card with ext4 partition: SD Card Loading and Booting

extract ubuntu rootfs package to SD card

sudo tar -xvf rootfs.tar.gz -C /media/xxx/rootfs

Install Wayland, Wayland-Protocols and Weston

Environment Setup


Install Wayland, Wayland-Protocols and Weston

Environment Setup

Expand
titleinstall required packages
# apt-get install pkg-config
# apt install ninja-build cmake git python3-pip kmod
# apt install libffi-dev libxml2 libxml2-dev graphviz doxygen xsltproc xmlto xdot libxkbcommon-dev libpixman-1-dev libinput-dev
# apt-get install libcairo-dev glib-2.0 libpango1.0-dev libjpeg-dev libwebp-dev libegl-mesa0 libsystemd-dev libgles2-mesa libgles2-mesa-dev libpam0g-dev libgbm-dev freerdp2-dev liblcms2-dev libx11-xcb-dev libcolord-dev libxcb-xkb1
Expand
titleinstall required packages
  • sudo apt-get install pkg-config
  • sudo apt install ninja-build cmake git python3-pip kmod
  • sudo apt install libffi-dev libxml2 libxml2-dev graphviz doxygen xsltproc xmlto xdot libxkbcommon-dev libpixman-1-dev libinput-dev
sudo apt-get install libcairo-dev glib-2.0 libpango1.0-dev libjpeg-dev libwebp-dev libegl-mesa0 libsystemd-dev libgles2-mesa libgles2-mesa-dev libpam0g-dev libgbm-dev freerdp2-dev liblcms2-dev libx11-xcb-dev libcolord-dev libxcb-xkb1
libpipewire-0.2-dev libdbus-1-dev libxcb-xkb-dev libdrm-dev automake
sudo
# pip3 install --user meson -i https://pypi.mirrors.ustc.edu.cn/simple/
# apt install glmark2-es2-wayland
# apt install gstreamer1.0-libav gstreamer1.0-plugins-bad


Compile and install Wayland

Copy the Wayland 1.18.0 source code from VLP Yocto build folder to SD card.i.e. copy rootfs

As currently you are still in QEMU environment, you can open a new Terminal window to copy VLP source code to rootfs.

Run below command in new Terminal:

$ sudo cp ~YOUR_VLP_FOLDER/build/tmp/work/aarch64-poky-linux/wayland/1.18.0-r0/wayland-1.18.0/
to
  ~/work/root/home/xxx/vlp_deploy/


folder on SD card Run below command on Reference Board
Expand
Enter the
titleRun below command in QEMU Terminal
# cd /root/home/xxx/vlp_deploy/wayland-1.18.0

#
  • export WLD=/usr
export LD_LIBRARY_PATH=$WLD/lib/aarch64-linux-gnu
# export PKG_CONFIG_PATH=$WLD/lib/aarch64-linuxgnu/pkgconfig/:$WLD/share/pkgconfig/
# export PATH=$WLD/bin:$PATH
# sudo /root/.local/bin/meson build/ --prefix=$WLD
\
--libdir=$WLD/lib/aarch64-linux-gnu --sysconfdir=/etc
# sudo ninja -C build/
# sudo ninja -C build/ install

Compile and install Wayland-protocol

Copy the wayland-protocol1.20.0 source code from VLP Yocto build folder to SD card.i.e. copy rootfs

Run below command in new Terminal:

$ sudo cp ~YOUR_VLP_FOLDER/build/tmp/work/aarch64-poky-linux/wayland-protocols/1.20-r0/wayland-protocols-1.20/ ~/work/
to
root/home/xxx/vlp_deploy/

folder on SD card Run below command on Reference Board
Expand
Enter the wayland-
titleRun below command in QEMU Terminal
# cd /root/home/xxx/vlp_deploy/wayland-protocols-1.20

# ./configure -- prefix=$WLD libdir=$WLD/lib/aarch64-linux-gnu
sudo
# make install

Compile and install Weston

Copy the weston8.0.0 source code from VLP Yocto build folder to SD card.i.e. copy rootfs.

Run below command in new Terminal:

$ sudo cp ~YOUR_VLP_FOLDER/build/tmp/work/aarch64-poky-linux/weston/8.0.0-r0/weston-8.0.0/
to
 ~/
home
work/root/home/xxx/vlp_deploy/

folder on SD card Run below command on Reference Board
Expand
Enter the
titleRun below command in QEMU Terminal
# cd /root/home/xxx/vlp_deploy/weston-8.0.0

# sudo /root/.local/bin/meson build/ --prefix=$WLD --libdir=$WLD/lib/aarch64-linux-gnu --sysconfdir=/etc -Dbackend-drm-screencast-vaapi=false -Dxwayland=false -Dcolor-management-colord=false -Dremoting=false


If the configuration is correct, it will display below messages

User defined options
    libdir : /usr/lib/aarch64-linux-gnu
    prefix : /usr
    sysconfdir : /etc
    backend-drm-screencast-vaapi : false
    color-management-colord : false
    remoting : false
    xwayland : false
Expand
titleCompile and install
sudo
# ninja -C build/
 
 
sudo
# ninja -C build/ install
 
 

Port GPU Libraries

Please refer to the StartupGuide.txt document in meta-rz-features/recipes-graphics/mali/files/mali_pkg_eval_vx.x.tar.gz

Migrate GPU drivers

Copy the driver mali_kbase.ko from VLP Yocto build folder to SD card.i.e. copy rootfs.

Run below command in new Terminal:

$ cp ~YOUR_VLP_FOLDER/build/tmp/work/smarc_rzg2l-poky-linux/kernel-module-mali/rxx-p0/image/lib/modules/5.10.xx-cip1-yocto-standard/extra/mali_kbase.ko
to
 ~/work/root/home/xxx/vlp_deploy/modules

Migrate GPU Libraries

Copy the library files to SD card.i.e. copy rootfs.

Run below command in new Terminal:

$ cp ~YOUR_VLP_FOLDER/meta-rz-features/meta-rz-graphics/recipes-graphics/mali/files/mali_um_eval_vx.x.x.tar.gz
to
 ~/work/root/home/xxx/vlp_deploy/
Expandinstall library to reference board
Expand
titleinstall library to reference boardRun below command in QEMU Terminal
# cd /home/xxx/vlp_deploy/
# tar -xf mali_
tar -xf mali_
um_eval_vx.x.x.tar.gz
sudo
# cp -r mali_um/usr/lib/* /usr/lib/aarch64-linux-gnu/
sudo
# cp -r /usr/lib/aarch64-linux-gnu/CL_GLES/mali_wayland/
 /usr/lib/aarch64-linux-gnu/
# ln -fs /usr/lib/aarch64-linux-gnu/mali_wayland/libmali.so /usr/lib/aarch64-linux-gnu/libmali.so

Testing

Install testing tool

sudo apt install glmark2-es2-wayland

Start Weston desktop

Only root user can launch weston service, please switch to root user in advance

insmod mali_kbase.ko
export XDG_RUNTIME_DIR=/usr/lib/
export RUNLEVEL=3
weston --tty 1 &

Run glmark2 test

glmark2-es2-wayland --fullscreen

Image Removedglmark2 version

Image Removedglmark2 result

Image Removed

Port codec Librasries

In this section, we will copy codec related files from original VLP Yocto build.

i.e. core-image-qt-smarc-rzg2l.tar.bz2 or core-image-weston-smarc-rzg2l.tar.bz2

Pleaes copy this .bz2 file to Ubuntu SD card and run below instruction on reference board

unzip core-image-qt-smarc-rzg2l.tar.bz2 or core-image-weston-smarc-rzg2l.tar.bz2 to folder "yocto"

copy codec drivers
  • cd ./yocto
  • mkdir /root/modules
  • cp lib/modules/5.10.83-cip1-yocto-standard/extra/* /home/xxx/vlp_deploy/modules

Port codec Librasries

In this section, we will copy codec related files from original VLP Yocto build.

Run below command in new Terminal:

copy codec drivers
$ sudo cp ~YOUR_VLP_FOLDER/build/tmp/work/smarc_rzg2l-poky-linux/core-image-qt/1.0-r0/rootfs/lib/modules/5.10.201-cip41-yocto-standard/extra/* \
~/work/root/home/xxx/vlp_deploy/modules
copy gstreamer related lib
$ sudo cp -rd ~YOUR_VLP_FOLDER/build/tmp/work/smarc_rzg2l-poky-linux/core-image-qt/1.0-r0/rootfs/usr/bin/gst-* ~/work/root/usr/bin/
$ sudo cp -rd ~YOUR_VLP_FOLDER/build/tmp/work/smarc_rzg2l-poky-linux/core-image-qt/1.0-r0/rootfs/usr/lib64/libgst* ~/work/root/usr/lib/aarch64-linux-gnu/
$ sudo cp -rd ~YOUR_VLP_FOLDER/build/tmp/work/smarc_rzg2l-poky-linux/core-image-qt/1.0-r0/rootfs/usr/lib64/gstreamer-1.0/ ~/work/root/usr/lib/aarch64-linux-gnu/
$ sudo cp -rd ~YOUR_VLP_FOLDER/build/tmp/work/smarc_rzg2l-poky-linux/core-image-qt/1.0-r0/rootfs/usr/lib64/girepository-1.0/ ~/work/root
copy gstreamer related lib
  • cp -rd usr/bin/gst-* /usr/bin/
cp -rd usr/lib64/libgst*
/usr/lib/aarch64-linux-gnu/
$ sudo cp -rd
usr/lib64/gstreamer-
 ~YOUR_VLP_FOLDER/build/tmp/work/smarc_rzg2l-poky-linux/core-image-qt/1.0-r0/rootfs/usr/lib64/libmmngr* ~/work/root/usr/lib/aarch64-linux-gnu/
cp
$ sudo cp -rd
usr/lib64/girepository-1.0/ /usr/lib/aarch64-linux-gnu/cp -rd usr/lib64/libmmngr*
 ~YOUR_VLP_FOLDER/build/tmp/work/smarc_rzg2l-poky-linux/core-image-qt/1.0-r0/rootfs/usr/lib64/libvspm.so.1* ~/work/root/usr/lib/aarch64-linux-gnu/
$ sudo cp -rd
usr/lib64/libvspm.so.1* /usr/lib/aarch64-linux-gnu/cp -rd
 ~YOUR_VLP_FOLDER/build/tmp/work/smarc_rzg2l-poky-linux/core-image-qt/1.0-r0/rootfs/usr/libexec/gstreamer-1.0/ ~/work/root/usr/lib/aarch64-linux-gnu/
$ sudo cp -rd
usr/share/gstreamer-1.0/ /usr/share/cp -rd
 ~YOUR_VLP_FOLDER/build/tmp/work/smarc_rzg2l-poky-linux/core-image-qt/1.0-r0/rootfs/usr/share/
gst-plugins-base/
gstreamer-1.0/ ~/work/root/usr/share/
$ sudo cp -rd
usr/share/locale/en_GB/LC_MESSAGES/gst* /usr/share/locale/en_GB/LC_MESSAGES/
  • cp -rd usr/lib64/libomxr_* /usr/lib/aarch64-linux-gnu/
  • cp -rd usr/lib64/libuvcs_* /usr/lib/aarch64-linux-gnu/
  • mkdir /lib64
  • cp -rd /lib64/ld-* /lib64/
  • cp etc/xdg/gstomx.conf /etc/xdg/
  • cp etc/gstpbfilter.conf /etc/
  • cp -r etc/omxr/ /etc/
modify omx plugin configurationvi /etc/xdg/gstomx.conf

replace "lib64" as "lib/aarch64-linux-gnu"

[omxh264dec] type-name=GstOMXH264Dec core-name=
 ~YOUR_VLP_FOLDER/build/tmp/work/smarc_rzg2l-poky-linux/core-image-qt/1.0-r0/rootfs/usr/share/gst-plugins-base/ ~/work/root/usr/share/
$ sudo cp -rd ~YOUR_VLP_FOLDER/build/tmp/work/smarc_rzg2l-poky-linux/core-image-qt/1.0-r0/rootfs/usr/share/locale/en_GB/LC_MESSAGES/gst* ~/work/root/usr/share/locale/en_GB/LC_MESSAGES/
$ sudo cp -rd ~YOUR_VLP_FOLDER/build/tmp/work/smarc_rzg2l-poky-linux/core-image-qt/1.0-r0/rootfs/usr/lib64/libomxr_* ~/work/root/usr/lib/aarch64-linux-gnu/
libomxr_core.so component-name=OMX.RENESAS.VIDEO.DECODER.H264 ····· [omxh264enc] type-name=GstOMXH264Enc core-name=

$ sudo cp -rd ~YOUR_VLP_FOLDER/build/tmp/work/smarc_rzg2l-poky-linux/core-image-qt/1.0-r0/rootfs/usr/lib64/libuvcs_* ~/work/root/usr/lib/aarch64-linux-gnu/
libomxr_core.so component-name=OMX.RENESAS.VIDEO.ENCODER.H264 ····
install gstreamer dependency
apt install gstreamer1.0-libav gstreamer1.0-plugins-bad

Test gstreamer

login as root and insmod drivers
insmod /home/xxx/vlp_deploy/modules/mali_kbase.ko

insmod /home/xxx/vlp_deploy/modules/mmngr.ko

insmod /home/xxx/vlp_deploy/modules/mmngrbuf.ko

insmod /home/xxx/vlp_deploy/modules/uvcs_drv.ko

insmod /home/xxx/vlp_deploy/modules/vspm.ko

insmod /home/xxx/vlp_deploy/modules/vspm_if.ko

Specify gstreamer location
export GST_PLUGIN_SCANNER=/usr/lib/aarch64-linux-gnu/gstreamer-1.0/gst-plugin-scanner

export GST_PLUGIN_PATH=/usr/lib/aarch64-linux-gnu/gstreamer-1.0

Launch weston
weston –tty 1 &

$ sudo mkdir ~/work/root/lib64
$ sudo cp -rd ~YOUR_VLP_FOLDER/build/tmp/work/smarc_rzg2l-poky-linux/core-image-qt/1.0-r0/rootfs/lib64/ld-* ~/work/root/lib64/
$ sudo cp ~YOUR_VLP_FOLDER/build/tmp/work/smarc_rzg2l-poky-linux/core-image-qt/1.0-r0/rootfs/etc/xdg/gstomx.conf ~/work/root/etc/xdg/
$ sudo cp ~YOUR_VLP_FOLDER/build/tmp/work/smarc_rzg2l-poky-linux/core-image-qt/1.0-r0/rootfs/etc/gstpbfilter.conf ~/work/root/etc/
$ sudo cp -r ~YOUR_VLP_FOLDER/build/tmp/work/smarc_rzg2l-poky-linux/core-image-qt/1.0-r0/rootfs/etc/omxr/ ~/work/root/etc/
modify omx plugin configuration
sudo vi ~/work/root/etc/xdg/gstomx.conf

replace "lib64" as "lib/aarch64-linux-gnu"

[omxh264dec]
type-name=GstOMXH264Dec
core-name=/usr/lib/aarch64-linux-gnu/libomxr_core.so
component-name=OMX.RENESAS.VIDEO.DECODER.H264
·····
[omxh264enc]
type-name=GstOMXH264Enc
core-name=/usr/lib/aarch64-linux-gnu/libomxr_core.so
component-name=OMX.RENESAS.VIDEO.ENCODER.H264
···· 
Play Video
  • Play video only:

gst-launch-1.0 filesrc location=/root/video/sintel_trailer-720p.mp4 ! qtdemux ! queue ! h264parse ! omxh264dec ! waylandsink

  • Play video & audio
gst-launch-1.0 filesrc location=/root/video/sintel_trailer-720p.mp4 ! qtdemux name=d d. ! queue ! h264parse ! omxh264dec ! waylandsink d. ! queue ! faad ! alsasink device=plughw:0,0


Port Qt

You can port Qt by following 3 methods

  • Port from VLP
  • Compile & Install Qt from source
  • Install Qt by apt-get

Port from VLP

In this section, we will copy Qt5.6.3 related files from original VLP Yocto build.

i.e. core-image-qt-smarc-rzg2l.tar.bz2

Pleaes copy this .bz2 file to Ubuntu SD card and run below instruction on reference board

unzip core-image-qt-smarc-rzg2l.tar.bz2 to folder "yocto"

Run below command in new Terminal:

(For other version of Qt, you can modify Yocto meta-qt5\recipes-qt\qt5, please inqury Qt company for higher version QT integration)

Port
Copy Qt lib
cd yoctocp -rd
$ sudo cp -rd ~YOUR_VLP_FOLDER/build/tmp/work/smarc_rzg2l-poky-linux/core-image-qt/1.0-r0/rootfs/usr/share/qt5 ~/work/root/usr/share/

$ sudo cp -rd usr/lib64/qt5 /usr/lib/aarch64-linux-gnu/

$ sudo cp -rd usr/lib64/libQt* /usr/lib/aarch64-linux-gnu/

$ sudo cp -rd usr/lib64/pkgconfig/Qt* /usr/lib/aarch64-linuxgnu/pkgconfig/

export QT_QPA_PLATFORM=wayland

export QT_PLUGIN_PATH=/usr/lib/aarch64-linux-gnu/qt5/plugins/

Start Weston Start Weston desktop

Then run the Qt example in /usr/share/qt5/examples




Compile from

Compile from source

You can download qt5 source to reference board and compile on board.

Or cross compile qt5 on PC

Or compile qt5 in PC QEMU

Here we compile qt5 on board

Collapsecompile qt5
download qt5 source code by git (ignore)

mkdir qt5-build cd qt5-build make make install (rsync to SD)

We suggest to compile the qt5 with scrips

Notes: About the flags parameter in configure of Qt5. -qpa should be set as wayland or wayland-egl. We didn't support xcomposite-egl option

Install Qt by apt-get

apt-get install qt5-default qtwayland5

make make install (rsync to SD)


We suggest to compile the qt5 with scrips

Notes: About the flags parameter in configure of Qt5. -qpa should be set as wayland or wayland-egl. We didn't support xcomposite-egl option

Install Qt by apt-get

apt-get install qt5-default qtwayland5

Notes: The above installation commands can only run part of Qt functions. If you need more functions, you need to continue installing Qt related packages.


Exit FileSystem

exit

./ch-mount.sh -u root/

packaged FileSystem

sudo tar cjf rootfs.tar.bz2 root .

Deploy FileSystem to SD Card

Prepare a SD card with ext4 partition: SD Card Loading and Booting

extract ubuntu rootfs package to SD card

sudo tar -xvf rootfs.tar.gz -C /media/xxx/rootfs

Testing on Board

Weston & openGLES

Only root user can launch weston service, please switch to root user in advance

Please connect a USB mouse before starting weston

insmod mali_kbase.ko
export XDG_RUNTIME_DIR=/usr/lib/
export RUNLEVEL=3
weston --tty 1 &

Run glmark2 test

glmark2-es2-wayland --fullscreen

Image Addedglmark2 version

Image Addedglmark2 result

Image Added

gstreamer

login as root and insmod drivers
insmod /home/xxx/vlp_deploy/modules/mali_kbase.ko

insmod /home/xxx/vlp_deploy/modules/mmngr.ko

insmod /home/xxx/vlp_deploy/modules/mmngrbuf.ko

insmod /home/xxx/vlp_deploy/modules/uvcs_drv.ko

insmod /home/xxx/vlp_deploy/modules/vspm.ko

insmod /home/xxx/vlp_deploy/modules/vspm_if.ko


Specify gstreamer location
export GST_PLUGIN_SCANNER=/usr/lib/aarch64-linux-gnu/gstreamer-1.0/gst-plugin-scanner

export GST_PLUGIN_PATH=/usr/lib/aarch64-linux-gnu/gstreamer-1.0


Launch weston
weston –tty 1 &


Play Video
  • Play video only:

gst-launch-1.0 filesrc location=/root/video/sintel_trailer-720p.mp4 ! qtdemux ! queue ! h264parse ! omxh264dec ! waylandsink

  • Play video & audio

gst-launch-1.0 filesrc location=/root/video/sintel_trailer-720p.mp4 ! qtdemux name=d d. ! queue ! h264parse ! omxh264dec ! waylandsink d. ! queue ! faad ! alsasink device=plughw:0,0


Qt Demo

Start Weston Start Weston desktop

export QT_QPA_PLATFORM=wayland
export QT_PLUGIN_PATH=/usr/lib/aarch64-linux-gnu/qt5/plugins/

Then run the Qt example in /usr/share/qt5/examplesNotes: The above installation commands can only run part of Qt functions. If you need more functions, you need to continue installing Qt related packages.

Qt APPs development and testing

This section introduce how to develop Qt application on PC.

SDK build and installation

bitbake core-image-qt -c populate_sdk

The generated installation file is located at:

build/tmp/deploy/sdk/poky-glibc-x86_64-core-image-qtaarch64-smarc-rzg2l-toolchain-3.1.14.sh

Install this SDK to PC, default folder is /opt/poky/3.1.14

setup SDK runtime environment

source /opt/poky/3.1.14/environment-setup-aarch64-poky-linux 

QT creator configuration

Add Device

Add new Kit

Add Qt version

Add compiler

Add debuggers

Select kit to build Qt project

example to run qt calculator project


Table of Contents