|
@@ -0,0 +1,270 @@
|
|
|
+menuconfig BR2_PACKAGE_IVI_HOMESCREEN
|
|
|
+ bool "ivi-homescreen"
|
|
|
+ depends on BR2_PACKAGE_HOST_FLUTTER_SDK_BIN_ARCH_SUPPORTS
|
|
|
+ depends on BR2_PACKAGE_FLUTTER_ENGINE_ARCH_SUPPORTS
|
|
|
+ depends on BR2_HOST_GCC_AT_LEAST_5 # flutter-engine
|
|
|
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # flutter-engine
|
|
|
+ depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # flutter-engine
|
|
|
+ depends on BR2_TOOLCHAIN_USES_GLIBC # flutter-engine
|
|
|
+ depends on BR2_INSTALL_LIBSTDCPP # flutter-engine
|
|
|
+ depends on !BR2_STATIC_LIBS # flutter-engine, wayland
|
|
|
+ depends on BR2_USE_WCHAR # flutter-engine
|
|
|
+ depends on BR2_PACKAGE_HAS_LIBGL || BR2_PACKAGE_HAS_LIBGLES # flutter-engine
|
|
|
+ select BR2_PACKAGE_HOST_FLUTTER_SDK_BIN
|
|
|
+ select BR2_PACKAGE_FLUTTER_ENGINE
|
|
|
+ select BR2_PACKAGE_LIBXKBCOMMON
|
|
|
+ select BR2_PACKAGE_WAYLAND
|
|
|
+ select BR2_PACKAGE_WAYLAND_PROTOCOLS
|
|
|
+ select BR2_PACKAGE_WAYLAND_UTILS
|
|
|
+ help
|
|
|
+ Toyota's Flutter Embedder that communicates with Wayland
|
|
|
+ compositors.
|
|
|
+ Features:
|
|
|
+ - Strongly Typed (C++)
|
|
|
+ - Lightweight
|
|
|
+ - Platform Channels enabled/disabled via CMake
|
|
|
+ - OpenGL Texture Framework
|
|
|
+ - Compositor Sub-surface/Region support
|
|
|
+ - Vulkan / EGL backend support
|
|
|
+
|
|
|
+ https://github.com/toyota-connected/ivi-homescreen
|
|
|
+
|
|
|
+if BR2_PACKAGE_IVI_HOMESCREEN
|
|
|
+
|
|
|
+config BR2_PACKAGE_IVI_HOMESCREEN_IVI_SHELL_CLIENT
|
|
|
+ bool "ivi-shell client"
|
|
|
+
|
|
|
+comment "Logging"
|
|
|
+config BR2_PACKAGE_IVI_HOMESCREEN_DART_VM_LOGGING
|
|
|
+ bool "Enable Dart VM Logging"
|
|
|
+
|
|
|
+config BR2_PACKAGE_IVI_HOMESCREEN_DLT_LOGGING
|
|
|
+ bool "DLT logging"
|
|
|
+
|
|
|
+comment "EGL options"
|
|
|
+
|
|
|
+config BR2_PACKAGE_IVI_HOMESCREEN_EGL_TRANSPARENCY
|
|
|
+ bool "Transparency"
|
|
|
+ depends on BR2_PACKAGE_HAS_LIBEGL
|
|
|
+
|
|
|
+comment "Transparency support needs an EGL backend"
|
|
|
+ depends on !BR2_PACKAGE_HAS_LIBEGL
|
|
|
+
|
|
|
+config BR2_PACKAGE_IVI_HOMESCREEN_EGL_ENABLE_3D
|
|
|
+ bool "3D support"
|
|
|
+ depends on BR2_PACKAGE_HAS_LIBEGL
|
|
|
+ help
|
|
|
+ Build with EGL Stencil, Depth, and Stencil
|
|
|
+
|
|
|
+comment "3D support needs an EGL backend"
|
|
|
+ depends on !BR2_PACKAGE_HAS_LIBEGL
|
|
|
+
|
|
|
+config BR2_PACKAGE_IVI_HOMESCREEN_EGL_MULTISAMPLE
|
|
|
+ bool "Multisample support"
|
|
|
+ depends on BR2_PACKAGE_HAS_LIBEGL
|
|
|
+ help
|
|
|
+ Build with EGL Sample set to 4
|
|
|
+
|
|
|
+comment "Multisample support needs an EGL backend"
|
|
|
+ depends on !BR2_PACKAGE_HAS_LIBEGL
|
|
|
+
|
|
|
+comment "dependency-less plugins"
|
|
|
+
|
|
|
+config BR2_PACKAGE_IVI_HOMESCREEN_ACCESSIBILITY_PLUGIN
|
|
|
+ bool "Accessibility"
|
|
|
+
|
|
|
+config BR2_PACKAGE_IVI_HOMESCREEN_COMP_REGION_PLUGIN
|
|
|
+ bool "Compositor Region"
|
|
|
+
|
|
|
+config BR2_PACKAGE_IVI_HOMESCREEN_COMP_SURF_PLUGIN
|
|
|
+ bool "Compositor Surface"
|
|
|
+
|
|
|
+config BR2_PACKAGE_IVI_HOMESCREEN_DESKTOP_WINDOW_PLUGIN
|
|
|
+ bool "Desktop Window"
|
|
|
+ help
|
|
|
+ Flutter plugin to change window size.
|
|
|
+
|
|
|
+ https://pub.dev/packages/desktop_window
|
|
|
+
|
|
|
+config BR2_PACKAGE_IVI_HOMESCREEN_GO_ROUTER_PLUGIN
|
|
|
+ bool "Go Router"
|
|
|
+ help
|
|
|
+ A declarative routing package for Flutter that uses the
|
|
|
+ Router API to provide a convenient, url-based API for
|
|
|
+ navigating between different screens. You can define URL
|
|
|
+ patterns, navigate using a URL, handle deep links, and a
|
|
|
+ number of other navigation-related scenarios.
|
|
|
+
|
|
|
+ https://pub.dev/packages/go_router
|
|
|
+
|
|
|
+config BR2_PACKAGE_IVI_HOMESCREEN_INTEGRATION_TEST_PLUGIN
|
|
|
+ bool "Flutter Integration Test support"
|
|
|
+ help
|
|
|
+ https://docs.flutter.dev/cookbook/testing/integration/introduction
|
|
|
+
|
|
|
+config BR2_PACKAGE_IVI_HOMESCREEN_ISOLATE_PLUGIN
|
|
|
+ bool "Isolate"
|
|
|
+
|
|
|
+config BR2_PACKAGE_IVI_HOMESCREEN_KEYBOARD_MANAGER_PLUGIN
|
|
|
+ bool "Keyboard Manager"
|
|
|
+ select BR2_PACKAGE_IVI_HOMESCREEN_TEXT_INPUT_PLUGIN # runtime
|
|
|
+ help
|
|
|
+ This is a wrapper for the raw keyboard listener made to
|
|
|
+ simplify intercept external keyboard button press.
|
|
|
+
|
|
|
+ https://pub.dev/packages/keyboard_manager
|
|
|
+
|
|
|
+config BR2_PACKAGE_IVI_HOMESCREEN_KEY_EVENT_PLUGIN
|
|
|
+ bool "Key Event"
|
|
|
+ select BR2_PACKAGE_IVI_HOMESCREEN_TEXT_INPUT_PLUGIN # runtime
|
|
|
+ help
|
|
|
+ KeyEvent plugin to support RawKeyEvent.
|
|
|
+
|
|
|
+config BR2_PACKAGE_IVI_HOMESCREEN_LAYER_PLAYGROUND_PLUGIN
|
|
|
+ bool "Layer Playground"
|
|
|
+ select BR2_PACKAGE_IVI_HOMESCREEN_PLATFORM_VIEWS_PLUGIN
|
|
|
+ help
|
|
|
+ This plugin enables the platform views plugin and also
|
|
|
+ provides a simple-box-view-type option.
|
|
|
+
|
|
|
+ https://github.com/toyota-connected/ivi-homescreen/tree/main/shell/plugins/platform_views
|
|
|
+
|
|
|
+config BR2_PACKAGE_IVI_HOMESCREEN_LOGGING_PLUGIN
|
|
|
+ bool "Logging"
|
|
|
+
|
|
|
+config BR2_PACKAGE_IVI_HOMESCREEN_MOUSE_CURSOR_PLUGIN
|
|
|
+ bool "Mouse Cursor"
|
|
|
+ help
|
|
|
+ Add mouse cursor support.
|
|
|
+
|
|
|
+config BR2_PACKAGE_IVI_HOMESCREEN_PACKAGE_INFO_PLUGIN
|
|
|
+ bool "PackageInfo"
|
|
|
+ help
|
|
|
+ Prints the ivi-homescreen package information.
|
|
|
+
|
|
|
+config BR2_PACKAGE_IVI_HOMESCREEN_PLATFORM_PLUGIN
|
|
|
+ bool "Platform"
|
|
|
+ help
|
|
|
+ Get information about the platform the Flutter application
|
|
|
+ is running on.
|
|
|
+
|
|
|
+config BR2_PACKAGE_IVI_HOMESCREEN_PLATFORM_VIEWS_PLUGIN
|
|
|
+ bool "Platform Views"
|
|
|
+ help
|
|
|
+ This plugin supports the AndroidView interface. Meaning you
|
|
|
+ can take any Platform View Dart code, change the definition
|
|
|
+ to use AndroidView, and you will have a working interface.
|
|
|
+
|
|
|
+ Benefits of using this interface:
|
|
|
+ - pre-defined interface that is supported in Flutter SDK
|
|
|
+ - params are easily augmented in Dart to add for given use
|
|
|
+ case
|
|
|
+ - pass touch to another process/library without additional
|
|
|
+ work
|
|
|
+
|
|
|
+ For a backing implementation there are a number of approaches:
|
|
|
+ - Have a PlatformView implementation render to a Texture
|
|
|
+ - Compositor Region support
|
|
|
+ (poke a hole for another process)
|
|
|
+ - Compositor sub-surface and manage Z-order
|
|
|
+
|
|
|
+ The above is already supported today using either an OpenGL
|
|
|
+ texture, or a Compositor Sub-Surface. Using Platform Views
|
|
|
+ just re-uses an existing interface.
|
|
|
+
|
|
|
+ https://github.com/toyota-connected/ivi-homescreen/tree/main/shell/plugins/platform_views
|
|
|
+
|
|
|
+config BR2_PACKAGE_IVI_HOMESCREEN_RESTORATION_PLUGIN
|
|
|
+ bool "Restoration"
|
|
|
+ help
|
|
|
+ Handles the Flutter restoration callback
|
|
|
+
|
|
|
+config BR2_PACKAGE_IVI_HOMESCREEN_TEXT_INPUT_PLUGIN
|
|
|
+ bool "Text Input"
|
|
|
+ help
|
|
|
+ Allow for text input
|
|
|
+
|
|
|
+comment "plugins with external dependencies"
|
|
|
+config BR2_PACKAGE_IVI_HOMESCREEN_AUDIO_PLAYERS
|
|
|
+ bool "Audio Players"
|
|
|
+ select BR2_PACKAGE_GSTREAMER1
|
|
|
+ select BR2_PACKAGE_GST1_PLUGINS_BASE
|
|
|
+ select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ALSA
|
|
|
+ select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIOCONVERT
|
|
|
+ select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIORESAMPLE
|
|
|
+ select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VOLUME
|
|
|
+ help
|
|
|
+ A Flutter plugin to play multiple simultaneously audio files.
|
|
|
+ Based on audioplayers-v5.2.1
|
|
|
+
|
|
|
+ https://pub.dev/packages/audioplayers
|
|
|
+
|
|
|
+config BR2_PACKAGE_IVI_HOMESCREEN_FLUTTER_SECURE_STORAGE_PLUGIN
|
|
|
+ bool "Flutter Secure Storage"
|
|
|
+ select BR2_PACKAGE_LIBSECRET
|
|
|
+ help
|
|
|
+ Store data in secure storage
|
|
|
+
|
|
|
+ https://pub.dev/packages/flutter_secure_storage
|
|
|
+
|
|
|
+config BR2_PACKAGE_IVI_HOMESCREEN_GOOGLE_SIGN_IN_PLUGIN
|
|
|
+ bool "Google Sign In manager"
|
|
|
+ select BR2_PACKAGE_LIBCURL
|
|
|
+ select BR2_PACKAGE_LIBCURL_FORCE_TLS
|
|
|
+ select BR2_PACKAGE_OPENSSL
|
|
|
+ help
|
|
|
+ This static plugin is to support this pub.dev package:
|
|
|
+ https://pub.dev/packages/google_sign_in
|
|
|
+
|
|
|
+ https://github.com/toyota-connected/ivi-homescreen/tree/main/shell/plugins/google_sign_in
|
|
|
+
|
|
|
+config BR2_PACKAGE_IVI_HOMESCREEN_GSTREAMER_EGL_PLUGIN
|
|
|
+ bool "GStreamer EGL"
|
|
|
+ depends on BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS
|
|
|
+ depends on BR2_PACKAGE_HAS_LIBEGL
|
|
|
+ select BR2_PACKAGE_FFMPEG
|
|
|
+ select BR2_PACKAGE_GSTREAMER1
|
|
|
+ select BR2_PACKAGE_GST1_PLUGINS_BASE
|
|
|
+ select BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL
|
|
|
+ select BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_EGL
|
|
|
+ help
|
|
|
+ A GStreamer-powered alternative to Flutter's video_player that
|
|
|
+ support Linux, iOS and Android.
|
|
|
+
|
|
|
+ https://pub.dev/packages/flutter_gstreamer_player
|
|
|
+
|
|
|
+comment "GStreamer plugin needs an EGL backend"
|
|
|
+ depends on BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS
|
|
|
+ depends on !BR2_PACKAGE_HAS_LIBEGL
|
|
|
+
|
|
|
+config BR2_PACKAGE_IVI_HOMESCREEN_OPENGL_TEXTURE_PLUGIN
|
|
|
+ bool "OpenGL Texture"
|
|
|
+ depends on BR2_PACKAGE_HAS_LIBEGL
|
|
|
+ help
|
|
|
+ A Flutter OpenGL ES plugin using a Texture() widget.
|
|
|
+ Many shaders from ShaderToy.com can be copy/pasted
|
|
|
+
|
|
|
+ https://pub.dev/packages/flutter_opengl
|
|
|
+
|
|
|
+comment "OpenGL texture plugin needs an EGL backend"
|
|
|
+ depends on !BR2_PACKAGE_HAS_LIBEGL
|
|
|
+
|
|
|
+endif # BR2_PACKAGE_IVI_HOMESCREEN
|
|
|
+
|
|
|
+comment "ivi-homescreen needs a glibc toolchain w/ wchar, C++, gcc >= 5, dynamic library, host gcc >= 5, NPTL"
|
|
|
+ depends on BR2_PACKAGE_HOST_FLUTTER_SDK_BIN_ARCH_SUPPORTS
|
|
|
+ depends on BR2_PACKAGE_FLUTTER_ENGINE_ARCH_SUPPORTS
|
|
|
+ depends on !BR2_TOOLCHAIN_USES_GLIBC || !BR2_TOOLCHAIN_HAS_THREADS_NPTL \
|
|
|
+ || !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_5 \
|
|
|
+ || BR2_STATIC_LIBS || !BR2_USE_WCHAR \
|
|
|
+ || !BR2_HOST_GCC_AT_LEAST_5
|
|
|
+
|
|
|
+comment "ivi-homescreen needs a toolchain not affected by GCC bug 64735"
|
|
|
+ depends on BR2_PACKAGE_HOST_FLUTTER_SDK_BIN_ARCH_SUPPORTS
|
|
|
+ depends on BR2_PACKAGE_FLUTTER_ENGINE_ARCH_SUPPORTS
|
|
|
+ depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735
|
|
|
+
|
|
|
+comment "ivi-homescreen needs an OpenGL or OpenGLES backend"
|
|
|
+ depends on BR2_PACKAGE_HOST_FLUTTER_SDK_BIN_ARCH_SUPPORTS
|
|
|
+ depends on BR2_PACKAGE_FLUTTER_ENGINE_ARCH_SUPPORTS
|
|
|
+ depends on !BR2_PACKAGE_HAS_LIBGL && !BR2_PACKAGE_HAS_LIBGLES
|