You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
stuartmorgan 888f58887b
Use generated plugin makefile on Linux (#686)
19 hours ago
.github GitHub Actions: Remove BOT declaration 2 weeks ago
example Use generated plugin makefile on Linux (#686) 19 hours ago
plugins Use generated plugin makefile on Linux (#686) 19 hours ago
testbed Use generated plugin makefile on Linux (#686) 19 hours ago
.clang-format Rework Linux plugin API (#61) 1 year ago
.gitignore Migrate Linux plugins to make, and remove GN (#394) 9 months ago Migrate Linux plugins to make, and remove GN (#394) 9 months ago
LICENSE Initial commit 2 years ago Update main README intro 1 month ago
analysis_options.yaml Fix some minor analyzer issues (#401) 8 months ago Update sandboxing notes 2 months ago

Desktop Embedding for Flutter

This project was originally created to develop Windows, macOS, and Linux embeddings of Flutter. That work has since become part of Flutter; what is left here are the parts that have not yet stabilized enough to merge into the Flutter project, including:

  • Preliminary runners for Windows and Linux (via the example).
  • Experimental, early-stage desktop plugins.
  • A starting point and preliminary instructions for using and/or writing plugins on Windows and Linux.

The code here is not stable, nor intended for production use.

Setting Up

This project is closely tied to changes in the Flutter repository, so you must be on the latest version of the Flutter master channel. You should always update this repository and Flutter at the same time, as breaking changes for desktop happen frequently.


First you will need to enable Flutter desktop support for your platform.

Then run flutter doctor and be sure that no issues are reported for the sections relevant to your platform.

Running a Project


Once you have everything set up, just flutter run in the example directory to run your first desktop Flutter application!

Note: Only debug mode is currently available for Windows and Linux. Running with --release or --profile will succeed, but the result will still be using a debug Flutter configuration: asserts will fire, the observatory will be enabled, etc.

Running Other Flutter Projects

See the example README for information on using the example as a starting point to run another project.

Repository Structure

testbed is a more complex example that is primarily intended for people actively working on Flutter for desktop. See its README for details.

The plugins directory has early-stage desktop plugins. See the README for details.

Feedback and Discussion

For bug reports and feature requests specific to the example or the plugins, you can file GitHub issues. Bugs and feature requests related to desktop support in general should be filed in the Flutter issue tracker.

For general discussion and questions there's a project mailing list.


  • This is not an officially supported Google product.
  • The code and examples here, and the desktop Flutter libraries they use, are in early stages, and not intended for production use.