| Version 15 (modified by , 6 years ago) (diff) | 
|---|
Mycroft Mark2 GUI using system QT5 and KDE framework
This is based on the very helpful build log of user AIIX that he published on https://github.com/AIIX/Documentation/blob/master/Custom-RPI4-MycroftImage.md He is doing this on Rasbperry 4 while the target here is Raspberry 3B but also on 64-bit.
Install Linux
I tried to do this on Ubuntu 20.04 but failed to bring the SDDM up so I switched back to 18.04 https://github.com/TheRemote/Ubuntu-Server-raspi4-unofficial/releases/download/v28/ubuntu-18.04.4-preinstalled-server-arm64+raspi4.img.xz Flash it to sdcard and boot. After first boot login as ubuntu/ubuntu (takes a while until you can do this), change password
Wifi
- ls /sys/class/net
 
on RP3 the wifi interface is the wlan0
- sudo nano /etc/netplan/50-cloud-init.yaml
# network: {config: disabled} network: ethernets: eth0: dhcp4: true optional: true version: 2 wifis: wlan0: optional: true access-points: "ESSID-of-the-Accesspoint": password: "your-password" dhcp4: true 
Remark: After SDDM is using NetworkManager I had to remove the wifis part otherwise wlan0 was unavailable
user
- sudo useradd mycroft -g users -G sudo -m -s /bin/bash
 - sudo passwd mycroft
 - sudo nano /etc/group
 
(add mycroft to all groups like ubuntu)
From now on work as user mycroft
update / initial apt setup
- sudo apt-get update && sudo apt-get dist-upgrade -y
 - sudo apt install git gnupg wget curl apt-transport-https software-properties-common
 
Do the next steps as root:
- sudo su -
 
Add KDE Neon gpg key:
- wget -qO - 'http://archive.neon.kde.org/public.key' | sudo apt-key add -
 
Add the repository
- echo "deb https://archive.neon.kde.org/unstable focal main" > /etc/apt/sources.list.d/neon.list
 - sudo apt-get update
 
swap
- sudo fallocate -l 2G /swapfile
 - sudo chmod 600 /swapfile
 - sudo mkswap /swapfile
 - sudo swapon /swapfile
 - sudo nano /etc/fstab
 
add
/swapfile none swap sw 0 0
ramdisk
- sudo mkdir /ramdisk
 - sudo nano /etc/fstab
 
add
tmpfs /ramdisk tmpfs rw,nodev,nosuid,size=20M 0 0
mycroft core
- sudo apt-get install git python3 python3-dev python3-setuptools libtool libffi-dev libssl-dev autoconf automake bison swig libglib2.0-dev portaudio19-dev mpg123 screen flac curl libicu-dev pkg-config libjpeg-dev libfann-dev build-essential jq
 - cd ~
 - git clone https://github.com/MycroftAI/mycroft-core
 - cd mycroft-core
 - ./dev_setup.sh -sm
 
mimic
skipped for now
- wget http://frozenmazegames.se/mimic-arm64_1.2.0.2+1559651054-1.deb
 - sudo dpkg -i mimic-arm64_1.2.0.2+1559651054-1.deb
 
Plasma Nano
Install the system Libraries
I will try to come up with a completer list later but I think most of it should be in the dependencies of the following
- sudo apt install sddm kwin-wayland kwin-x11 openssh-server ftp i2c-tools konsole nano plasma-workspace-wayland plasma-workspace plasma-pa plasma-widgets-addons libkf5wallet-bin gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-libav gstreamer1.0-fluendo-mp3 qml-module-qtmultimedia network-manager plasma-nm konsole plasma-workspace-dev
 
I was not asked for the login manager so I set it manually:
- sudo dpkg-reconfigure sddm
 
build plasma-nano
- sudo apt install cmake kwayland-dev
 - cd ~
 - git clone https://github.com/KDE/plasma-nano
 - cd plasma-nano
 - mkdir build
 - cd build
 - cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DKDE_INSTALL_LIBDIR=lib -DKDE_INSTALL_USE_QT_SYS_PATHS=ON
 - make -j 2
 - sudo make install
 
Mycroft GUI
- sudo apt install -y git-core g++ cmake extra-cmake-modules kio-dev gettext pkg-config pkg-kde-tools qtbase5-dev qtdeclarative5-dev kio-dev libkf5notifications-data libkf5notifications-dev qml-module-qtquick2 qml-module-qtquick-controls2 qml-module-qtquick-controls qml-module-qtwebsockets qml-module-qt-websockets qtdeclarative5-qtquick2-plugin qtdeclarative5-models-plugin cmake cmake-extras cmake-data qml-module-qtquick-layouts libkf5plasma-dev extra-cmake-modules qtdeclarative5-dev build-essential g++ gettext libqt5webkit5 libqt5webkit5-dev libkf5i18n-data libkf5i18n-dev libkf5i18n5 qml-module-qtgraphicaleffects libqt5dbus5 libkf5dbusaddons-dev libdbus-1-dev libdbus-glib-1-dev kio-dev libkf5kio-dev libqt5websockets5-dev libqt5webview5-dev qml-module-qtquick-virtualkeyboard libqt5virtualkeyboard5-dev qtvirtualkeyboard-plugin
 - cd ~
 - git clone https://github.com/MycroftAI/mycroft-gui/
 - cd mycroft-gui && mkdir build && cd build
 - cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DKDE_INSTALL_LIBDIR=lib -DKDE_INSTALL_USE_QT_SYS_PATHS=ON
 - make -j2
 - sudo make install
 
Mycroft-GUI-Mark-2
- cd ~
 - git clone https://github.com/MycroftAi/mycroft-gui-mark-2
 - cd mycroft-gui-mark-2 && mkdir build && cd build
 - cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DKDE_INSTALL_LIBDIR=lib -DKDE_INSTALL_USE_QT_SYS_PATHS=ON
 - make -j2
 - sudo make install
 
QML Lottie
- cd ~
 - git clone https://github.com/kbroulik/lottie-qml
 - cd lottie-qml && mkdir build && cd build
 - cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DKDE_INSTALL_LIBDIR=lib -DKDE_INSTALL_USE_QT_SYS_PATHS=ON
 - make -j2
 - sudo make install
 
Scripts/Overlays
skipped 93-create_ramdisk.sh and 94-create_swap.sh (done manually above)
- cd ~
 - git clone https://github.com/MycroftAI/mycroft-devices
 - cd mycroft-devices
 - cd scripts
 - chmod a+X 03-setup_locale.sh
 - sudo ./03-setup_locale.sh
 
Overlays:
- cd ..
 - sudo cp overlays/base-embedded/etc/xdg/* /etc/xdg/
 - sudo cp overlays/mark2/etc/xdg/* /etc/xdg/
 - sudo cp -r -v overlays/mycroft/etc/* /etc
 - sudo cp -r -v overlays/base-embedded/etc/skel/.local /etc/skel/
 - sudo cp -r -v overlays/mycroft/etc/sddm.conf.d /etc/
 - sudo cp -v overlays/base-embedded/etc/profile.d/renderloop.sh /etc/profile.d/
 - sudo cp -r -v overlays/mycroft/etc/polkit-1/localauthority/50-local.d /etc/polkit-1/localauthority/
 - sudo cp -v overlays/base-embedded/etc/netplan/config.yaml /etc/netplan/
 - sudo cp -r -v overlays/mycroft/etc/mycroft/* /etc/mycroft/
 
pi config.txt
# i2c on dtparam=i2c_arm=on # audio on dtparam=audio=on [all] max_framebuffers=2 dtoverlay=vc4-kms-v3d arm_64bit=1
enable i2c_dev
I did not have an /dev/i2c* device after booting only if I manually loaded i2c_dev so I did
- sudo nano /etc/modules
 
add
i2c_dev
the i could use:
- sudo i2cset -y 1 0x4b 30
 
to make the volume
Attachments (1)
- mycroft_scripts_ovl.sh (932 bytes) - added by 5 years ago.
 
Download all attachments as: .zip