Version 13 (modified by 5 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 -v overlays/mycroft/etc/sddm.conf.d/* /etc/sddm.conf.d/
- 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
Attachments (1)
- mycroft_scripts_ovl.sh (932 bytes) - added by 5 years ago.
Download all attachments as: .zip