How to use Firefly Ubuntu minimal

Firefly-RK3399 The Ubuntu MINIMAL system is based on the Ubuntu 64bit system. Currently, Ubuntu 18.04 is released. Compared with Ubuntu Desktop, it has the following features:

  1. No desktop environment, less resources

  2. For embedded platforms, streamline system services.

  3. Adapt to QT, Docker, Electron and other development frameworks

  4. Provide a series of interfaces to operate onboard resource equipment

How to use Qt

firefly_arm64_qt5.12.2_18.04.tar.gz

Environment setup

$ cd firfly_arm64_qt5.12.2_18.04
$ cp -rfd host/opt/firefly_qt5.12.2_arm64_18.04/ext  /opt/firefly_qt5.12.2
$ cp target/qtEnv.sh /etc/profile.d/
$ cp target/qt.conf /etc/ld.so.conf.d
$ ldconfig
$ reboot

# Install base library
$ apt install -y \
    ¦ libmtdev1 \
    ¦ libinput10 \
    ¦ libxkbcommon0 \
    ¦ libdouble-conversion1 \
    ¦ libicu60 \
    ¦ libharfbuzz0b

Run demo

analogclock

cd firefly_arm64_qt5.12.2_18.04/demo/analogclock_demo
cat init_env.sh
#!/bin/bash
export QT_QPA_PLATFORM=LINUXFB  #set QT_QPA_PLATFORM to LINUXFB
export QT_QPA_FB_DRM=1

#Run analogclock:
source init_env.sh
./analogclock

openglwindow

cd firefly_arm64_qt5.12.2_18.04/demo/openglwindow_demo
cat init_env.sh
#!/bin/bash
export QT_QPA_PLATFORM=EGLFS    #set QT_QPA_PLATFORM to EGLFS
export QT_QPA_EGLFS_INTEGRATION=EGLFS_KMS #in minimal ubuntu, use eglfs_kms.
export QT_QPA_EGLFS_KMS_ATOMIC=1  #use drm atomic api or legacy api(two different)
export QT_QPA_EGLFS_HIDECURSOR=1  #hide cursor

#Run openglwindow:
source init_env.sh
./openglwindow