sony / flutter-elinux

Flutter tools for embedded Linux (eLinux)
BSD 3-Clause "New" or "Revised" License
424 stars 43 forks source link

I can use "flutter-elinux run -d elinux-x11" run demo,but "build/elinux/arm64/debug/bundle/demo" not work #173

Closed drx123001 closed 1 year ago

drx123001 commented 1 year ago

hi

I work on the rk3588 platform

Flutter 3.7.7 • channel unknown • unknown source Framework • revision 2ad6cd72c0 (2 weeks ago) • 2023-03-08 09:41:59 -0800 Engine • revision 1837b5be5f Tools • Dart 2.19.4 • DevTools 2.20.1

I can use "flutter-elinux run -d elinux-x11" run demo,but "build/elinux/arm64/debug/bundle/demo" not work

./demo [ERROR][ELinuxWindowWayland(887)] Failed to connect to the Wayland display. [ERROR][CreateRenderSurface(1129)] Wayland display is invalid. Failed to create view controller.

How should I handle this?

Thanks

HidenoriMatsubayashi commented 1 year ago

[ERROR][CreateRenderSurface(1129)] Wayland display is invalid.

I guess your platform doesn't work wayland backend. Please confirm if wayland compositor is working fine (not X11).

drx123001 commented 1 year ago

Using "flutter-elinux run -d elinux-wayland" is the following error

Flutter 3.7.7 • channel unknown • unknown source Framework • revision 2ad6cd72c0 (2 weeks ago) • 2023-03-08 09:41:59 -0800 Engine • revision 1837b5be5f Tools • Dart 2.19.4 • DevTools 2.20.1 Launching lib/main.dart on eLinux in debug mode... Building an eLinux application with wayland backend in debug mode for arm64 target... 13.5s [ERROR][ELinuxWindowWayland(887)] Failed to connect to the Wayland display. [ERROR][CreateRenderSurface(1129)] Wayland display is invalid. Failed to create view controller. Error waiting for a debug connection: The log reader stopped unexpectedly. Error launching application on eLinux.

flutter-elinux devices Flutter 3.7.7 • channel unknown • unknown source Framework • revision 2ad6cd72c0 (2 weeks ago) • 2023-03-08 09:41:59 -0800 Engine • revision 1837b5be5f Tools • Dart 2.19.4 • DevTools 2.20.1 3 connected devices:

Linux (desktop) • linux • linux-arm64 • Ubuntu 20.04.5 LTS 5.10.110 eLinux (desktop) • elinux-wayland • flutter-tester • Ubuntu 20.04.5 LTS 5.10.110 eLinux (desktop) • elinux-x11 • flutter-tester • Ubuntu 20.04.5 LTS 5.10.110

My system information lsb_release -a LSB Version: core-11.1.0ubuntu2-noarch:security-11.1.0ubuntu2-noarch Distributor ID: Ubuntu Description: Ubuntu 20.04.5 LTS Release: 20.04 Codename: focal

talksik commented 1 year ago

Same issue, any thoughts @HidenoriMatsubayashi ?

Running Jetson nano with the ubuntu version it came with. Installed all artifacts and dependencies.

HidenoriMatsubayashi commented 1 year ago

Can you put your command and the logs?

talksik commented 1 year ago

I tried running flutter-elinux run -d elinux-wayland. I found out today that even though my Jetson nano runs ubuntu, it doesn't use Wayland.

Running flutter-elinux run -d elinux-x11 works, but crashes after a couple clicks.

I am trying to get wayland set up on jetson nano. I am not sure if this is possible though. I found this doc regarding supported devices. It seems I have to try DRM method for the Nano. I wonder why Wayland has a grey checkmark vs. a green checkmark. I ran into the same issue as stated here. Could not find /dev/dri/card0 and no /dev/dri/card1 either. In fact, no dri folder in /dev at all on the Jetson nano.

The docs are a little confusing, I am happy to help. It seems to jump users around as to what they need. For example, this initial page has a "See also ..." However, I am not sure if the page that it leads to is mandatory or not.

I also found that the wikis are different based on which repo we are on. Both of them are dependent on each other which increases confusion.

This section about "Install the flutter engine library" says to install in cmake build folder. I assume that this means the /usr/lib/bin. OR do we put it somewhere else within the flutter projects /build folder after running build?

Here are the steps I ran trying to run on Jetson nano drm mode:

  1. Install flutter-elinux CLI and add to path + drm mandatory dependencies
  2. flutter-elinux create test
  3. ctl + alt + f3 to go into CUI
  4. flutter-elinux pub get
  5. flutter-elinux build elinux --target-backend-type=gbm --debug
  6. sudo FLUTTER_DEV_DEVICE="/dev/dri/card0" ./test --bundle=./build/elinux/arm64/debug/bundle

Getting error:

Can't open /dev/dri/card0.
Failed to create the native window (/dev/dri/card0)
Failed to create view controller

For more context, I have a keyboard, mouse, and HDMI touch screen attached. I freshly installed ubuntu image from Nvidia website as they recommended.

Out of curiosity, is Sony still invested in this project? I know it was started some time ago, but I want to see if this is stable and used by customers and if this is backed by a big enough team with enough resources to provide stability. Regardless, @HidenoriMatsubayashi I appreciate all that you are doing for this project 🙏🏾

talksik commented 1 year ago

Sorry for the noise, but any ideas @HidenoriMatsubayashi ?

🙏