-
Notifications
You must be signed in to change notification settings - Fork 607
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Linux Support #2
Comments
Related: Any chance of a hosted engine/FlutterEmbedder.framework for linux so we could use that to build embedders instead of having to build the engine ourselves? |
That would be a request you should make to the Flutter project, which is where the prebuild macOS framework comes from. Building and hosting the engine is out of scope for this project (per the README), nor would it make sense for different platforms to have prebuilt engines hosted in completely different locations. |
Having platform channels require you go through either Objective C or Java probably doesnt help either :) Can see why you might prefer experimenting with Mac for the time being. I think Linux is very much a moving target right now with xdg-portals so might be best to hold off anyway as they havent been fully fleshed out yet. Also heard rumblings of investigatation of direct c, c++ support with flutter engine so there is hope in the future I guess :P Still an interesting project to follow and thank's for working on this, looking forward to seeing how it evolves. |
I'm working on a simple embedder for Linux that runs on top of GTK (it links w/ the Flutter engine). An initial version should be pushed this week 😄 |
@awdavies have you seen -> https://github.com/flatpak/xdg-desktop-portal/tree/master/src , used for flatpak and snap soon too, maybe going the glfw route and using portals for accessing filechooser, webcam etc would be safer bet. Gtk and kde are moving towards xdg-portals anyway. |
org.flutter.platform runtime and org.flutter.sdk might be good idea in long run as well. Allowing people to develop a flutter app against a certain version of flutter with sandboxing and without having to worry about distro specific issues like whenever this version of flutter is supported on this distro and whether that certain of gtk is supported on that distro. They might even just want to deploy an app for Android with deviced and adb in future and deploy for Linux with flatpak on local machine or over network or USB with deviced and have something like sentry to help track crashes on Android and Linux deployments. |
I'm not sure what you mean; the embedding API is C. But either way, that's out of scope for this issue which is simply about getting the basics (drawing, click events) up and running.
These implementations aren't set in stone. We're exploring options, and having the basics of a second platform working lets us explore further; GTK gives us a clear path to getting the initial steps working. We may change approaches in the future. As for the last comment: we're at the stage of needing to figure out things like real mouse support and a multi-view plan. Let's figure out crawling and walking before we start designing airplanes. |
@mrmcq2u I have not! But as @stuartmorgan said we're just exploring implementation options right now, so none of this is set in stone. GTK appeared to be a good option to getting off the ground quickly, but it's definitely looking like GLFW might be easier since GTK's GtkGLArea class doesn't take "disable auto render" very seriously (making it a bit of a pain to use since we're handling all the rendering in a separate thread, though so far this is only an issue when resizing the application via dragging the corners of the window). |
I am very, very interested in this, and surprised this has not been making waves in the linux world! Having linux target for mobile apps would be a game changer. Right now gnome does not even have anything resembling sane frontend dev environment, and kde is boggled in C++ which does not have working bindings to anything relevant. If anything came close to "Linux year on the desktop" it is this ;-) |
It's in! |
Please x 10 make this work on Linux (Ubuntu)!
The text was updated successfully, but these errors were encountered: