MycroftOS: GUI: More work, ready for testing.

- No full graphical stack, only the desktop GUI
This commit is contained in:
j1nx 2020-05-14 09:16:03 +02:00
parent 55e6e70049
commit 57efe9e836
14 changed files with 100 additions and 54 deletions

View File

@ -46,6 +46,7 @@ menu "KF5"
source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/kf5-solid/Config.in"
source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/kf5-sonnet/Config.in"
endmenu
source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/lottie-qml/Config.in"
source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/respeaker/Config.in"
source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/snapcast/Config.in"
source "$BR2_EXTERNAL_MYCROFTOS_PATH/package/spotifyd/Config.in"

View File

@ -60,7 +60,7 @@ BR2_PACKAGE_ALSA_UTILS_ASEQNET=y
BR2_PACKAGE_ALSA_UTILS_BAT=y
BR2_PACKAGE_ALSA_UTILS_IECSET=y
BR2_PACKAGE_ALSA_UTILS_SPEAKER_TEST=y
BR2_PACKAGE_FFMPEG=y
BR2_PACKAGE_ESPEAK=y
BR2_PACKAGE_FFMPEG_GPL=y
BR2_PACKAGE_FFMPEG_NONFREE=y
BR2_PACKAGE_FFMPEG_FFPLAY=y
@ -69,9 +69,10 @@ BR2_PACKAGE_FFMPEG_AVRESAMPLE=y
BR2_PACKAGE_FFMPEG_POSTPROC=y
BR2_PACKAGE_MIMIC=y
BR2_PACKAGE_MIMIC_AUDIO_BACKEND_PULSEAUDIO=y
BR2_PACKAGE_MPG123=y
BR2_PACKAGE_PULSEAUDIO=y
BR2_PACKAGE_PULSEAUDIO_DAEMON=y
BR2_PACKAGE_SQUEEZELITE=y
BR2_PACKAGE_VLC=y
BR2_PACKAGE_GZIP=y
BR2_PACKAGE_LZ4=y
BR2_PACKAGE_LZIP=y
@ -108,32 +109,28 @@ BR2_PACKAGE_MESA3D=y
BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_V3D=y
BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VC4=y
BR2_PACKAGE_MESA3D_OPENGL_ES=y
BR2_PACKAGE_SDL2_KMSDRM=y
BR2_PACKAGE_SDL2_OPENGLES=y
BR2_PACKAGE_QT5=y
BR2_PACKAGE_QT53D=y
BR2_PACKAGE_QT5BASE_CONCURRENT=y
BR2_PACKAGE_QT5BASE_SQLITE_QT=y
BR2_PACKAGE_QT5BASE_LINUXFB=y
BR2_PACKAGE_QT5BASE_EGLFS=y
BR2_PACKAGE_QT5BASE_DEFAULT_QPA="eglfs"
BR2_PACKAGE_QT5BASE_FONTCONFIG=y
BR2_PACKAGE_QT5BASE_HARFBUZZ=y
BR2_PACKAGE_QT5BASE_GIF=y
BR2_PACKAGE_QT5BASE_JPEG=y
BR2_PACKAGE_QT5BASE_PNG=y
BR2_PACKAGE_QT5BASE_DBUS=y
BR2_PACKAGE_QT5BASE_ICU=y
BR2_PACKAGE_QT5BASE_TSLIB=y
BR2_PACKAGE_QT5GRAPHICALEFFECTS=y
BR2_PACKAGE_QT5IMAGEFORMATS=y
BR2_PACKAGE_QT5MULTIMEDIA=y
BR2_PACKAGE_QT5QUICKCONTROLS2=y
BR2_PACKAGE_QT5SCRIPT=y
BR2_PACKAGE_QT5VIRTUALKEYBOARD=y
BR2_PACKAGE_QT5VIRTUALKEYBOARD_LANGUAGE_LAYOUTS="en_US"
BR2_PACKAGE_QT5VIRTUALKEYBOARD_ARROW_KEY_NAVIGATION=y
BR2_PACKAGE_QT5WAYLAND=y
BR2_PACKAGE_QT5WEBENGINE=y
BR2_PACKAGE_QT5WEBENGINE_PROPRIETARY_CODECS=y
BR2_PACKAGE_QT5WEBVIEW=y
BR2_PACKAGE_KF5=y
BR2_PACKAGE_KF5_KCOREADDONS=y
BR2_PACKAGE_LINUX_FIRMWARE=y
@ -390,6 +387,7 @@ BR2_PACKAGE_HOST_PYTHON3_SSL=y
BR2_PACKAGE_FIRSTBOOT_SERVICE=y
BR2_PACKAGE_PREPARE_SYSTEM_SERVICE=y
BR2_PACKAGE_PYTHON_MYCROFT=y
BR2_PACKAGE_MYCROFT_GUI=y
BR2_PACKAGE_MYCROFT_SERVICE=y
BR2_PACKAGE_MYCROFT_SPLASH=y
BR2_PACKAGE_WIFI_AP=y
@ -406,10 +404,9 @@ BR2_PACKAGE_KF5_KDECLARATIVE=y
BR2_PACKAGE_KF5_KIRIGAMI2=y
BR2_PACKAGE_KF5_KNOTIFICATIONS=y
BR2_PACKAGE_KF5_KPACKAGE=y
BR2_PACKAGE_KF5_KWAYLAND=y
BR2_PACKAGE_KF5_PHONON=y
BR2_PACKAGE_KF5_PLASMA_FRAMEWORK=y
BR2_PACKAGE_KF5_PLASMA_NANO=y
BR2_PACKAGE_LOTTIE_QML=y
BR2_PACKAGE_RESPEAKER=y
BR2_PACKAGE_SNAPCAST=y
BR2_PACKAGE_SNAPCAST_SERVER=y

View File

@ -17,7 +17,7 @@ KF5_KPACKAGE_SUPPORTS_IN_SOURCE_BUILD = NO
$(eval $(cmake-package))
HOST_KF5_KPACKAGE_DEPENDENCIES = host-kf5-extra-cmake-modules host-kf5-karchive \
host-kf5-ki18n
host-kf5-ki18n host-kf5-kcoreaddons
HOST_KF5_KPACKAGE_CXXFLAGS = $(HOST_CXXFLAGS)
HOST_KF5_KPACKAGE_CONF_OPTS = -DCMAKE_CXX_FLAGS="$(HOST_KF5_KPACKAGE_CXXFLAGS)"

View File

@ -11,7 +11,7 @@ KF5_PHONON_LICENSE = BSD-3-Clause
KF5_PHONON_LICENSE_FILES = COPYING-CMAKE-SCRIPTS
KF5_PHONON_DEPENDENCIES = host-pkgconf
KF5_PHONON_SOLID_INSTALL_STAGING = YES
KF5_PHONON_SOLID_SUPPORTS_IN_SOURCE_BUILD = NO
KF5_PHONON_INSTALL_STAGING = YES
KF5_PHONON_SUPPORTS_IN_SOURCE_BUILD = NO
$(eval $(cmake-package))

View File

@ -0,0 +1,9 @@
config BR2_PACKAGE_LOTTIE_QML
bool "lottie-qml"
help
This provides a QML Item to render Adobe® After Effects™
animations exported as JSON with Bodymovin using the Lottie
Web library.
https://github.com/kbroulik/lottie-qml

View File

@ -0,0 +1,2 @@
# Locally computed
sha256 16188c05dc9c5a3c7fae4836879fa3003a58ddbc073ef2ada5a9c95a0188a9f0 lottie-qml-26335df22cfbb23cd238394792f05b94318c24c9.tar.gz

View File

@ -0,0 +1,15 @@
################################################################################
#
# lottie-qml
#
################################################################################
LOTTIE_QML_VERSION = 26335df22cfbb23cd238394792f05b94318c24c9
LOTTIE_QML_SITE = $(call github,kbroulik,lottie-qml,$(LOTTIE_QML_VERSION))
LOTTIE_QML_LICENSE = Apache License 2.0
LOTTIE_QML_INSTALL_STAGING = YES
LOTTIE_QML_DEPENDENCIES = host-pkgconf
LOTTIE_QML_SUPPORTS_IN_SOURCE_BUILD = NO
$(eval $(cmake-package))

View File

@ -1,25 +0,0 @@
From e661fab33f82017d2b0577889ea1de58e7023c40 Mon Sep 17 00:00:00 2001
From: Peter Steenbergen <info@j1nx.nl>
Date: Thu, 23 Apr 2020 12:25:35 +0200
Subject: [PATCH 1/1] Patching for Buildroot
---
CMakeLists.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 3ce963e..2532291 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -26,7 +26,7 @@ find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS
Qml
)
-find_package(LibKWorkspace 5.14.90 CONFIG REQUIRED)
+#find_package(LibKWorkspace 5.14.90 CONFIG REQUIRED)
find_package(KF5 ${KF5_MIN_VERSION} REQUIRED COMPONENTS I18n Plasma Package)
--
2.26.1

View File

@ -0,0 +1,28 @@
From 2588d1e6167212f1271d1796a8ea2cea41df1fa2 Mon Sep 17 00:00:00 2001
From: j1nx <p.steenbergen@j1nx.nl>
Date: Thu, 14 May 2020 08:19:15 +0200
Subject: [PATCH 1/1] Remove Plasma requirements - we are not going to use the
network setup of the GUI and it requires way to much overhead, such as
wayland and Desktop stack. We are just going to run QT straight onto the
framebuffer and use system tools and enclosure code to handle the hardware
configuration things.
---
CMakeLists.txt | 1 -
1 file changed, 1 deletion(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 78bfae8..998e239 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -61,7 +61,6 @@ find_package(KF5 ${KF5_MIN_VERSION} REQUIRED COMPONENTS I18n)
if(NOT CMAKE_SYSTEM_NAME STREQUAL "Android")
find_package(Qt5Widgets ${QT_MIN_VERSION} REQUIRED)
- find_package(KF5Plasma ${KF5_MIN_VERSION} REQUIRED)
find_package(KF5DBusAddons ${KF5_MIN_VERSION} REQUIRED)
find_package(KF5KIO ${KF5_MIN_VERSION} REQUIRED) # FIXME look for "KIOWidgets" (KRun) explicitly
endif()
--
2.20.1

View File

@ -1,14 +1,7 @@
config BR2_PACKAGE_MYCROFT_GUI
bool "mycroft-gui"
help
This file contains the Plasma Shell components
specific for the Mark 2 device.
The KDE-based visual interface for working with Mycroft.
The "mark2" containment, which instantiates the
mark2 screen (fullscreen skills, top sliding panel,
virtual keyboard) and the "look and feel package"
which defines to use the mark2 containment, a
splash screen and a system color scheme..
https://github.com/MycroftAI/mycroft-gui-mark-2
https://github.com/MycroftAI/mycroft-gui

View File

@ -1,2 +1,2 @@
# Locally computed
sha256 44bc2942986561b6e2793cc0da7e7d4fb03576855bbe0d39d2b1a921afc6a7cf mycroft-gui-cb734266ba1f3accaa158507008206620a3c2dde.tar.gz
sha256 7f1ebaf7d34d2bd5d0c2e3a05ece5967ed7c43b5ac87c57b2335b20dc6c0d944 mycroft-gui-f2f6636a4be02a6ac749999e21bd146f9cfda211.tar.gz

View File

@ -4,11 +4,12 @@
#
################################################################################
MYCROFT_GUI_VERSION = cb734266ba1f3accaa158507008206620a3c2dde
MYCROFT_GUI_SITE = git://github.com/MycroftAI/mycroft-gui-mark-2.git
MYCROFT_GUI_VERSION = f2f6636a4be02a6ac749999e21bd146f9cfda211
MYCROFT_GUI_SITE = $(call github,MycroftAI,mycroft-gui,$(MYCROFT_GUI_VERSION))
MYCROFT_GUI_LICENSE = Apache License 2.0
MYCROFT_GUI_AUTORECONF = YES
MYCROFT_GUI_INSTALL_STAGING = YES
#MYCROFT_GUI_DEPENDENCIES = host-pkgconf host-automake host-autoconf host-libtool
MYCROFT_GUI_DEPENDENCIES = host-pkgconf
MYCROFT_GUI_SUPPORTS_IN_SOURCE_BUILD = NO
$(eval $(cmake-package))

View File

@ -7,7 +7,7 @@
RESPEAKER_VERSION = 48463b9a50885da24834ccc26d68705c26242082
RESPEAKER_SITE = $(call github,respeaker,seeed-voicecard,$(RESPEAKER_VERSION))
RESPEAKER_LICENSE = GNU General Public License v3.0
RESPEAKER_DEPENDENCIES = rpi-firmware rpi-userland dtc
RESPEAKER_DEPENDENCIES = rpi-firmware dtc
$(eval $(kernel-module))

View File

@ -0,0 +1,25 @@
From 2ba0b9c352b311c168d93a71e44ac60dfc08c1d5 Mon Sep 17 00:00:00 2001
From: j1nx <p.steenbergen@j1nx.nl>
Date: Thu, 14 May 2020 08:09:49 +0200
Subject: [PATCH 1/1] Hardcode NINJA concurrent threads to 2
---
package/qt5/qt5webengine/qt5webengine.mk | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/package/qt5/qt5webengine/qt5webengine.mk b/package/qt5/qt5webengine/qt5webengine.mk
index 898725937b..0543998a5d 100644
--- a/package/qt5/qt5webengine/qt5webengine.mk
+++ b/package/qt5/qt5webengine/qt5webengine.mk
@@ -52,7 +52,7 @@ define QT5WEBENGINE_PYTHON2_SYMLINK
endef
QT5WEBENGINE_PRE_CONFIGURE_HOOKS += QT5WEBENGINE_PYTHON2_SYMLINK
-QT5WEBENGINE_ENV += NINJAFLAGS="-j$(PARALLEL_JOBS)"
+QT5WEBENGINE_ENV += NINJAFLAGS="-j2"
ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y)
define QT5WEBENGINE_CREATE_HOST_PKG_CONFIG
--
2.20.1