== 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 === Get https://ubuntu.com/download/raspberry-pi/thank-you?version=20.04&architecture=arm64+raspi (Ubuntu Server 20.04 for 64-bit arm - codename focal) 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 }}} ==== 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/swapfile add {{{ /swapfile none swap sw 0 0 }}} ==== ramdisk ==== * sudo mkdir /ramdisk * sudo nano /etc/swapfile 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 ==== mimic ==== skipped for now === 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 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 4 * sudo make install ==== Mycroft GUI ==== * sudo apt-get 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 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 missing: qtdeclarative5-qtquick2-plugin qtdeclarative5-models-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