== Mycroft Mark2 GUI using Ubuntu 20.04 server, Mycroft GUI standalone app == 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 The focus of this guide is to install the Mycroft GUI as a standalone app without KDE plasma nano. === Install Linux === Use the current Ubuntu server 20.04 using 64-bit architecture from https://ubuntu.com/download/raspberry-pi Follow the installation guide at https://ubuntu.com/tutorials/how-to-install-ubuntu-on-your-raspberry-pi#1-overview **including the initial Wifi setup** ==== 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 }}} * {{{ apt-get update }}} exit root by pressing Ctrl-D. ==== swap ==== This is optional but will be a good idea on RP3 * {{{ 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 }}} ==== Mycroft GUI ==== * {{{ sudo apt install -y git-core g++ cmake cmake-extras cmake-data extra-cmake-modules kio-dev gettext pkg-config pkg-kde-tools qtbase5-dev qtdeclarative5-dev libkf5notifications-data libkf5notifications-dev qml-module-qtquick2 qml-module-qtquick-controls2 qml-module-qtquick-controls qml-module-qtwebsockets qml-module-qt-websockets qml-module-qtquick-layouts build-essential libqt5webkit5 libqt5webkit5-dev libkf5i18n-data libkf5i18n-dev libkf5i18n5 qml-module-qtgraphicaleffects libqt5dbus5 libkf5dbusaddons-dev libdbus-1-dev libdbus-glib-1-dev libkf5kio-dev libqt5websockets5-dev libqt5webview5-dev }}} * {{{ 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 }}}