Comments (13)
Thanks. I'll update.
from flutter-embedded-linux.
I've updated README.
from flutter-embedded-linux.
Thank you for your help! Now, there seems to be an issue when working in debug mode. We are investigating to break down the issue whether it is a Flutter Engine issue or our embedder issue.
from flutter-embedded-linux.
libflutter_linux_gtk.so
is for the official Flutter desktop for Linux using GTK. It includes libflutter_engine.so
.
from flutter-embedded-linux.
Aha, if I'm reading it correctly, this is the line which includes libflutter_engine.so
: https://github.com/flutter/engine/blob/8c25ca1bfdba758137f102ea37e84291d5f0a74f/shell/platform/linux/BUILD.gn#L147
from flutter-embedded-linux.
Thank you, the READMEs are much clearer now 👍
I think this ticket is ready for closing.
from flutter-embedded-linux.
Dealing with the depot_tools
at the moment - keeps bundling the wrong Dart VM (switching to beta now with next possible step compiling from a container?). Once I get through that problem, will jump back to this ticket.
I'm contemplating the following setup:
- Release engine in
/usr/lib
- Probably, debug && profile libraries in
/home/<user_name>/flutter_engine/debug
&&/home/<user_name>/flutter_engine/profile
- Observe and present behaviour when launching the
sample
project in different modes
Would additional clarification be needed for other users that the library path refers to the directory containing libflutter_engine.so
and not the full path to the file?
from flutter-embedded-linux.
The absolute path of libflutter_engine.so
is specified in the cmake file to build. So, you need to install it to '/usr/lib' when you build. Is there any other good way?
from flutter-embedded-linux.
@HidenoriMatsubayashi , I'm not sure about the build stage. I would prefer to spend some time checking the cmake documentation before making any suggestion.
Resolved (partially) my issue when compiling the embedder library - I had a remnant from flutter-git AUR package on my x64 host system causing some conflicts with my main flutter install. Now the depot tools are working as they should at least towards my aarch64 devices and the bundled Dart VM is as expected.
Created the following setup on the PinebookPro (rk3399 system):
-
Compiled the embedder with
libflutter_engine.so
(release) -
Removed
libflutter_engine.so
from/usr/lib
-
Placed debug/profile/release engine libraries as:
➜ md5sum ~/flutter_engine/debug/libflutter_engine.so
de613cd619f7c90c9ed0ebc3bad257ee /home/pak0st/flutter_engine/debug/libflutter_engine.so
➜ md5sum ~/flutter_engine/profile/libflutter_engine.so
3a5bc2a9bcdfb17a8b4e2626ba645643 /home/pak0st/flutter_engine/profile/libflutter_engine.so
➜ md5sum ~/flutter_engine/release/libflutter_engine.so
f37b7067f8255a8217e73d5be1d3bf6e /home/pak0st/flutter_engine/release/libflutter_engine.so
Running with proflile and release went well. Commands:
LD_LIBRARY_PATH=/home/pak0st/flutter_engine/profile ./flutter-client ./sample/build/linux/arm64/profile/bundle
Profile modeLD_LIBRARY_PATH=/home/pak0st/flutter_engine/release ./flutter-client ./sample/build/linux/arm64/release/bundle
Release mode
The debug mode doesn't show any text for whatever reason:
LD_LIBRARY_PATH=/home/pak0st/flutter_engine/debug ./flutter-client ./sample/build/linux/arm64/debug/bundle
Debug mode
No additional output when checking with gdb/lldb.
While not perfect, still a good progress I believe
from flutter-embedded-linux.
What's the difference between the custom libflutter_engine.so
library and the one Flutter fetches on the arm64 device libflutter_linux_gtk.so
?
from flutter-embedded-linux.
I was looking back through the commits of the flutter-desktop-embedder
trying to find how the engine library was generated before they were pushed to the Flutter repository. I believe this the one. I wonder if something can be salvaged from there.
from flutter-embedded-linux.
Thank you for your information. I'll check it from now.
from flutter-embedded-linux.
I've updated READMEs.
from flutter-embedded-linux.
Related Issues (20)
- Application window does not display correctly on weston HOT 8
- Add Impeller support HOT 1
- Add FlutterEngineNotifyDisplayUpdate support HOT 2
- Debug - Can only start Dart VM service, not observatory HOT 1
- Support DRM-GBM Backend for IMX GPU Vivante 6 Driver HOT 4
- Atomic Modeset fails HOT 8
- waylnd: [FATAL:flutter/shell/common/display_manager.cc(32)] Check failed: displays_.empty(). HOT 14
- DRM mode on raspberry pi 4b Error: Couldn't find file "symbols/US" in include paths HOT 3
- "text_scaling_factor" should default to 1 if unset HOT 1
- Internal CI for Engine artifacts doesn't work HOT 2
- xdg_wm_base@11: error 4: xdg_surface buffer (1280 x 720) is larger than the configured fullscreen state (1024 x 600) HOT 3
- Missing calls to "registerWith()" in generated dart_plugin_registrant.dart HOT 1
- Missing calls to "registerWith()" in generated dart_plugin_registrant.dart HOT 16
- Does this project run without systemd? HOT 1
- Disconnecting mouse that is hovering over button on wayland client results in Segmentation fault HOT 4
- how to measure flutter performance on embedded device HOT 4
- Support multiple wl_seats for remote desktop sharing HOT 3
- Turning the display OFF/ON swaps the width and height of the application HOT 9
- Dart VM: Wrong full snapshot version, expected XXX, found YYY HOT 2
- Incorrect snapshot architecture HOT 7
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from flutter-embedded-linux.