Skip to content

Enabling Flutter GPU on macOS with FLTEnableFlutterGPU key in Info.plist doesn't work #173648

Description

@domesticmouse

Steps to reproduce

  1. Change to Flutter's main branch
  2. Clone https://github.com/domesticmouse/spinning_cube2
  3. Run flutter run --enable-flutter-gpu -d macos, it works as expected
  4. Run without the --enable-flutter-gpu. It dies a horrible death.

Note this is happening even with FLTEnableFlutterGPU key in macos/Runner/Info.plist

Expected results

I expect that FLTEnableFlutterGPU key in macos/Runner/Info.plist should be sufficient to enable Flutter GPU on macOS.

Actual results

Not so much

Code sample

Code sample
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>CFBundleDevelopmentRegion</key>
	<string>$(DEVELOPMENT_LANGUAGE)</string>
	<key>CFBundleExecutable</key>
	<string>$(EXECUTABLE_NAME)</string>
	<key>CFBundleIconFile</key>
	<string></string>
	<key>CFBundleIdentifier</key>
	<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
	<key>CFBundleInfoDictionaryVersion</key>
	<string>6.0</string>
	<key>CFBundleName</key>
	<string>$(PRODUCT_NAME)</string>
	<key>CFBundlePackageType</key>
	<string>APPL</string>
	<key>CFBundleShortVersionString</key>
	<string>$(FLUTTER_BUILD_NAME)</string>
	<key>CFBundleVersion</key>
	<string>$(FLUTTER_BUILD_NUMBER)</string>
	<key>LSMinimumSystemVersion</key>
	<string>$(MACOSX_DEPLOYMENT_TARGET)</string>
	<key>NSHumanReadableCopyright</key>
	<string>$(PRODUCT_COPYRIGHT)</string>
	<key>NSMainNibFile</key>
	<string>MainMenu</string>
	<key>NSPrincipalClass</key>
	<string>NSApplication</string>
	<!-- Enable flutter_gpu -->
	<key>FLTEnableFlutterGPU</key>
	<true />
</dict>
</plist>

Screenshots or Video

Screenshots / Video demonstration

[Upload media here]

Logs

Logs
$ flutter run -d macos                      
Launching lib/main.dart on macOS in debug mode...
2025-08-13 06:27:09.502 xcodebuild[71139:53381436]  DVTDeviceOperation: Encountered a build number "" that is incompatible with DVTBuildVersion.
2025-08-13 06:27:09.531 xcodebuild[71139:53381427] [MT] DVTDeviceOperation: Encountered a build number "" that is incompatible with DVTBuildVersion.
Building macOS application...                                           
✓ Built build/macos/Build/Products/Debug/spinning_cube.app
2025-08-13 06:27:12.598 spinning_cube[71316:53382306] Running with merged UI and platform thread. Experimental.
Failed to foreground app; open returned 1
Another exception was thrown: Exception: Flutter GPU must be enabled via the Flutter GPU manifest setting. This can be done either via command line argument --enable-flutter-gpu or by adding the FLTEnableFlutterGPU key set to true on
iOS or io.flutter.embedding.android.EnableFlutterGPU metadata key to true on Android.
Another exception was thrown: Exception: Flutter GPU must be enabled via the Flutter GPU manifest setting. This can be done either via command line argument --enable-flutter-gpu or by adding the FLTEnableFlutterGPU key set to true on
iOS or io.flutter.embedding.android.EnableFlutterGPU metadata key to true on Android.
Another exception was thrown: Exception: Flutter GPU must be enabled via the Flutter GPU manifest setting. This can be done either via command line argument --enable-flutter-gpu or by adding the FLTEnableFlutterGPU key set to true on
iOS or io.flutter.embedding.android.EnableFlutterGPU metadata key to true on Android.

Flutter Doctor output

Doctor output
$ flutter doctor -v                         
[✓] Flutter (Channel master, 3.33.0-1.0.pre-1368, on macOS 15.6 24G84 darwin-arm64, locale en-AU) [809ms]
    • Flutter version 3.33.0-1.0.pre-1368 on channel master at /Users/brett/flutter
    • Upstream repository https://github.com/flutter/flutter
    • Framework revision b0c8612eda (2 hours ago), 2025-08-12 11:44:43 -0700
    • Engine revision b0c8612eda
    • Dart version 3.10.0 (build 3.10.0-88.0.dev)
    • DevTools version 2.49.0
    • Feature flags: enable-web, enable-linux-desktop, enable-macos-desktop, enable-windows-desktop, enable-android, enable-ios, cli-animations, enable-native-assets, enable-lldb-debugging

[!] Android toolchain - develop for Android devices (Android SDK version 36.0.0) [1,488ms]
    • Android SDK at /Users/brett/Library/Android/sdk
    • Emulator version 36.1.9.0 (build_id 13823996) (CL:N/A)
    • Platform android-36, build-tools 36.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
      This is the JDK bundled with the latest Android Studio installation on this machine.
      To manually set the JDK path, use: `flutter config --jdk-dir="path/to/jdk"`.
    • Java version OpenJDK Runtime Environment (build 21.0.3+-79915917-b509.11)
    ! Some Android licenses not accepted. To resolve this, run: flutter doctor --android-licenses

[✓] Xcode - develop for iOS and macOS (Xcode 16.4) [539ms]
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 16F6
    • CocoaPods version 1.16.2

[✓] Chrome - develop for the web [4ms]
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Connected device (2 available) [5.6s]
    • macOS (desktop) • macos  • darwin-arm64   • macOS 15.6 24G84 darwin-arm64
    • Chrome (web)    • chrome • web-javascript • Google Chrome 139.0.7258.67
    ! Error: Browsing on the local area network for Brett’s iPad. Ensure the device is unlocked and attached with a cable or associated with the same local area network as this Mac.
      The device must be opted into Developer Mode to connect wirelessly. (code -27)
    ! Error: Browsing on the local area network for Brett’s iPhone. Ensure the device is unlocked and attached with a cable or associated with the same local area network as this Mac.
      The device must be opted into Developer Mode to connect wirelessly. (code -27)

[✓] Network resources [985ms]
    • All expected network resources are available.

! Doctor found issues in 1 category.

Metadata

Metadata

Assignees

Labels

P3Issues that are less important to the Flutter projecte: impellerImpeller rendering backend issues and features requestsengineflutter/engine related. See also e: labels.flutter-gputeam-engineOwned by Engine teamtriaged-engineTriaged by Engine team

Type

No type
No fields configured for issues without a type.

Projects

Status
✅ Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions