Version 17 (modified by admin, 2 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 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 Flash it to sdcard and boot. After first boot login as ubuntu/ubuntu (takes a while until you can do this), change password


  • ls /sys/class/net

on RP3 the wifi interface is the wlan0

  • sudo nano /etc/netplan/50-cloud-init.yaml
    # network: {config: disabled}
                dhcp4: true
                optional: true
        version: 2
                optional: true
                        password: "your-password"
                dhcp4: true

Remark: After SDDM is using NetworkManager I had to remove the wifis part otherwise wlan0 was unavailable


  • 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:

Add the repository


  • sudo fallocate -l 2G /swapfile
  • sudo chmod 600 /swapfile
  • sudo mkswap /swapfile
  • sudo swapon /swapfile
  • sudo nano /etc/fstab


/swapfile               none            swap    sw                              0 0


  • sudo mkdir /ramdisk
  • sudo nano /etc/fstab


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
  • cd mycroft-core
  • ./ -sm


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 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
  • cd plasma-nano
  • mkdir build
  • cd build
  • 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
  • cd mycroft-gui && mkdir build && cd build
  • make -j2
  • sudo make install


  • cd ~
  • git clone
  • cd mycroft-gui-mark-2 && mkdir build && cd build
  • make -j2
  • sudo make install

QML Lottie

  • cd ~
  • git clone
  • cd lottie-qml && mkdir build && cd build
  • make -j2
  • sudo make install


skipped and (done manually above)


  • 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/ /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
# audio on


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



the i could use:

  • sudo i2cset -y 1 0x4b 30

to make the volume

network manager

I wanted the wifi connection to be established before SDDM comes up so I changed the settings in the connection file

  • /etc/NetworkManager/system-connections/<ESSID>

remove the psk-flags=1 line and add

psk=<passphrase|psk generated by wpa_passphrase>

open issues

screen rotation

autostart mycroft-gui

Attachments (1)

Download all attachments as: .zip