/flutter-compositor

Flutter based Wayland compositor library

Primary LanguageRustMozilla Public License 2.0MPL-2.0

Rewrite in progress: flutter-drm

Currently most work is happening on flutter-drm. flutter-compositor will then be rewritten to expose wayland ontop of the flutter-drm rendering library.

Flutter Compositor

flutter-compositor is an experimental library for embedding flutter for wayland compositor creation. This library allows you to write a wayland compositor using dart and flutter (and a small amount of Rust glue logic), with all the standard libraries you are used to.

Status

Experimental

This library is not ready for use. Currently basic features are being implemented, with some core features not implemented, due to a mixture of time constraints and upstream missing features.

Features

Only a small number of features are currently implemented.

  • Flutter rendering
  • logind support
  • winit support (used for testing)
  • tty-udev support
  • Keyboard Input
  • Pointer Input (mouse)
  • Touch Input
  • Flutter channels
  • Dart FFI
  • SHM support
  • Wayland Shell
  • Xdg Shell
  • Data device support (i.e. clipboard & drag and drop)
  • nVidea support (Blocked by Smitahy#128)
  • Multi-monitor support (Blocked by Flutter#30701)
  • Damage tracking (Blocked by Flutter#33939)
  • Performance