Skip to content

Commit b54410a

Browse files
chinmaygardemboetger
authored andcommitted
[Impeller] Update README to add section about custom embedders. (flutter#170077)
Also cleans up out-of-date iOS/Android guidance. Fixes flutter#170074
1 parent 8a01c3d commit b54410a

File tree

1 file changed

+23
-20
lines changed

1 file changed

+23
-20
lines changed

engine/src/flutter/impeller/README.md

Lines changed: 23 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -176,37 +176,29 @@ Flutter tool, follow the platform specific steps below.
176176

177177
### iOS
178178

179-
Flutter enables Impeller by **default** on iOS.
179+
Impeller is the only rendering engine available on iOS. The legacy renderer has been removed.
180180

181-
> [!CAUTION]
182-
> The ability to disable Impeller is going to go away in a future release. Please [file
183-
> an issue](https://github.com/flutter/flutter/issues/new/choose) if you need to do this
184-
> in your application. A warning will be displayed on application launch if you opt-out.
181+
### Android
185182

186-
To **disable** Impeller on iOS, update your `Info.plist` file to add the following
187-
under the top-level `<dict>` tag:
183+
Impeller is the **default** on Android. Impeller will attempt to use Vulkan first and then
184+
fall back to OpenGL rendering depending on device capabilities.
188185

189-
```xml
190-
<key>FLTEnableImpeller</key>
191-
<false/>
192-
```
193-
194-
### Android
186+
To explicitly opt out of using Impeller, add the following to your `AndroidManifest.xml`
187+
under the `<application>` tag.
195188

196-
Impeller will use Vulkan on Android by **default**. To explicitly opt out of using Impeller,
197-
add the following to your `AndroidManifest.xml` under the `<application>` tag.
189+
> [!CAUTION]
190+
> The ability to disable Impeller is going to go away in a future release. Please [file
191+
> an issue](https://github.com/flutter/flutter/issues/new/choose) if you need to do this
192+
> in your application.
198193
199194
```xml
200195
<meta-data
201196
android:name="io.flutter.embedding.android.EnableImpeller"
202197
android:value="false" />
203198
```
204199

205-
Where Vulkan is unavailable, Impeller will fallback to Skia.
206-
207-
However, Impellers OpenGL backend is well under construction. To try Impeller with OpenGL
208-
in your application, add the following to your `AndroidManifest.xml` file under the
209-
`<application>` tag:
200+
During development, to try Impeller with OpenGL in your application, add the following
201+
to your `AndroidManifest.xml` file under the `<application>` tag:
210202

211203
> [!Warning]
212204
> Selecting the Impeller backend this way will only work in `debug` and `profile`
@@ -229,6 +221,17 @@ To your `Info.plist` file, add under the top-level `<dict>` tag:
229221
<true/>
230222
```
231223

224+
### Custom Embedders
225+
226+
Impeller is in preview on [custom embedders](https://docs.flutter.dev/embedded). It is **not**
227+
enabled by default.
228+
229+
To enable it Impeller in your application, pass the `--enable-impeller=true` command line
230+
argument to [`FlutterProjectArgs.command_line_argv`](https://github.com/flutter/flutter/blob/63980cb25ba5b70122f2814406989eb5fa8ef5a1/engine/src/flutter/shell/platform/embedder/embedder.h#L2388)
231+
during application initialization.
232+
233+
Impeller does not require any other modifications in the embedder.
234+
232235
## Embedding Standalone Impeller
233236

234237
Impeller is designed to work best when used by Flutter. Most of the teams

0 commit comments

Comments
 (0)