bernardpumped / ped

Flutter in-vehicle Fuel Station app
GNU General Public License v3.0
1 stars 1 forks source link

ivi-homescreen support #6

Closed jwinarske closed 8 months ago

jwinarske commented 2 years ago

I was looking to add a recipe for this app to meta-agl-flutter. Looks like it will only run on web right now.

[ERROR:flutter/lib/ui/ui_dart_state.cc(198)] Unhandled Exception: Unsupported operation: DefaultFirebaseOptions have not been configured for linux - you can reconfigure this by running the FlutterFire CLI again.
#0      DefaultFirebaseOptions.currentPlatform (package:pumped_end_device/firebase_options.dart:38:9)
#1      main (package:pumped_end_device/main.dart:72:37)
#2      _runMainZoned.<anonymous closure>.<anonymous closure> (dart:ui/hooks.dart:130:25)
#3      _rootRun (dart:async/zone.dart:1426:13)
#4      _CustomZone.run (dart:async/zone.dart:1328:19)
#5      _runZoned (dart:async/zone.dart:1861:10)
#6      runZonedGuarded (dart:async/zone.dart:1849:12)
#7      _runMainZoned.<anonymous closure> (dart:ui/hooks.dart:126:5)
#8      _delayEntrypointInvocation.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:297:19)
#9      _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:192:12)

Can we get this app into a state that builds and runs on Linux? Then after which I will implement recipe for AGL.

For secure storage you want: https://pub.dev/packages/flutter_secure_storage ivi-homescreen has default support for the native side of flutter_secure_storage.

Cheers, Joel

bernardcraddock commented 2 years ago

lol It was running just fine on android, ios, web and linux, then as part of Release 6 we included initial firebase integration which broke linux. If you're happy to add AGL meta-flutter recipe for Pumped great thanks save me fumbling around and we'll seek to fix linux in next release. Thanks for including flutter_secure_storage link i see it cover all platforms so will check it out

regards Bernard

bernardcraddock commented 2 years ago

linux (desktop) and and Chrome (web) now build and run on macOS Parallels ubuntu. I have sent AGL members email and cc'd you and would be most grateful if you can take some time out and implement initial AGL recipe, which i'll then be happy to maintain moving forward.

best regards

jwinarske commented 2 years ago

Okay this is progress :)

Output log of runtime=Debug on ivi-homescreen (debug). It's hung up on splash screen failing to get a location.

If the output looks unfamiliar I'm running on my FlutterView PR: https://github.com/toyota-connected/ivi-homescreen/pull/69

/home/joel.winarske@toyotaconnected.com/development/ivi-homescreen/cmake-build-debug/shell/homescreen --b=/home/joel.winarske@toyotaconnected.com/development/ped/.homescreen
[INFO:main.cc(96)] Bundle Path: /home/joel.winarske@toyotaconnected.com/development/ped/.homescreen
[INFO:configuration.cc(200)] View Count: 1
[INFO:configuration.cc(248)] **********
[INFO:configuration.cc(249)] * Global *
[INFO:configuration.cc(250)] **********
[INFO:configuration.cc(251)] Application Id: .......... homescreen
[INFO:configuration.cc(255)] Cursor Theme: ............ 
[INFO:configuration.cc(256)] Disable Cursor: .......... false
[INFO:configuration.cc(258)] Debug Backend: ........... false
[INFO:configuration.cc(260)] ********
[INFO:configuration.cc(261)] * View *
[INFO:configuration.cc(262)] ********
[INFO:configuration.cc(269)] Bundle Path: .............. /home/joel.winarske@toyotaconnected.com/development/ped/.homescreen
[INFO:configuration.cc(270)] Window Type: .............. NORMAL
[INFO:configuration.cc(271)] Size: ..................... 1920 x 720
[INFO:configuration.cc(273)] Fullscreen: ............... false
[INFO:configuration.cc(275)] Accessibility Features: ... 0
[INFO:display.cc(35)] + Display()
[INFO:display.cc(104)] Wayland: wl_drm version 2
[INFO:display.cc(104)] Wayland: wl_compositor version 4
[INFO:display.cc(111)]  Buffer Scale Enabled
[INFO:display.cc(104)] Wayland: wl_shm version 1
[INFO:display.cc(104)] Wayland: wl_output version 2
[INFO:display.cc(104)] Wayland: zxdg_output_manager_v1 version 3
[INFO:display.cc(104)] Wayland: wl_data_device_manager version 3
[INFO:display.cc(104)] Wayland: zwp_primary_selection_device_manager_v1 version 1
[INFO:display.cc(104)] Wayland: gtk_primary_selection_device_manager version 1
[INFO:display.cc(104)] Wayland: wl_subcompositor version 1
[INFO:display.cc(104)] Wayland: xdg_wm_base version 3
[INFO:display.cc(104)] Wayland: zxdg_shell_v6 version 1
[INFO:display.cc(104)] Wayland: wl_shell version 1
[INFO:display.cc(104)] Wayland: gtk_shell1 version 3
[INFO:display.cc(104)] Wayland: wp_viewporter version 1
[INFO:display.cc(104)] Wayland: zwp_pointer_gestures_v1 version 1
[INFO:display.cc(104)] Wayland: zwp_tablet_manager_v2 version 1
[INFO:display.cc(104)] Wayland: wl_seat version 5
[INFO:display.cc(104)] Wayland: zwp_relative_pointer_manager_v1 version 1
[INFO:display.cc(104)] Wayland: zwp_pointer_constraints_v1 version 1
[INFO:display.cc(104)] Wayland: zxdg_exporter_v1 version 1
[INFO:display.cc(104)] Wayland: zxdg_importer_v1 version 1
[INFO:display.cc(104)] Wayland: zwp_linux_dmabuf_v1 version 3
[INFO:display.cc(104)] Wayland: zwp_keyboard_shortcuts_inhibit_manager_v1 version 1
[INFO:display.cc(104)] Wayland: zwp_text_input_manager_v3 version 1
[INFO:display.cc(104)] Wayland: gtk_text_input_manager version 1
[INFO:display.cc(104)] Wayland: wl_eglstream_controller version 1
[INFO:display.cc(49)] agl_shell extension not present
[INFO:display.cc(52)] - Display()
[INFO:app.cc(30)] +App::App
[INFO:egl.cc(33)] EGL major: 1, minor 5
[INFO:egl.cc(607)] EGL_KHR_debug initialized
[INFO:egl.cc(43)] EGL has 80 configs
[INFO:egl.cc(60)] Buffer size for config 0 is 32
[INFO:window.cc(47)] (0) + WaylandWindow()
[INFO:display.cc(197)] Physical width: 340 mm x 190 mm
[INFO:display.cc(214)] Video mode: 1920 x 1080 @ 60.001 Hz
[INFO:display.cc(226)] Display Scale Factor: 1
[INFO:display.cc(253)] Pointer Present
[INFO:display.cc(262)] Keyboard Present
[INFO:display.cc(286)] Seat: seat0
[INFO:display.cc(543)] [keyboard repeat info] rate: 33, delay: 500
[INFO:window.cc(113)] (0) - WaylandWindow()
[INFO:engine.cc(435)] (0) PersistentCachePath: /home/joel.winarske@toyotaconnected.com/.homescreen
[INFO:engine.cc(98)] (0) +Engine::Engine
[INFO:engine.cc(145)] (0) flutter_assets: /home/joel.winarske@toyotaconnected.com/development/ped/.homescreen/data/flutter_assets
[INFO:engine.cc(171)] (0) icudtl.dat: /usr/local/share/flutter/icudtl.dat
[INFO:engine.cc(184)] (0) Runtime=debug
[INFO:engine.cc(224)] (0) -Engine::Engine
[INFO:engine.cc(261)] (0) +Engine::Run
[INFO:gl_process_resolver.cc(39)] dlopen: libEGL.so.1
[INFO:gl_process_resolver.cc(39)] dlopen: libGLESv2.so.2
[INFO:engine.cc(205)] (0) Running Task
[INFO:engine.cc(277)] (0) Engine::m_running = 1
[INFO:engine.cc(301)] (0) -Engine::Run
[INFO:flutter_view.cc(75)] (0) Engine running...
[INFO:engine.cc(362)] (0) Added Texture (5150) to registry
[INFO:app.cc(43)] -App::App
[INFO:engine.cc(94)] (0) flutter: The Dart VM service is listening on http://127.0.0.1:41259/m1FvWzeZJoQ=/
[INFO:isolate.cc(31)] (0) Root Isolate Service ID: "isolates/3212065304946639"
[INFO:engine.cc(94)] (0) flutter: [2022-07-13 15:50:02.678116]: DEBUG: PumpedApp : Registering instance of geoLocationWrapper
[INFO:engine.cc(94)] (0) flutter: [2022-07-13 15:50:02.682723]: DEBUG: PumpedApp : Registering instance of platformWrapper
[INFO:engine.cc(94)] (0) flutter: [2022-07-13 15:50:02.682823]: DEBUG: PumpedApp : Registering instance of locationDataSource
[INFO:engine.cc(94)] (0) flutter: [2022-07-13 15:50:02.683477]: DEBUG: PumpedApp : Registering instance of firebaseService
[INFO:engine.cc(94)] (0) flutter: [2022-07-13 15:50:02.684889]: DEBUG: FirebaseService : platformSupport is []
[INFO:engine.cc(94)] (0) flutter: [2022-07-13 15:50:02.684947]: DEBUG: FirebaseService : Platform does not yet support firebase
[INFO:engine.cc(94)] (0) flutter: [2022-07-13 15:50:02.684996]: DEBUG: PumpedApp : Registering instance of underMaintenanceService
[INFO:engine.cc(94)] (0) flutter: [2022-07-13 15:50:02.705848]: DEBUG: PumpedApp : Registering instance of aboutScreenColorScheme
[INFO:engine.cc(94)] (0) flutter: [2022-07-13 15:50:02.706003]: DEBUG: PumpedApp : Registering instance of appBarColorScheme
[INFO:engine.cc(94)] (0) flutter: [2022-07-13 15:50:02.706140]: DEBUG: PumpedApp : Registering instance of splashScreenColorScheme
[INFO:engine.cc(94)] (0) flutter: [2022-07-13 15:50:02.706255]: DEBUG: PumpedApp : Registering instance of navDrawerColorScheme
[INFO:engine.cc(94)] (0) flutter: [2022-07-13 15:50:02.706455]: DEBUG: PumpedApp : Registering instance of fsScreenColorScheme
[INFO:engine.cc(94)] (0) flutter: [2022-07-13 15:50:02.706761]: DEBUG: PumpedApp : Registering instance of fsCardColorScheme
[INFO:engine.cc(94)] (0) flutter: [2022-07-13 15:50:02.706957]: DEBUG: PumpedApp : Registering instance of fsDetailsScreenColorScheme
[INFO:platform.cc(38)] (0) Platform: ApplicationSwitcherDescription
    label: ""
    primaryColor: 4282339765
[INFO:navigation.cc(33)] (0) Navigation: Select Single Entry History
[INFO:navigation.cc(48)] (0) Navigation: Route Information Updated
    location: /
    state: 
    replace: 0
[INFO:engine.cc(94)] (0) flutter: [2022-07-13 15:50:02.818874]: DEBUG: LocationDataSource : Checking Location Service Enabled
[INFO:engine.cc(94)] (0) flutter: [2022-07-13 15:50:03.025510]: DEBUG: PumpedApp : {name: Ubuntu, version: 20.04.4 LTS (Focal Fossa), id: ubuntu, idLike: [debian], versionCodename: focal, versionId: 20.04, prettyName: Ubuntu 20.04.4 LTS, buildId: null, variant: null, variantId: null, machineId: f2feabc9c9204b619e0716f44f3db647}
[INFO:engine.cc(94)] (0) flutter: [2022-07-13 15:50:03.030480]: DEBUG: LocationDataSource : Location Service is Enabled ? false

Known problems: 1) The debug build of flutter build bundle has a bug which incorrectly runs the Linux Dart code. It does not compile/run the same with an AOT image. I have an open issue on this. 2) There is no current way to build Linux plugin Dart code for an AOT image. There is not support today that enables cross compiling of Linux GTK (desktop) embedder plugins. I have a planned design doc for the Flutter team on this. If you look at the Linux specific code, it's minimal and can easily be adapted for flutter build bundle. 3) Some plugins may require native code to be implemented in ivi-homescreen. One example is secure storage, which has been implemented already. 4) The geoclue client expects a valid application id when talking to geoclue daemon via D-Bus. ivi-homescreen is not a glib application. It behaves different when run as debug image, vs AOT due to item 1 above. I haven't decided on the best solution yet.

So given the above possible solutions: 1) Implement cross compiling for flutter build linux and get Linux specific dart working in AOT. Regardless it may require native platform channel implementation. I went pretty far down this path already. 2) Implement platform channels across the board, and do not depend on any Linux specific Dart code.

What's the required list of plugins you need support for?

bernardcraddock commented 2 years ago

thank you much appreciated - following some initial replies, as for know issues / possible solutions i need some time to ponder and talk with the boys

  1. Location Service is Enabled ? false usually means you haven't enabled it once enabled it should just run! have your tried running irrespective of ivi-homescreen? https://help.ubuntu.com/stable/ubuntu-help/privacy-location.html#:~:text=Turn%20off%20the%20geolocation%20features,Location%20Services%20switch%20to%20on

  2. ivi-homescreen When you initially released ivi-homescreen (IVI) i could build and run it on desktop together with our old ped (after some manual fiddling around copying icudtl.dat and libflutter_engine.so). Then commit 26 Remove link dependency on libflutter_engine.so (#26) broke my IVI build and I haven't touched it since. I still have a recording of home screen launching old-ped so will share. We took this opportunity to archive old ped flutter2-archive branch and trash everything only rebooting in 2022 on flutter 3. I'm only saying all this as thought it might be advantageous (with your help) if i can resurrect IVI on my local desktop so as we're at least comparing near apples if you're also using homescreen?

  3. plugins as per pubspec but i'll re-list contents so is obvious ping you when i push back

regards

jwinarske commented 2 years ago

A while back I started evaluating all the flutter Linux Plugins projects. I pulled interesting ones into this test app: https://github.com/meta-flutter/linux_plugins

This is where I identified the issues I've referenced. Also where I found the issue with application Id for geolocation. In debug build 98% of the plugins work. Geolocation is one that does not. In AOT build 98% attempt to use platform channels for to issue one above. Geolocation fails authenticating with daemon due to defaulting to invalid application Id, something like . If I add glib application implementation i strongly suspect i can make a debug image work, but the problem remains with AOT. Which I'm told by Stuart Morgan is not supposed to work by design. Really the only path to get Linux Dart plugin code into an AOT (based on work to date) is to solve the cross compile issue, run flutter build linux and pick off the build artifacts. This involves me submitting design doc, getting approval, etc. It's a process.

A short term solution on your end might be to implement mock interfaces (location, etc) in Dart based on build flag. That way it can launch and run, and once the lower level stuff is sorted out, it's just a matter of removing the build flag (dart define).

jwinarske commented 2 years ago

@bernardcraddock I have ped recipe merged into meta-flutter at this time, and duplicate in AGL patchset pending review. I've added it to the AGL flutter images.

https://gerrit.automotivelinux.org/gerrit/c/AGL/AGL-repo/+/27772 https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl-devel/+/27771 https://github.com/meta-flutter/meta-flutter/tree/kirkstone/recipes-graphics/agl-flutter-apps

jwinarske commented 2 years ago

This is what you get when running AOT image of PED (from root SSH session):

root@raspberrypi0-2w-64:~# export WAYLAND_DISPLAY=wayland-1
root@raspberrypi0-2w-64:~# export XDG_RUNTIME_DIR=/run/user/1000
root@raspberrypi0-2w-64:~# cd /usr/share/flutter/
root@raspberrypi0-2w-64:/usr/share/flutter# ls
flutter_homescreen  flutter_secure_storage_example  gallery  icudtl.dat  linux_plugins  pumped_end_device  test_egl  video_player_example
root@raspberrypi0-2w-64:/usr/share/flutter# homescreen --b=`pwd`/pumped_end_device --w=640 --h=480
[INFO:configuration.cc(248)] **********
[INFO:configuration.cc(249)] * Global *
[INFO:configuration.cc(250)] **********
[INFO:configuration.cc(251)] Application Id: .......... homescreen
[INFO:configuration.cc(255)] Cursor Theme: ............ 
[INFO:configuration.cc(256)] Disable Cursor: .......... false
[INFO:configuration.cc(258)] Debug Backend: ........... false
[INFO:configuration.cc(260)] ********
[INFO:configuration.cc(261)] * View *
[INFO:configuration.cc(262)] ********
[INFO:configuration.cc(269)] Bundle Path: .............. /usr/share/flutter/pumped_end_device
[INFO:configuration.cc(270)] Window Type: .............. NORMAL
[INFO:configuration.cc(271)] Size: ..................... 640 x 480
[INFO:configuration.cc(273)] Fullscreen: ............... false
[INFO:configuration.cc(275)] Accessibility Features: ... 0
[INFO:display.cc(50)] agl_shell extension not present
[INFO:display.cc(254)] Pointer Present
[INFO:display.cc(263)] Keyboard Present
[INFO:engine.cc(571)] (0) Loading AOT: /usr/share/flutter/pumped_end_device/lib/libapp.so
[INFO:engine.cc(94)] (0) flutter: [2022-07-15 16:20:29.985310]: DEBUG: PumpedApp : Registering instance of geoLocationWrapper
[INFO:engine.cc(94)] (0) flutter: [2022-07-15 16:20:29.995231]: DEBUG: PumpedApp : Registering instance of platformWrapper
[INFO:engine.cc(94)] (0) flutter: [2022-07-15 16:20:29.995997]: DEBUG: PumpedApp : Registering instance of locationDataSource
[INFO:engine.cc(94)] (0) flutter: [2022-07-15 16:20:29.996534]: DEBUG: PumpedApp : Registering instance of firebaseService
[INFO:engine.cc(94)] (0) flutter: [2022-07-15 16:20:29.996889]: DEBUG: FirebaseService : platformSupport is []
[INFO:engine.cc(94)] (0) flutter: [2022-07-15 16:20:29.997054]: DEBUG: FirebaseService : Platform does not yet support firebase
[INFO:engine.cc(94)] (0) flutter: [2022-07-15 16:20:29.997443]: DEBUG: PumpedApp : Registering instance of underMaintenanceService
[INFO:engine.cc(94)] (0) flutter: [2022-07-15 16:20:30.015617]: DEBUG: PumpedApp : Registering instance of aboutScreenColorScheme
[INFO:engine.cc(94)] (0) flutter: [2022-07-15 16:20:30.016534]: DEBUG: PumpedApp : Registering instance of appBarColorScheme
[INFO:engine.cc(94)] (0) flutter: [2022-07-15 16:20:30.017061]: DEBUG: PumpedApp : Registering instance of splashScreenColorScheme
[INFO:engine.cc(94)] (0) flutter: [2022-07-15 16:20:30.017474]: DEBUG: PumpedApp : Registering instance of navDrawerColorScheme
[INFO:engine.cc(94)] (0) flutter: [2022-07-15 16:20:30.018114]: DEBUG: PumpedApp : Registering instance of fsScreenColorScheme
[INFO:engine.cc(94)] (0) flutter: [2022-07-15 16:20:30.021739]: DEBUG: PumpedApp : Registering instance of fsCardColorScheme
[INFO:engine.cc(94)] (0) flutter: [2022-07-15 16:20:30.022258]: DEBUG: PumpedApp : Registering instance of fsDetailsScreenColorScheme
[INFO:engine.cc(94)] (0) flutter: [2022-07-15 16:20:30.082983]: DEBUG: LocationDataSource : Checking Location Service Enabled
[ERROR:flutter/lib/ui/ui_dart_state.cc(198)] Unhandled Exception: UnimplementedError: linuxInfo() has not been implemented.
#0      DeviceInfoPlatform.linuxInfo (package:device_info_plus_platform_interface/device_info_plus_platform_interface.dart:69)
#1      DeviceInfoPlugin.linuxInfo (package:device_info_plus/device_info_plus.dart:61)
#2      DeviceInfoPlugin.deviceInfo (package:device_info_plus/device_info_plus.dart:93)
#3      PumpedApp._deviceInfo (package:pumped_end_device/main.dart:112)
#4      PumpedApp.build (package:pumped_end_device/main.dart:86)
#5      StatelessElement.build (package:flutter/src/widgets/framework.dart:4876)
#6      ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4806)
#7      Element.rebuild (package:flutter/src/widgets/framework.dart:4529)
#8      ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4787)
#9      ComponentElement.mount (package:flutter/src/widgets/framework.dart:4781)
#10     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3817)
#11     Element.updateChild (package:flutter/src/widgets/framework.dart:3551)
#12     RenderObjectToWidgetElement._rebuild (package:flutter/src/widgets/binding.dart:1202)
#13     RenderObjectToWidgetElement.mount (package:flutter/src/widgets/binding.dart:1171)
#14     RenderObjectToWidgetAdapter.attachToRenderTree.<anonymous closure> (package:flutter/src/widgets/binding.dart:1119)
#15     BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2597)
#16     RenderObjectToWidgetAdapter.attachToRenderTree (package:flutter/src/widgets/binding.dart:1118)
#17     WidgetsBinding.attachRootWidget (package:flutter/src/widgets/binding.dart:953)
#18     WidgetsBinding.scheduleAttachRootWidget.<anonymous closure> (package:flutter/src/widgets/binding.dart:933)
#19     _rootRun (dart:async/zone.dart:1418)
#20     _CustomZone.run (dart:async/zone.dart:1328)
#21     _CustomZone.runGuarded (dart:async/zone.dart:1236)
#22     _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:1276)
#23     _rootRun (dart:async/zone.dart:1426)
#24     _CustomZone.run (dart:async/zone.dart:1328)
#25     _CustomZone.bindCallback.<anonymous closure> (dart:async/zone.dart:1260)
#26     Timer._createTimer.<anonymous closure> (dart:async-patch/timer_patch.dart:18)
#27     _Timer._runTimers (dart:isolate-patch/timer_impl.dart:398)
#28     _Timer._handleMessage (dart:isolate-patch/timer_impl.dart:429)
#29     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:192)

[ERROR:flutter/lib/ui/ui_dart_state.cc(198)] Unhandled Exception: MissingPluginException(No implementation found for method isLocationServiceEnabled on channel flutter.baseflow.com/geolocator)
#0      MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:165)
<asynchronous suspension>
#1      LocationDataSource.getLocationData (package:pumped_end_device/data/local/location/location_data_source.dart:49)
<asynchronous suspension>

The screen stays at detecting location.

This follows my above statement about the Linux Dart not getting compiled for AOT. This pattern is found in plugins that "support linux"; that means only when built with flutter build linux which is the GTK embedder.

Image used: https://github.com/meta-flutter/meta-flutter/actions/runs/2677329870

bernardcraddock commented 2 years ago

@jwinarske

thanks for such prompt and detailed replies and initial ped meta-flutter recipe i really appreciate it, and please excuse if my replies are delayed it's just that I'm doing this in my spare time.

My initial aspiration for Pumped end-device (MVP) is attempt to cover as many platforms as possible android/iOS, web, linux, Android-Automotive and CarPlay on the hope we can pivot as dominate platform emerges. Within this and as part of flutter/linux combination i jumped into AGL and ped is supporting web and desktop-linux.

Of course AGL being a bespoke linux distro i always suspected at some point we may need to create and specialise a ped-agl branch. i don't think we're there yet but just pointing it out.

  1. I've pushed a small change into pubspec.yaml which identifies ped plugins as requested
  2. Still reviewing known/issues possible solutions
  3. Will soon started evaluating all the flutter Linux Plugins projects.
  4. Before going down LocationDataSource rabbit hole can you confirm ped linux/web is working on your system without homescreen as per below logging? it's basically setting everything up then running getFuelStationsInRange (mocking sydney lat/lng so you get results). If you can confirm results then i know you're onto something and I'll start researching your points. Also just for your own info copy/paste the below getFuelStationsInRange http call into your browser and run it you'll see the results. I'm also in the process of setting swagger so anyone can read understand our end-points.

again thanks muchly best regards

[ /home/parallels/Documents/GitHub/ped gitb:(main) flutterc:(stable) ] parallels > flutter run -d linux Launching lib/main.dart on Linux in debug mode... ../.. Building Linux application...
flutter: [2022-07-16 20:16:43.123719]: DEBUG: PumpedApp : Registering instance of geoLocationWrapper flutter: [2022-07-16 20:16:43.130792]: DEBUG: PumpedApp : Registering instance of platformWrapper flutter: [2022-07-16 20:16:43.130965]: DEBUG: PumpedApp : Registering instance of locationDataSource flutter: [2022-07-16 20:16:43.131903]: DEBUG: PumpedApp : Registering instance of firebaseService flutter: [2022-07-16 20:16:43.133343]: DEBUG: FirebaseService : platformSupport is [] flutter: [2022-07-16 20:16:43.133423]: DEBUG: FirebaseService : Platform does not yet support firebase flutter: [2022-07-16 20:16:43.133502]: DEBUG: PumpedApp : Registering instance of underMaintenanceService flutter: [2022-07-16 20:16:43.168318]: DEBUG: PumpedApp : Registering instance of aboutScreenColorScheme flutter: [2022-07-16 20:16:43.168635]: DEBUG: PumpedApp : Registering instance of appBarColorScheme flutter: [2022-07-16 20:16:43.168856]: DEBUG: PumpedApp : Registering instance of splashScreenColorScheme flutter: [2022-07-16 20:16:43.169032]: DEBUG: PumpedApp : Registering instance of navDrawerColorScheme flutter: [2022-07-16 20:16:43.169326]: DEBUG: PumpedApp : Registering instance of fsScreenColorScheme flutter: [2022-07-16 20:16:43.169792]: DEBUG: PumpedApp : Registering instance of fsCardColorScheme flutter: [2022-07-16 20:16:43.170087]: DEBUG: PumpedApp : Registering instance of fsDetailsScreenColorScheme flutter: [2022-07-16 20:16:43.351403]: DEBUG: LocationDataSource : Checking Location Service Enabled

An Observatory debugger and profiler on Linux is available at: http://127.0.0.1:44541/xSm8ClWC5Wc=/ The Flutter DevTools debugger and profiler on Linux is available at: http://127.0.0.1:9100?uri=http://127.0.0.1:44541/xSm8ClWC5Wc=/ flutter: [2022-07-16 20:16:43.662962]: DEBUG: PumpedApp : {name: Ubuntu, version: 20.04.4 LTS (Focal Fossa), id: ubuntu, idLike: [debian], versionCodename: focal, versionId: 20.04, prettyName: Ubuntu 20.04.4 LTS, buildId: null, variant: null, variantId: null, machineId: 2c1f2eed457b1d4d9243138134bbd24a} flutter: [2022-07-16 20:16:43.693536]: DEBUG: LocationDataSource : Location Service is Enabled ? true flutter: [2022-07-16 20:16:44.913104]: DEBUG: LocationDataSource : Location found as : Latitude: -33.8715, Longitude: 151.2006 flutter: [2022-07-16 20:16:44.914792]: DEBUG: LocationDataSource : Overriding the actual location with static one, as the Browser / Linux does not allow mocking the location flutter: [2022-07-16 20:16:44.916021]: DEBUG: SplashScreen : latitude : -33.865107, longitude : 151.205282 flutter: [2022-07-16 20:16:49.933476]: DEBUG: NearByFuelStationsService : NearByFuelStationsDataSource::getFuelStations flutter: [2022-07-16 20:16:49.933631]: DEBUG: LocationDataSource : Checking Location Service Enabled flutter: [2022-07-16 20:16:49.934224]: DEBUG: UnderMaintenanceService : Platform does not support firebase yet flutter: [2022-07-16 20:16:50.026703]: DEBUG: NearbyStationsScreen : Data was found to be null flutter: [2022-07-16 20:16:50.202677]: DEBUG: GetFuelStationsInRange : execute::url is http://tst.pumpedsvr.com:17001/getFuelStationsInRange?lat=-33.865107&lng=151.205282&range=4.763266315977763&unit=kilometre&fuelType=ALL&numResults=20&sortOrder=CHEAPEST_CLOSEST&searchIncrementally=true&dayOfWeek=SAT&clientConfigVersion=MR1aus-nsw-Z4Sydney&excludeVetoFuelStations=true

flutter: [2022-07-16 20:16:51.673157]: DEBUG: GetFuelStationsInRange : execute::Time taken 1471 flutter: [2022-07-16 20:16:51.673556]: DEBUG: GetFuelStationsInRange : execute::response.statusCode : 200 flutter: [2022-07-16 20:16:51.679433]: DEBUG: GetFuelStationsInRange : execute::response :

etc ...

jwinarske commented 2 years ago

@bernardcraddock this plugin device info will not work:

PumpedApp : {name: Ubuntu, version: 20.04.4 LTS (Focal Fossa), id: ubuntu, idLike: [debian], versionCodename: focal, versionId: 20.04, prettyName: Ubuntu 20.04.4 LTS, buildId: null, variant: null, variantId: null, machineId: 2c1f2eed457b1d4d9243138134bbd24a}

I'm out next week on holiday, back the following. I escalated the Linux Dart plugin issue yesterday with the flutter team. If that gets addressed, that would enable most of the plugins, with key exception being "secure" d-bus (geoclue).

jwinarske commented 2 years ago

https://github.com/flutter/flutter/issues/107762

jwinarske commented 2 years ago

@bernardcraddock another approach is what Tizen is doing. Fork all of the 1P/3P "Linux GTK" plugins and modify them to use a custom platform, then modify SDK to enable custom platform selection. This is a terrible approach that involves lots of maintenance costs; not a fan. The changes are pretty minor. Then you have to continually merge upstream changes; lots of busy work.

So in your case it would be to recreate all the plugins to add AGL platform. Another option.

The "Linux GTK" 1P Plugins directly load shared modules without validating then, which is something you wouldn't want to ship in a production release. So the-writing them targeting AGL platform might be the best approach.

I'll mock something up when I'm back next week.

bernardcraddock commented 2 years ago

@jwinarske thanks for the post I know little of Tizen, and regardless would never adopt an approach requiring continuous retrofit work.

We're running right to the bone and only have single shot refer ped/Linux so I'm ok to follow AGL route but looks like I'm going to need a lot of help to get it all working

If you're now on vacation please enjoy talk next week regards

bernardcraddock commented 2 years ago

@jwinarske FYI we're doing significant simplification refactoring of ped for agl specifically landscape and just desktop-linux and web; no firebase/android/iOS/macOS and having absolute minimum pubspec.yaml 1P plugin entries as such will create new ped-agl repo let you know when done.

As you suggested will implement secure storage https://pub.dev/packages/flutter_secure_storage. Also if you/Toyota have any flutter dev standards or install/deploy guideline etc please share and lastly https://github.com/meta-flutter/linux_plugins seems boken ?

regards

bernardcraddock commented 1 year ago

@jwinarske - i've just pushed new release of ped on new agl branch as previously mentioned it's significant simplification over main branch which is iOS and android centric.

As part of this push I've culled all non essential pubspec plugins so what's left are mandatory, so hopefully together with your help we can find an elegant solution for our linux AOT AGL compilation issue!

As your time permits appreciate if can you update PED recipe flutter-app-pumped-fuel-ped_git.bb for agl branch etc, (incidentally we never had an issues when flutter team bumped stable from 3.0.5 to 3.3.0)

Once you give me the all clear i'll take the flutter workspace tool for a spin, log any issues in meta-flutter incidentally did you say the tool works on mac ?

thankyou regards Bern

jwinarske commented 1 year ago

@bernardcraddock What branch should I point the ped recipe to?

The is a master merge pending with an AGL meta-agl-flutter README.md you should find useful. https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl-devel/+/27976/2

The script runs successfully on Mac. It currently only installs runtime artifacts on Ubuntu. In general custom-device support does work on Mac. To support Mac correctly I need image artifacts that are not yet getting published (QEMU aarch64 images). The x86_64 QEMU images are coming from meta-flutter which are my staging/test builds for downstream AGL master. Once AGL build infra is publishing flutter images I will update AGL workspace config accordingly.

Flutter Workspace Automation is currently working and available. It will be included in my upcoming training session.

bernardcraddock commented 1 year ago

@jwinarske the AGL branch https://github.com/bernardpumped/ped/tree/agl

got the README thanks, it expects user running Ubuntu 20.04, which is fine as i've got Ubuntu desktop VM on my Mac, but does it work on both x86_64 and M1 or am i restricted to x86_64 ?

training sessions sound good regards

jwinarske commented 1 year ago

The changeset pending review is for the last needlefish point release. Early next week tag.

These are the gaps to Mac multi-arch support in setup_flutter_workspace.py:

So the tip of tree for your AGL branch will be locked in this release. If you have anything you want to add, I'll be locking by 10:30AM PST tomorrow.

bernardcraddock commented 1 year ago

ok thank you, and nothing to add as just playing around for now becoming familiar

bernardcraddock commented 1 year ago

Hi @jwinarske - trust i find you well ,

i have extensively tested and now pushed ped latest to agl branch ready for meta-flutter testing. As your time permits (no rush) could you please bump flutter-app-pumped-fuel-ped_git.bb SRCREV with my last commit

Also could you clarify at what point or change should i trash and rebuild the workspace automation tool ?

I'm cautiously optimistic ped will launch or at least make significantly more progress than previous attempts assuming url_launcher_linux doesn't trip me up which it might, and if so i'll try to figure out why myself but failing that i'll need to escalate to you if that's ok.

best regards

jwinarske commented 1 year ago

@bernardcraddock Yes I'll bump it. Same branch?

bernardcraddock commented 1 year ago

@jwinarske Yes same branch

jwinarske commented 1 year ago

@bernardcraddock I just rolled kirkstone and dunfell. The mock location works for me with your recent changes. I get a fuel listing.

bernardcraddock commented 1 year ago

@jwinarske oh beauty mate, small milestone !! i haven't even tried yet, working on Pumped backend today , give it a whirl tonight

bernardcraddock commented 1 year ago

Hi @jwinarske

I checked flutter aps - ped, gallery, flutter_animated_background/example and flutter_homescreen they are all working fine when using device [1] Toyota flutter-auto (desktop-auto) But - none of them are working when using device [2]: AGL x86_64 QEMU Image (AGL-qemu) they all fail with the following.

ERROR:flutter/shell/common/shell.cc(93)] Dart Error: Can't load Kernel binary: Invalid SDK hash. [ERROR:flutter/runtime/dart_isolate.cc(143)] Could not prepare isolate. [ERROR:flutter/runtime/runtime_controller.cc(385)] Could not create root isolate. [ERROR:flutter/shell/common/shell.cc(604)] Could not launch engine with configuration.

Is this and flutter SDK mismatch version between meta-flutter and AGL ?

If not can you confirm AGL x86_64 QEMU Image (AGL-qemu) is working your end , and if so then problem is with me, and Ubuntu is forever patching itself and i'm running following do you know of any concerns with this release ?

lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 22.04.1 LTS Release: 22.04 Codename: jammy

Failing that I am still running 2 installs of flutter the original snap for my own dev purposes and now meta-flutter's but i keep them separate and would have thought if this was an issue it would have failed earlier either in build or flutter-auo run

Following is PED failing ped-vm /home/parallels/Documents/GitHub/meta-flutter/tools/app/ped parallels > flutter run Multiple devices found: Toyota flutter-auto (mobile) • desktop-auto • linux-x64 • flutter-auto x86_64 AGL x86_64 QEMU Image (mobile) • AGL-qemu • linux-x64 • agl-image-flutter-runtimedebug-qemux86-64 [1]: Toyota flutter-auto (desktop-auto) [2]: AGL x86_64 QEMU Image (AGL-qemu) Please choose one (To quit, press "q/Q"): 2 Launching lib/main.dart on AGL x86_64 QEMU Image in debug mode... [INFO:configuration.cc(248)] ** [INFO:configuration.cc(249)] Global [INFO:configuration.cc(250)] ** [INFO:configuration.cc(251)] Application Id: .......... flutter-auto [INFO:configuration.cc(253)] JSON Configuration: ...... /tmp/pumped_end_device/default_config.json [INFO:configuration.cc(255)] Cursor Theme: ............ [INFO:configuration.cc(256)] Disable Cursor: .......... false [INFO:configuration.cc(258)] Debug Backend: ........... false [INFO:configuration.cc(260)] **** [INFO:configuration.cc(261)] View [INFO:configuration.cc(262)] **** [INFO:configuration.cc(264)] VM Args: [INFO:configuration.cc(266)] --observatory-host=0.0.0.0 [INFO:configuration.cc(266)] --observatory-port=1234 [INFO:configuration.cc(269)] Bundle Path: .............. /tmp/pumped_end_device [INFO:configuration.cc(270)] Window Type: .............. BG [INFO:configuration.cc(271)] Size: ..................... 1920 x 1080 [INFO:configuration.cc(273)] Fullscreen: ............... false [INFO:configuration.cc(275)] Accessibility Features: ... 0 [INFO:display.cc(275)] Keyboard Present [INFO:engine.cc(173)] (0) Runtime=debug [ERROR:flutter/shell/common/shell.cc(93)] Dart Error: Can't load Kernel binary: Invalid SDK hash. [ERROR:flutter/runtime/dart_isolate.cc(143)] Could not prepare isolate. [ERROR:flutter/runtime/runtime_controller.cc(385)] Could not create root isolate. [ERROR:flutter/shell/common/shell.cc(604)] Could not launch engine with configuration.

please advise regards

jwinarske commented 1 year ago

For AGL it's running 3.3.1. meta-flutter is running 3.3.7. The error you are seeing is due to a mismatch with the QEMU image. So the-run the script passing flutter version 3.3.1.

jwinarske commented 1 year ago

Also with meta-flutter config, M1 support for QEMU is present. Perf isn't great, and I'm looking into another solution that would require updating to Ventura; where perf should be optimal.

bernardcraddock commented 1 year ago

hey @jwinarske New issue and I'm a little stumped appreciate any help running ped on "AGL-qemu" is now failing with Failed to find "xdg-user-dir" in the search path. and It's working fine on flutter-auto just fine

Issue could be mine but I can't see how any ideas ? if issue is not mine could there be : Missing or disabled mandatory XDG components on AGL? Anything to do with my Ubuntu parallels user trying to connect to AGL agl-driver user? Anything missing or incorrect in meta-flutter/tools/.config/flutter/custom_devices.json ?

Also came across this https://github.com/flutter/flutter/issues/74392

For additional context in this release PED still using local store for local persistence but, at your suggestion we're imminently switching to flutter_secure_store, But does secure_store use xdg_directories and if so will it incur same issue?

parallels > flutter run Multiple devices found: Toyota flutter-auto (mobile) • desktop-auto • linux-x64 • flutter-auto x86_64 AGL x86_64 QEMU Image (mobile) • AGL-qemu • linux-x64 • agl-image-flutter-runtimedebug-qemux86-64 [1]: Toyota flutter-auto (desktop-auto) [2]: AGL x86_64 QEMU Image (AGL-qemu) Please choose one (To quit, press "q/Q"): 2 Launching lib/main.dart on AGL x86_64 QEMU Image in debug mode... [INFO:configuration.cc(248)] ** [INFO:configuration.cc(249)] Global [INFO:configuration.cc(250)] ** [INFO:configuration.cc(251)] Application Id: .......... flutter-auto [INFO:configuration.cc(253)] JSON Configuration: ...... /tmp/pumped_end_device/default_config.json [INFO:configuration.cc(255)] Cursor Theme: ............ [INFO:configuration.cc(256)] Disable Cursor: .......... false [INFO:configuration.cc(258)] Debug Backend: ........... false [INFO:configuration.cc(260)] **** [INFO:configuration.cc(261)] View [INFO:configuration.cc(262)] **** [INFO:configuration.cc(264)] VM Args: [INFO:configuration.cc(266)] --observatory-host=0.0.0.0 [INFO:configuration.cc(266)] --observatory-port=1234 [INFO:configuration.cc(269)] Bundle Path: .............. /tmp/pumped_end_device [INFO:configuration.cc(270)] Window Type: .............. BG [INFO:configuration.cc(271)] Size: ..................... 1920 x 1080 [INFO:configuration.cc(273)] Fullscreen: ............... false [INFO:configuration.cc(275)] Accessibility Features: ... 0 [INFO:display.cc(275)] Keyboard Present [INFO:engine.cc(173)] (0) Runtime=debug [INFO:engine.cc(94)] (0) flutter: [2022-11-25 07:55:27.847745]: DEBUG: UiSettingsDao : retrieving instance of UiSettings [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: ProcessException: Failed to find "xdg-user-dir" in the search path. Command: xdg-user-dir

0 LocalProcessManager.runSync (package:process/src/interface/local_process_manager.dart:118:7)

1 getUserDirectory (package:xdg_directories/xdg_directories.dart:153:48) <-- path_provider dependant on xdg_directories

2 PathProviderLinux.getApplicationDocumentsPath (package:path_provider_linux/src/path_provider_linux.dart:71:38)

3 getApplicationDocumentsDirectory (package:path_provider/path_provider.dart:115:40) <-- localstore dependant on path_provider

4 Utils._getDocumentDir (package:localstore/src/utils/io.dart:175:25)

5 new Utils._ (package:localstore/src/utils/io.dart:12:5)

6 Utils._utils (package:localstore/src/utils/io.dart:14:37)

7 Utils._utils (package:localstore/src/utils/io.dart)

8 Utils.instance (package:localstore/src/utils/io.dart:15:32)

9 new DocumentRef._ (package:localstore/src/document_ref.dart:31:24)

10 new Localstore._ (package:localstore/src/localstore_base.dart:11:33)

11 Localstore._localstore (package:localstore/src/localstore_base.dart:13:52)

12 Localstore._localstore (package:localstore/src/localstore_base.dart)

13 Localstore.instance (package:localstore/src/localstore_base.dart:16:37) <-- PED currently using localstore

14 UiSettingsDao.getUiSettings (package:pumped_end_device/data/local/dao/ui_settings_dao.dart:38:27)

15 main (package:pumped_end_device/main.dart:47:57)

16 _runMain. (dart:ui/hooks.dart:134:23)

17 _delayEntrypointInvocation. (dart:isolate-patch/isolate_patch.dart:297:19)

18 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:192:12)

appreciate any feedback regards

jwinarske commented 1 year ago

It may be that one of the plugins you're using has a runtime dependency on "xdg-user-dirs". That may not be present in the AGL QEMU image. That being the case there may be others missing as well. Then keep in mind testing with AOT is also required to see impact from "Linux" plugin debug bug.

As a side note i see when running ped via flutter-auto it's writing a whole lot of files directly to my home folder. It should be using the following folder: $HOME/.config/$APP_NAME

bernardcraddock commented 1 year ago

@jwinarske it's a dependency of https://pub.dev/packages/localstore which is also the culprit dropping the JSON files in the home folder.

Latest PED release (just pushed) in addition to new functionality includes https://pub.dev/packages/flutter_secure_storage which is working fine on all the other platforms so see how it goes 1st using flutter-auto then on AGL

I believe i need to ensure AGL has libsecret-1-dev and libjsoncpp-dev to build the project, and libsecret-1-0 and libjsoncpp1 to run the application: So how to i check if AGL has these libraries and if not how do i install them?

When i get your reply i'm going to close this ticket and open new issues on meta-flutter should i have problems with flutter_secure_storage on AGL, so as the other guys can follow along and benefit.

regards

|-- localstore 1.3.4 | |-- flutter... | |-- path... | '-- path_provider 2.0.11 | |-- flutter... | |-- path_provider_linux 2.1.7 | | |-- ffi 2.0.1 | | |-- flutter... | | |-- path... | | |-- path_provider_platform_interface... | | '-- xdg_directories 0.2.0+2 | | |-- meta... | | |-- path... | | '-- process...

jwinarske commented 1 year ago

@bernardcraddock the runtime dependency for flutter_secure_storage is in the flutter-auto recipe. https://github.com/meta-flutter/meta-flutter/blob/kirkstone/recipes-graphics/toyota/flutter-auto_git.bb#L57

The PED app recipe would need runtime deps added, similar to this recipe: https://github.com/meta-flutter/meta-flutter/blob/kirkstone/recipes-graphics/flutter-apps/flutter-test-plugins_git.bb#L16

It may not be needed at build time, but is required at runtime. Then one adds runtime dependency to app.

Keep in mind no native code is built with the flutter application itself. If runtime dep is present, then yocto will build that runtime package, and include in the os image.

bernardcraddock commented 1 year ago

@jwinarske - Sorry for being dumb this is still new to me as i haven't been able to spend the necessary time on this, but i've got to get PED demoing on AGL - i'll re-prioritize

https://github.com/meta-flutter/meta-flutter/blob/kirkstone/recipes-graphics/flutter-apps/flutter-test-plugins_git.bb#L16 is one of several others apps i asked to be brought across to the automation tool, and post CES is fine.

In the meantime i'll do my best to understand what/how/why these 2 recipes work, and please excuse I might ask a few more newbie questions if thats ok ?

regards

jwinarske commented 1 year ago

@bernardcraddock This recipe is intentionally left out. It's the app I used to deep dive on 1P Linux Plugins. It only works in debug builds.

For your case meta-flutter is locked on the AGL version being used at CES. The solution would be to have Jan-Simon create a bbappend of the PED recipe, and update the RDEPENDS, and source commit. Then later when we roll meta-flutter for AGL, meta-flutter picks up these changes.

jwinarske commented 9 months ago

@bernardcraddock Heads up - 3.13.2 merged to AGL main last week.

Also currently working on enabling impeller in the engine for Linux GLES/EGL. This is based on channel main. Running your agl branch I see a good deal of errors. Not sure if you're interested in this.

To repro main/impeller

git clone https://github.com/meta-flutter/workspace-automation -b jw/impeller_gl
./flutter_workspace.py
source ./setup_env.sh
cd app/ped
flutter run --enable-impeller --local-engine=host_debug_unopt --local-engine-host=host_debug_unopt --local-engine-src-path=$FLUTTER_WORKSPACE/.config/flutter_workspace/flutter-engine/engine/src -d desktop-homescreen -vv
bernardcraddock commented 9 months ago

@jwinarske thanks for the heads up,

I'm also on 3.13.x and enabling impeller sounds good. Yes, still very interested in what you're doing with workspace-automation and ivi-homescreen I'm swamped in iOS land at the moment xcode, pods, ObjectiveC, clang++/llvm and IR bitcode

thanks for copy/paste of what you ran, time permitting I'll play around with

bernardcraddock commented 9 months ago

@jwinarske As it's been a while since we last communicated i just wanted to clarify something PED (agl) is running fine on Ubuntu / Fedora and once i get it running on workspace-automation flutter with desktop-homescreen then i should be able to port to AGL proper, is that correct?

jwinarske commented 9 months ago

@bernardcraddock The issue is around supporting Flutter SDK 3.13.x to main. Impeller requires channel main right now. So if you want to get an early start there you would want to increase the SDK range.

For example with flutter gallery it runs on 3.13.x to main without changes.

bernardcraddock commented 9 months ago

@jwinarske Sure, I can make ped (agl) changes to support Flutter SDK 3.13.x to main for Impeller.

and just to be clear are saying if I run your above repo main/impeller commands against gallery it should just work?

bernardcraddock commented 9 months ago

@jwinarske As per following flutter workspace build is failing for me trying to build ivi-homescreen libsecret-1 not found even though it's installed I'm running Fedora 38 (x86_64) on Mac parallels.

appreciate any help! regards

$ sudo dnf install libsecret [sudo] password for parallels: Last metadata expiration check: 0:30:30 ago on Tue 31 Oct 2023 05:21:59 PM AEDT. Package libsecret-0.20.5-3.fc38.x86_64 is already installed. Dependencies resolved. Nothing to do. Complete!

$ rpm -ql libsecret | grep -i libsecret-1 /usr/lib64/libsecret-1.so.0 /usr/lib64/libsecret-1.so.0.0.0

git clone https://github.com/meta-flutter/workspace-automation -b jw/impeller_gl ./flutter_workspace.py --clean [sudo] password for parallels:


Setting up Flutter Workspace in: /home/parallels/Documents/GitHub/workspace-automation


Package dnf-plugins-core Found Package git Found Package git-lfs Found Package curl Found Package libcurl-devel Found Package openssl-devel Found Package gtk3-devel Found Package python3-dotenv Found Package python3-pycurl Found Package python3-pip Found Platform ID: desktop-homescreen Platform ID: flutter-engine


Cleaning Workspace


Cloning into 'ivi-homescreen'... Cloning into 'flutter-scene-example'... Cloning into 'gallery'... Cloning into 'depot_tools'... Cloning into 'flutter-wonderous-app'... Cloning into 'flutter_animated_background'... remote: Enumerating objects: 345, done. remote: Enumerating objects: 4570, done. remote: Enumerating objects: 10600, done. remote: Enumerating objects: 473, done. remote: Counting objects: 100% (800/800), done. remote: Counting objects: 100% (108/108), done. remote: Compressing objects: 100% (65/65), done. remote: Counting objects: 100% (1072/1072), done. remote: Compressing objects: 100% (475/475), done. remote: Compressing objects: 100% (252/252), done. remote: Counting objects: 100% (36/36), done. remote: Enumerating objects: 10793, done. remote: Counting objects: 100% (2313/2313), done. remote: Compressing objects: 100% (30/30), done. remote: Total 473 (delta 39), reused 82 (delta 32), pack-reused 365 Receiving objects: 100% (473/473), 2.94 MiB | 5.38 MiB/s, done. Resolving deltas: 100% (218/218), done..08 MiB | 2.14 MiB/s HEAD is now at 2482e1e 3.10.5/56581), 1.08 MiB | 2.14 MiB/s remote: Compressing objects: 100% (379/379), done. Already up to date. 59% (33383/56581), 6.22 MiB | 6.17 MiB/s Cloning into 'comp_surf_pbr'... remote: Enumerating objects: 191, done. remote: Counting objects: 100% (93/93), done. remote: Compressing objects: 100% (60/60), done. remote: Total 56581 (delta 37532), reused 56581 (delta 37532) Receiving objects: 100% (56581/56581), 52.50 MiB | 5.24 MiB/s, done. remote: Total 10600 (delta 616), reused 636 (delta 545), pack-reused 9800 Receiving objects: 100% (10600/10600), 9.77 MiB | 845.00 KiB/s, done. Resolving deltas: 100% (37532/37532), done. Resolving deltas: 100% (6462/6462), done. MiB | 541.00 KiB/ss HEAD is now at 5388959f reclient_helper: delete directory synchronously HEAD is now at a11d8ba EGL Debug CleanupiB | 593.00 KiB/siB/s Already up to date. 14% (642/4570), 14.95 MiB | 607.00 KiB/ss Cloning into 'flutter_secure_storage'... Already up to date. Cloning into 'packages'... remote: Enumerating objects: 4057, done. remote: Counting objects: 100% (1332/1332), done. remote: Compressing objects: 100% (427/427), done. remote: Enumerating objects: 129698, done. remote: Counting objects: 100% (13718/13718), done. remote: Compressing objects: 100% (1085/1085), done. remote: Total 191 (delta 33), reused 20 (delta 5), pack-reused 98 Receiving objects: 100% (191/191), 25.93 MiB | 553.00 KiB/s, done. Resolving deltas: 100% (41/41), done. HEAD is now at f24d0ca remove print sections flag5.00 KiB/s/s Already up to date. 17% (808/4570), 34.76 MiB | 531.00 KiB/s/s/s Submodule 'third_party/KTX-Software' (https://github.com/KhronosGroup/KTX-Software.git) registered for path 'third_party/KTX-Software' Submodule 'third_party/draco' (https://github.com/google/draco.git) registered for path 'third_party/draco' Submodule 'third_party/gli' (https://github.com/g-truc/gli) registered for path 'third_party/gli' Submodule 'third_party/glm' (https://github.com/g-truc/glm.git) registered for path 'third_party/glm' Submodule 'third_party/imgui' (https://github.com/ocornut/imgui.git) registered for path 'third_party/imgui' Submodule 'third_party/rapidjson' (https://github.com/Tencent/rapidjson.git) registered for path 'third_party/rapidjson' Submodule 'third_party/tinygltf' (https://github.com/syoyo/tinygltf.git) registered for path 'third_party/tinygltf' Cloning into '/home/parallels/Documents/GitHub/workspace-automation/app/comp_surf_pbr/third_party/KTX-Software'... remote: Total 4057 (delta 995), reused 1038 (delta 883), pack-reused 2725 Receiving objects: 100% (4057/4057), 26.59 MiB | 509.00 KiB/s, done. Resolving deltas: 100% (2123/2123), done.MiB | 507.00 KiB/sB/s HEAD is now at 3bb9336 Merge pull request #628 from bierbaumtim/macos-fixes Already up to date. 19% (883/4570), 42.71 MiB | 518.00 KiB/siB/s Cloning into 'ped'... remote: Enumerating objects: 3628, done. remote: Counting objects: 100% (171/171), done. remote: Compressing objects: 100% (158/158), done. remote: Total 345 (delta 12), reused 22 (delta 6), pack-reused 309 Receiving objects: 100% (345/345), 47.95 MiB | 550.00 KiB/s, done. Resolving deltas: 100% (95/95), done. HEAD is now at bc7362b Add link to the Flutter Forward keynote Already up to date. 93% (10038/10793), 47.83 MiB | 520.00 KiB/ss remote: Total 10793 (delta 2041), reused 2025 (delta 1929), pack-reused 8480 Receiving objects: 100% (10793/10793), 53.78 MiB | 555.00 KiB/s, done. Resolving deltas: 100% (7884/7884), done.3.96 MiB | 627.00 KiB/s HEAD is now at 22a07bf Clarify where to find goldens (#1005)iB/s Already up to date. 38% (50157/129698), 44.68 MiB | 676.00 KiB/s remote: Total 4570 (delta 619), reused 990 (delta 570), pack-reused 3498 Receiving objects: 100% (4570/4570), 64.10 MiB | 619.00 KiB/s, done. Resolving deltas: 100% (2392/2392), done. HEAD is now at 5b37a65 Move flutter_native_splash to dependencies from dev_dependencies since it is used in main() to manage splash screen visibility. Already up to date. 39% (51128/129698), 48.35 MiB | 794.00 KiB/s remote: Total 3628 (delta 31), reused 33 (delta 12), pack-reused 3457 Receiving objects: 100% (3628/3628), 21.95 MiB | 590.00 KiB/s, done. Resolving deltas: 100% (2217/2217), done. HEAD is now at ab87072 Merge pull request #44 from bernardpumped/ivi_localstore Already up to date. 40% (51880/129698), 49.39 MiB | 847.00 KiB/s remote: Total 129698 (delta 12766), reused 12768 (delta 12617), pack-reused 115980 Receiving objects: 100% (129698/129698), 97.30 MiB | 796.00 KiB/s, done. Resolving deltas: 100% (76535/76535), done. HEAD is now at b236d83c4 [in_app_purchase_android] Add missing response code to BillingResponse enum (#5120) Already up to date. Cloning into '/home/parallels/Documents/GitHub/workspace-automation/app/comp_surf_pbr/third_party/draco'... Cloning into '/home/parallels/Documents/GitHub/workspace-automation/app/comp_surf_pbr/third_party/gli'... Cloning into '/home/parallels/Documents/GitHub/workspace-automation/app/comp_surf_pbr/third_party/glm'... Cloning into '/home/parallels/Documents/GitHub/workspace-automation/app/comp_surf_pbr/third_party/imgui'... Cloning into '/home/parallels/Documents/GitHub/workspace-automation/app/comp_surf_pbr/third_party/rapidjson'... Cloning into '/home/parallels/Documents/GitHub/workspace-automation/app/comp_surf_pbr/third_party/tinygltf'... Submodule path 'third_party/KTX-Software': checked out '48b455cc997a446c42442e077e7f324a59c79544' Submodule path 'third_party/draco': checked out 'd44cb5bc7d1fecad4b377ed6b3a611931e87ef87' Submodule 'third_party/eigen' (https://gitlab.com/libeigen/eigen.git) registered for path 'third_party/draco/third_party/eigen' Submodule 'third_party/filesystem' (https://github.com/gulrak/filesystem) registered for path 'third_party/draco/third_party/filesystem' Submodule 'third_party/googletest' (https://github.com/google/googletest.git) registered for path 'third_party/draco/third_party/googletest' Submodule 'third_party/tinygltf' (https://github.com/syoyo/tinygltf.git) registered for path 'third_party/draco/third_party/tinygltf' Cloning into '/home/parallels/Documents/GitHub/workspace-automation/app/comp_surf_pbr/third_party/draco/third_party/eigen'... Cloning into '/home/parallels/Documents/GitHub/workspace-automation/app/comp_surf_pbr/third_party/draco/third_party/filesystem'... Cloning into '/home/parallels/Documents/GitHub/workspace-automation/app/comp_surf_pbr/third_party/draco/third_party/googletest'... Cloning into '/home/parallels/Documents/GitHub/workspace-automation/app/comp_surf_pbr/third_party/draco/third_party/tinygltf'... Submodule path 'third_party/draco/third_party/eigen': checked out '3147391d946bb4b6c68edd901f2add6ac1f31f8c' Submodule path 'third_party/draco/third_party/filesystem': checked out 'a07ddedeae722c09e819895e1c31ae500e9abad6' Submodule path 'third_party/draco/third_party/googletest': checked out '703bd9caab50b139428cea1aaff9974ebee5742e' Submodule path 'third_party/draco/third_party/tinygltf': checked out 'a11f6e19399f6af67d7c57909e8ce99d20beb369' Submodule path 'third_party/gli': checked out '779b99ac6656e4d30c3b24e96e0136a59649a869' Submodule path 'third_party/glm': checked out 'fc8f4bb442b9540969f2f3f351c4960d91bca17a' Submodule path 'third_party/imgui': checked out '03d3343e215f78945d149621bd5655a95db59bfc' Submodule path 'third_party/rapidjson': checked out '06d58b9e848c650114556a23294d0b6440078c61' Submodule 'thirdparty/gtest' (https://github.com/google/googletest.git) registered for path 'third_party/rapidjson/thirdparty/gtest' Cloning into '/home/parallels/Documents/GitHub/workspace-automation/app/comp_surf_pbr/third_party/rapidjson/thirdparty/gtest'... Submodule path 'third_party/rapidjson/thirdparty/gtest': checked out 'ba96d0b1161f540656efdaed035b3c062b60e006' Submodule path 'third_party/tinygltf': checked out '16c2d3a8bf53649cac6514bc0fdab72d7d956fc8' [sudo] password for parallels:


Repos Cloned



Flutter Version: main


Cloning into '/home/parallels/Documents/GitHub/workspace-automation/flutter'... remote: Enumerating objects: 477081, done. remote: Counting objects: 100% (7839/7839), done. remote: Compressing objects: 100% (424/424), done. remote: Total 477081 (delta 7647), reused 7449 (delta 7397), pack-reused 469242 Receiving objects: 100% (477081/477081), 268.46 MiB | 3.90 MiB/s, done. Resolving deltas: 100% (367877/367877), done. Checking out main branch 'main' set up to track 'origin/main'. Switched to a new branch 'main'


FLUTTER_SDK: /home/parallels/Documents/GitHub/workspace-automation/flutter



Patching Flutter SDK


PATH=/home/parallels/dev/android-studio:/home/parallels/dev/android-studio/bin:/home/parallels/dev/android-studio/jbr/bin:/home/parallels/dev/Android/Sdk/build-tools:/home/parallels/dev/Android/Sdk/platform-tools:/home/parallels/dev/Android/Sdk/cmdline-tools/latest/bin:/home/parallels/Documents/GitHub/pumped-scripts/platform/common:/home/parallels/Documents/GitHub/pumped-scripts/platform/common/sh:/home/parallels/Documents/GitHub/pumped-scripts/platform/common/sql:/usr/lib64:/usr/include:/usr/share/doc:/usr/share/licenses:/home/parallels/bin:/home/parallels/.local/share::/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib:.:/home/parallels/Documents/GitHub/workspace-automation/flutter/bin PUB_CACHE=/home/parallels/Documents/GitHub/workspace-automation/.config/flutter_workspace/pub_cache XDG_CONFIG_HOME=/home/parallels/Documents/GitHub/workspace-automation/.config/flutter


Upgrading main Channel


Downloading Linux x64 Dart SDK from Flutter engine b4de734eb78e0d22aceae2a534f89f123903b446... % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 211M 100 211M 0 0 3572k 0 0:01:00 0:01:00 --:--:-- 3076k Building flutter tool... Resolving dependencies... (4.2s) Got dependencies. Flutter is already up to date on channel main Flutter 3.16.0-20.0.pre.9 • channel main • https://github.com/flutter/flutter.git Framework • revision 13c049b42c (2 hours ago) • 2023-10-31 02:53:11 -0400 Engine • revision b4de734eb7 Tools • Dart 3.3.0 (build 3.3.0-80.0.dev) • DevTools 2.28.1 Analytics reporting disabled.

You may need to restart any open editors for them to read new settings. ╔════════════════════════════════════════════════════════════════════════════╗ ║ Analytics reporting disabled. In order to enable it, run: ║ ║ ║ ║ dart --enable-analytics ║ ║ ║ ╚════════════════════════════════════════════════════════════════════════════╝

Downloading Material fonts... 455ms Downloading Gradle Wrapper... 13ms Downloading package sky_engine... 104ms Downloading flutter_patched_sdk tools... 364ms Downloading flutter_patched_sdk_product tools... 309ms Downloading linux-x64 tools... 4.0s Downloading linux-x64/font-subset tools... 174ms Doctor summary (to see all details, run flutter doctor -v): [✓] Flutter (Channel main, 3.16.0-20.0.pre.9, on Fedora Linux 38 (Workstation Edition) 6.5.8-200.fc38.x86_64, locale en_US.UTF-8) [✓] Linux toolchain - develop for Linux desktop [!] Flutter IDE Support (No supported IDEs installed) [✓] Connected device (1 available) [✓] Network resources

! Doctor found issues in 1 category. Engine Version: b4de734eb78e0d22aceae2a534f89f123903b446 Working Directory: /home/parallels/Documents/GitHub/workspace-automation/.config/flutter_workspace/flutter-engine


Downloading Engine artifact


** Downloading linux-x64-embedder.zip via https://storage.googleapis.com/flutter_infra_release/flutter/b4de734eb78e0d22aceae2a534f89f123903b446/linux-x64/linux-x64-embedder


Download Status: 404



Failed to download linux-x64-embedder.zip



Engine artifact not available



Setting up Platform desktop-homescreen - x86_64


Working Directory: /home/parallels/Documents/GitHub/workspace-automation/.config/flutter_workspace/desktop-homescreen Last metadata expiration check: 2:18:57 ago on Tue 31 Oct 2023 05:21:59 PM AEDT. Dependencies resolved. Nothing to do. Complete! Last metadata expiration check: 2:18:59 ago on Tue 31 Oct 2023 05:21:59 PM AEDT. Dependencies resolved. Nothing to do. Complete! Last metadata expiration check: 2:19:01 ago on Tue 31 Oct 2023 05:21:59 PM AEDT. Package wayland-devel-1.22.0-1.fc38.x86_64 is already installed. Package wayland-protocols-devel-1.31-2.fc38.noarch is already installed. Package libxkbcommon-devel-1.5.0-2.fc38.x86_64 is already installed. Package cmake-3.27.7-1.fc38.x86_64 is already installed. Package ninja-build-1.11.1-2.fc38.x86_64 is already installed. Package mesa-dri-drivers-23.1.9-1.fc38.x86_64 is already installed. Package mesa-filesystem-23.1.9-1.fc38.x86_64 is already installed. Package mesa-libEGL-devel-23.1.9-1.fc38.x86_64 is already installed. Package mesa-libGL-devel-23.1.9-1.fc38.x86_64 is already installed. Package mesa-libGLU-devel-9.0.3-1.fc38.x86_64 is already installed. Package mesa-libgbm-devel-23.1.9-1.fc38.x86_64 is already installed. Package mesa-libglapi-23.1.9-1.fc38.x86_64 is already installed. Package mesa-libxatracker-23.1.9-1.fc38.x86_64 is already installed. Package mesa-vulkan-drivers-23.1.9-1.fc38.x86_64 is already installed. Package vulkan-tools-1.3.243.0-1.fc38.x86_64 is already installed. Package libunwind-devel-1.6.2-7.fc38.x86_64 is already installed. Package gstreamer1-devel-1.22.6-1.fc38.x86_64 is already installed. Package gstreamer1-plugins-base-devel-1.22.5-1.fc38.x86_64 is already installed. Package gstreamer1-plugins-bad-free-devel-1.22.5-1.fc38.x86_64 is already installed. Package gstreamer1-plugins-bad-free-extras-1.22.5-1.fc38.x86_64 is already installed. Package gstreamer1-plugins-base-tools-1.22.5-1.fc38.x86_64 is already installed. Package gstreamer1-plugins-good-1.22.5-1.fc38.x86_64 is already installed. Package gstreamer1-plugins-good-extras-1.22.5-1.fc38.x86_64 is already installed. Package gstreamer1-plugins-ugly-free-1.22.5-1.fc38.x86_64 is already installed. Package libtool-2.4.7-6.fc38.x86_64 is already installed. Dependencies resolved. Nothing to do. Complete! Last metadata expiration check: 2:19:02 ago on Tue 31 Oct 2023 05:21:59 PM AEDT. Dependencies resolved. Nothing to do. Complete! cmake version 3.27.7

CMake suite maintained and supported by Kitware (kitware.com/cmake). Last metadata expiration check: 1:55:57 ago on Tue 31 Oct 2023 05:45:06 PM AEDT. cmake-3.26.2-1.fc38.i686 : Cross-platform make system Repo : fedora Matched from: Provide : cmake = 3.26.2-1.fc38

cmake-3.26.2-1.fc38.x86_64 : Cross-platform make system Repo : fedora Matched from: Provide : cmake = 3.26.2-1.fc38

cmake-3.27.7-1.fc38.x86_64 : Cross-platform make system Repo : @System Matched from: Provide : cmake = 3.27.7-1.fc38

cmake-3.27.7-1.fc38.x86_64 : Cross-platform make system Repo : updates Matched from: Provide : cmake = 3.27.7-1.fc38

cwd: /home/parallels/Documents/GitHub/workspace-automation/app/ivi-homescreen/build cmd: ['cmake', '/home/parallels/Documents/GitHub/workspace-automation/app/ivi-homescreen', '-DCMAKE_BUILD_TYPE=Debug', '-DENABLE_DLT=OFF', '-DBUILD_PLUGIN_GOOGLE_SIGN_IN=ON', '-DBUILD_PLUGIN_SECURE_STORAGE=ON'] -- The CXX compiler identification is GNU 13.2.1 -- The C compiler identification is GNU 13.2.1 -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /usr/bin/c++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /usr/bin/cc - skipped -- Detecting C compile features -- Detecting C compile features - done -- GIT Branch ............. main -- GIT Hash ............... a11d8ba -- IPO .................... supported -- Build Type ............. LOCAL -- Build Unit Tests ....... OFF -- Project ................ ivi-homescreen -- Version ................ 1.0.0 -- Generator .............. Unix Makefiles -- Build Type ............. Debug -- APPEND RELEASE FLAGS ... -fstack-protector-all -- APPEND RELEASE FLAGS ... -fno-omit-frame-pointer -- APPEND RELEASE FLAGS ... -Wformat=2 -- APPEND RELEASE FLAGS ... -D_FORTIFY_SOURCE=2 -- CC ..................... /usr/bin/cc -- CXX .................... /usr/bin/cc -- CFLAGS ................. -- CXXFLAGS ............... -fno-rtti -- Build spdlog: 1.12.0 -- Performing Test CMAKE_HAVE_LIBC_PTHREAD -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success -- Found Threads: TRUE
-- Build type: Debug -- Found PkgConfig: /usr/bin/pkg-config (found version "1.8.0") -- Checking for modules 'wayland-client;wayland-egl;wayland-cursor;xkbcommon' -- Found wayland-client, version 1.22.0 -- Found wayland-egl, version 18.1.0 -- Found wayland-cursor, version 1.22.0 -- Found xkbcommon, version 1.5.0 -- Checking for module 'wayland-protocols>=1.13' -- Found wayland-protocols, version 1.31 -- Checking for module 'libsecret-1' -- Package 'libsecret-1', required by 'virtual:world', not found CMake Error at /usr/share/cmake/Modules/FindPkgConfig.cmake:607 (message): A required package was not found Call Stack (most recent call first): /usr/share/cmake/Modules/FindPkgConfig.cmake:829 (_pkg_check_modules_internal) cmake/plugins.cmake:122 (pkg_check_modules) shell/CMakeLists.txt:41 (include)

-- Configuring incomplete, errors occurred! Traceback (most recent call last): File "/home/parallels/Documents/GitHub/workspace-automation/./flutter_workspace.py", line 2520, in main() File "/home/parallels/Documents/GitHub/workspace-automation/./flutter_workspace.py", line 304, in main setup_platforms(platforms, github_token, cookie_file, args.plex) File "/home/parallels/Documents/GitHub/workspace-automation/./flutter_workspace.py", line 1915, in setup_platforms setupplatform(platform, git_token, cookie_file, plex) File "/home/parallels/Documents/GitHub/workspace-automation/./flutter_workspace.py", line 1903, in setup_platform handle_commands_obj(runtime.get('post_cmds'), cwd) File "/home/parallels/Documents/GitHub/workspace-automation/./flutter_workspace.py", line 1536, in handle_commands_obj subprocess.check_call(cmd_arr, cwd=cwd, env=localenv, shell=shell) File "/usr/lib64/python3.11/subprocess.py", line 413, in check_call raise CalledProcessError(retcode, cmd) subprocess.CalledProcessError: Command '['cmake', '/home/parallels/Documents/GitHub/workspace-automation/app/ivi-homescreen', '-DCMAKE_BUILD_TYPE=Debug', '-DENABLE_DLT=OFF', '-DBUILD_PLUGIN_GOOGLE_SIGN_IN=ON', '-DBUILD_PLUGIN_SECURE_STORAGE=ON']' returned non-zero exit status 1.

jwinarske commented 9 months ago
sudo dnf install libsecret-devel

It's failing to find the package config file, which is only installed with the devel package.

jwinarske commented 9 months ago

I pushed change for missing packages to main.

jwinarske commented 9 months ago

@bernardcraddock

I have plugin support mostly figured out. I have most of the flutter packages running in AOT image on AGL OS image.

known working flutter package examples:

I have yet to flush out firebase, but it looks very doable at this point.

meta-flutter will have update by end of day, and change set will be in AGL gerritt as well.

Looks like text scaling needs refactoring in your app.

jwinarske commented 9 months ago

meta-flutter kirkstone has been pushed. ped was removed as your tip of tree is not working. Happy to add it back when it's working again.

bernardcraddock commented 9 months ago

Hi @jwinarske , thanks for the update I'll retry both main and impeller_gl branches - see how I go. It's great to see you're working on plugin support I'm following your discord conversation, and we use firebase extensively in ped (main). We did have text scaling working near perfect on all platforms, but each update breaks something, so I'll take a look.

regards

bernardcraddock commented 9 months ago

happy for you to remove ped from meta-flutter kirkstone, just keep it in workspace-automation. Once we have time/resources i can flip back focus on this get it sorted and running in meta-flutter and AGL

regards

bernardcraddock commented 9 months ago

Hi @jwinarske finally got some time to look at this and as discussed, installed libsecret-devel then

git clone https://github.com/meta-flutter/workspace-automation -b jw/impeller_gl ./flutter_workspace.py --clean

this ran for ages completed all the 'cipd ensure' stuff then failed on ninja OSError: [Errno 5] Input/output error as follows appreciate any feedback. I haven't yet tried your main branch and remember i switched from Ubuntu to fedora38 if that makes any difference. Following logging is from end of cipd ensure' last fetch and deploy.

regards

• [fetch 9/14] Fetched fuchsia/sdk/core/linux-amd64:K3jvECt7y1-zBVw3qjEV8RzqYkrIQfQIP9-wk6V5AgC … • [unzip 9/14] Deployed fuchsia/sdk/core/linux-amd64:K3jvECt7y1-zBVw3qjEV8RzqYkrIQfQIP9-wk6V5AgC… [P76998 19:00:16.741 client.go:2139 I] All changes applied. ____ running 'python3 src/third_party/dart/tools/generate_package_config.py' in '/home/parallels/Documents/GitHub/workspace-automation/.config/flutter_workspace/flutter-engine/engine' ____ running 'python3 src/third_party/dart/tools/generate_sdk_version_file.py' in '/home/parallels/Documents/GitHub/workspace-automation/.config/flutter_workspace/flutter-engine/engine' ____ running 'python3 src/build/linux/sysroot_scripts/install-sysroot.py --arch=x64' in '/home/parallels/Documents/GitHub/workspace-automation/.config/flutter_workspace/flutter-engine/engine' Installing Debian sid amd64 root image: /home/parallels/Documents/GitHub/workspace-automation/.config/flutter_workspace/flutter-engine/engine/src/build/linux/debian_sid_amd64-sysroot Downloading https://commondatastorage.googleapis.com/chrome-linux-sysroot/toolchain/79a7783607a69b6f439add567eb6fcb48877085c/debian_sid_amd64_sysroot.tar.xz ____ running 'python3 src/build/linux/sysroot_scripts/install-sysroot.py --arch=arm64' in '/home/parallels/Documents/GitHub/workspace-automation/.config/flutter_workspace/flutter-engine/engine' Installing Debian sid arm64 root image: /home/parallels/Documents/GitHub/workspace-automation/.config/flutter_workspace/flutter-engine/engine/src/build/linux/debian_sid_arm64-sysroot Downloading https://commondatastorage.googleapis.com/chrome-linux-sysroot/toolchain/2cade9ee1ca9186b28ac768c19e1ab7c45ee0600/debian_sid_arm64_sysroot.tar.xz Hook 'python3 src/build/linux/sysroot_scripts/install-sysroot.py --arch=arm64' took 11.27 secs ____ running 'python3 src/flutter/tools/pub_get_offline.py' in '/home/parallels/Documents/GitHub/workspace-automation/.config/flutter_workspace/flutter-engine/engine' Hook 'python3 src/flutter/tools/pub_get_offline.py' took 12.24 secs ____ running 'python3 src/flutter/tools/githooks/setup.py' in '/home/parallels/Documents/GitHub/workspace-automation/.config/flutter_workspace/flutter-engine/engine' local: PATH = /home/parallels/Documents/GitHub/workspace-automation/app/depot_tools:/home/parallels/Documents/GitHub/workspace-automation/flutter/bin:/home/parallels/dev/android-studio:/home/parallels/dev/android-studio/bin:/home/parallels/dev/android-studio/jbr/bin:/home/parallels/dev/Android/Sdk/build-tools:/home/parallels/dev/Android/Sdk/platform-tools:/home/parallels/dev/Android/Sdk/cmdline-tools/latest/bin:/home/parallels/Documents/GitHub/pumped-scripts/platform/common:/home/parallels/Documents/GitHub/pumped-scripts/platform/common/sh:/home/parallels/Documents/GitHub/pumped-scripts/platform/common/sql:/usr/lib64:/usr/include:/usr/share/doc:/usr/share/licenses:/home/parallels/bin:/home/parallels/.local/share::/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib:.:/home/parallels/Documents/GitHub/workspace-automation/flutter/bin cwd: /home/parallels/Documents/GitHub/workspace-automation/.config/flutter_workspace/flutter-engine/engine/src/flutter cmd: ['git', 'reset', '--hard'] HEAD is now at a18ee3c7f5 Reverts Dart SDK to 3.3.0-120.0.dev (#47959) cmd: ['git', 'apply', '/home/parallels/Documents/GitHub/workspace-automation/patches/0001-IsCreationThreadCurrent-workaround.patch'] local: PATH = /home/parallels/Documents/GitHub/workspace-automation/app/depot_tools:/home/parallels/Documents/GitHub/workspace-automation/flutter/bin:/home/parallels/dev/android-studio:/home/parallels/dev/android-studio/bin:/home/parallels/dev/android-studio/jbr/bin:/home/parallels/dev/Android/Sdk/build-tools:/home/parallels/dev/Android/Sdk/platform-tools:/home/parallels/dev/Android/Sdk/cmdline-tools/latest/bin:/home/parallels/Documents/GitHub/pumped-scripts/platform/common:/home/parallels/Documents/GitHub/pumped-scripts/platform/common/sh:/home/parallels/Documents/GitHub/pumped-scripts/platform/common/sql:/usr/lib64:/usr/include:/usr/share/doc:/usr/share/licenses:/home/parallels/bin:/home/parallels/.local/share::/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib:.:/home/parallels/Documents/GitHub/workspace-automation/flutter/bin cwd: /home/parallels/Documents/GitHub/workspace-automation/.config/flutter_workspace/flutter-engine/engine/src cmd: ['./flutter/tools/gn', '--unoptimized', '--runtime-mode=debug', '--embedder-for-target', '--enable-fontconfig', '--no-build-embedder-examples', '--enable-impeller-3d', '--enable-impeller-opengles', '--enable-impeller-vulkan', '--no-lto', '--no-goma'] Using prebuilt Dart SDK binary. If you are editing Dart sources and wish to compile the Dart SDK, set --no-prebuilt-dart-sdk. Generating GN files in: out/host_debug_unopt Generating compile_commands took 40ms Done. Made 1198 targets from 376 files in 49562ms cmd: ['echo', '>>', '/home/parallels/Documents/GitHub/workspace-automation/.config/flutter_workspace/flutter-engine/engine/src/out/host_debug_unopt/args.gn']

/home/parallels/Documents/GitHub/workspace-automation/.config/flutter_workspace/flutter-engine/engine/src/out/host_debug_unopt/args.gn cmd: ['ninja', '-C', '/home/parallels/Documents/GitHub/workspace-automation/.config/flutter_workspace/flutter-engine/engine/src/out/host_debug_unopt'] Traceback (most recent call last): File "/home/parallels/Documents/GitHub/workspace-automation/app/depot_tools/ninja.py", line 89, in sys.exit(main(sys.argv)) ^^^^^^^^^^^^^^ File "/home/parallels/Documents/GitHub/workspace-automation/app/depot_tools/ninja.py", line 82, in main return subprocess.call([ninja_path] + args[1:]) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.11/subprocess.py", line 389, in call with Popen(*popenargs, **kwargs) as p: ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.11/subprocess.py", line 1026, in init self._execute_child(args, executable, preexec_fn, close_fds, File "/usr/lib64/python3.11/subprocess.py", line 1950, in _execute_child raise child_exception_type(errno_num, err_msg, err_filename) OSError: [Errno 5] Input/output error: '/home/parallels/Documents/GitHub/workspace-automation/.config/flutter_workspace/flutter-engine/engine/src/flutter/third_party/ninja/ninja' Traceback (most recent call last): File "/home/parallels/Documents/GitHub/workspace-automation/./flutter_workspace.py", line 2520, in main() File "/home/parallels/Documents/GitHub/workspace-automation/./flutter_workspace.py", line 304, in main setup_platforms(platforms, github_token, cookie_file, args.plex) File "/home/parallels/Documents/GitHub/workspace-automation/./flutter_workspace.py", line 1915, in setup_platforms setupplatform(platform, git_token, cookie_file, plex) File "/home/parallels/Documents/GitHub/workspace-automation/./flutter_workspace.py", line 1903, in setup_platform handle_commands_obj(runtime.get('post_cmds'), cwd) File "/home/parallels/Documents/GitHub/workspace-automation/./flutter_workspace.py", line 1536, in handle_commands_obj subprocess.check_call(cmd_arr, cwd=cwd, env=localenv, shell=shell) File "/usr/lib64/python3.11/subprocess.py", line 413, in check_call raise CalledProcessError(retcode, cmd) subprocess.CalledProcessError: Command '['ninja', '-C', '/home/parallels/Documents/GitHub/workspace-automation/.config/flutter_workspace/flutter-engine/engine/src/out/host_debug_unopt']' returned non-zero exit status 1.

bernardcraddock commented 9 months ago

@jwinarske - above issue is mine my Mac parallels VM blew up. time permitting I'll rebuild it and give it another try.

regards

bernardcraddock commented 9 months ago

@jwinarske rebuilt my VM and got this working just fine against gallery and saw the TextScaler errors in ped AGL branch you mentioned which incidentally don't appear in either Ubuntu or Fedora desktop, but none the less I'll look into it.

regards

bernardcraddock commented 9 months ago

Hey @jwinarske - ped agl branch using secure_storage is now running against -b jw/impeller_gl

I now need to switch away from jw/impeller_gl as flutter main channel changes too often. When you can please merge jw/impeller_gl back into main and if possible, pin flutter-version": "3.16.0" or thereabouts.

Couple of other things if i may

  1. The way you're building everything from source is simply stunning, but I can't properly follow it. Therefore, and long as it's not too much trouble when you have time can you update flutter_workspace.py to additionally log stdout/stderr into a build log/s so as me and anyone else can follow along, without asking lots of questions.

  2. Can you update your README to include ped as an example

thank you and regards.

jwinarske commented 8 months ago

@bernardcraddock I'm working on Firebase plugin support right now. The intent is to run your main branch as-is. I will most likely show your app at CES for a Firebase example.

jwinarske commented 8 months ago

Main Plugin status

ivi-homescreen linux-gtk plugin
yes no google_sign_in
yes yes device_info_plus
no no fluttertoast
no no geocoding
no no geolocator
no no webview_flutter
yes no cloud_firestore
yes no firebase_auth
yes no firebase_core
? ? flutter_facebook_auth
? ? twitter_login