flutter / flutter/flutter

Toggle buttons don't announce state changes

Open
#183,660 6 comments 0 reactions 0 assignees View on GitHub
a: accessibility has reproducible steps P2 platform-linux platform-macos platform-windows team-linux triaged-linux
Dominant language
Dart
Stars
179k
Forks
31.1k
PR merge metrics
PR metrics pending

Description

### Steps to reproduce

1. Create a new Flutter project with `flutter create ...`
2. Add a `Switch`, `SwitchListTile`, `Checkbox`, etc. with state
3. Run the project and focus the button
4. Press enter to toggle, and observe no announcements by the screen reader

### Expected results

The screen reader should announce when a toggle button's state changes. This applies to buttons themselves and also their tile variants.

### Actual results

No announcement is made for state changes, only when the button is focused.

This seems to apply to Windows as well, though this report is focused on Linux.

### Code sample

Code sample

```dart
import 'package:flutter/material.dart';

void main() {
runApp(const MyApp());
}

class MyApp extends StatelessWidget {
const MyApp({super.key});

@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(colorScheme: .fromSeed(seedColor: Colors.deepPurple)),
home: const MyHomePage(title: 'Flutter Demo Home Page'),
);
}
}

class MyHomePage extends StatefulWidget {
const MyHomePage({super.key, required this.title});
final String title;

@override
State createState() => _MyHomePageState();
}

class _MyHomePageState extends State {
int _counter = 0;
bool _value = false;

void _incrementCounter() {
setState(() {
_counter++;
});
}

@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
backgroundColor: Theme.of(context).colorScheme.inversePrimary,
title: Text(widget.title),
),
body: Center(
child: Column(
mainAxisAlignment: .center,
children: [
const Text('You have pushed the button this many times:'),
Text(
'$_counter',
style: Theme.of(context).textTheme.headlineMedium,
),
SwitchListTile(
value: _value,
onChanged: (v) => setState(() {
_value = v;
}),
),
],
),
),
floatingActionButton: FloatingActionButton(
onPressed: _incrementCounter,
tooltip: 'Increment',
child: const Icon(Icons.add),
),
);
}
}

```

### Screenshots or Video

_No response_

### Logs

Logs

```console
$ fvm flutter run -v

[ +29 ms] Unable to locate an Android SDK.
[ +2 ms] executing: uname -m
[ +5 ms] Exit code 0 from: uname -m
[ ] x86_64
[ +4 ms] Artifact Instance of 'MaterialFonts' is not required, skipping update.
[ ] Artifact Instance of 'GradleWrapper' is not required, skipping update.
[ ] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[ ] Artifact Instance of 'LegacyCanvasKitRemover' is not required, skipping update.
[ ] Artifact Instance of 'FlutterSdk' is not required, skipping update.
[ ] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[ ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'FontSubsetArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'PubDependencies' is not required, skipping update.
[ ] executing: [/home/[USERNAME]/fvm/versions/3.41.4/] git -c log.showSignature=false log HEAD -n 1
--pretty=format:%ad --date=iso
[ +6 ms] Exit code 0 from: git -c log.showSignature=false log HEAD -n 1 --pretty=format:%ad --date=iso
[ ] 2026-03-03 16:03:22 -0800
[ +14 ms] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[ ] Artifact Instance of 'FlutterEngineStamp' is not required, skipping update.
[ ] Artifact Instance of 'LegacyCanvasKitRemover' is not required, skipping update.
[ ] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[ +25 ms] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[ ] Artifact Instance of 'FlutterEngineStamp' is not required, skipping update.
[ ] Artifact Instance of 'LegacyCanvasKitRemover' is not required, skipping update.
[ ] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[ ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[ +25 ms] executing: [/home/[USERNAME]/Projects/temp/skeleton/]
/home/[USERNAME]/fvm/versions/3.41.4/bin/cache/dart-sdk/bin/dart pub --suppress-analytics --color --directory
. get --example
Resolving dependencies...
Downloading packages...
meta 1.17.0 (1.18.1 available)
Got dependencies!
1 package has newer versions incompatible with dependency constraints.
Try `flutter pub outdated` for more information.
[ +102 ms] Skipping generating generated_plugin_registrant.h because it is up-to-date.
[ +2 ms] Skipping generating generated_plugin_registrant.cc because it is up-to-date.
[ +1 ms] Skipping generating generated_plugins.cmake because it is up-to-date.
[ +23 ms] Initializing file store
[ ] Done initializing file store
[ +6 ms] Skipping target: gen_localizations
[ +1 ms] gen_dart_plugin_registrant: Starting due to {InvalidatedReasonKind.inputChanged: The following inputs have updated
contents: /home/[USERNAME]/Projects/temp/skeleton/.dart_tool/package_config.json}
[ +18 ms] gen_dart_plugin_registrant: Complete
[ +1 ms] Skipping target: _composite
[ +1 ms] complete
[ +3 ms] Launching lib/main.dart on Linux in debug mode...
[ +2 ms] /home/[USERNAME]/fvm/versions/3.41.4/bin/cache/dart-sdk/bin/dartaotruntime
/home/[USERNAME]/fvm/versions/3.41.4/bin/cache/dart-sdk/bin/snapshots/frontend_server_aot.dart.snapshot
--sdk-root /home/[USERNAME]/fvm/versions/3.41.4/bin/cache/artifacts/engine/common/flutter_patched_sdk/
--incremental --target=flutter --experimental-emit-debug-metadata -DFLUTTER_VERSION=3.41.4 -DFLUTTER_CHANNEL=stable
-DFLUTTER_GIT_URL=https://github.com/flutter/flutter.git -DFLUTTER_FRAMEWORK_REVISION=ff37bef603
-DFLUTTER_ENGINE_REVISION=e4b8dca3f1 -DFLUTTER_DART_VERSION=3.11.1 --output-dill
/tmp/flutter_tools.KACZKY/flutter_tool.HWJBLQ/app.dill --packages
/home/[USERNAME]/Projects/temp/skeleton/.dart_tool/package_config.json -Ddart.vm.profile=false
-Ddart.vm.product=false --enable-asserts --track-widget-creation --filesystem-scheme org-dartlang-root --initialize-from-dill
build/8730b13ca0249799964d0a71255a8f3b.cache.dill.track.dill --verbosity=error
--enable-experiment=alternative-invalidation-strategy
[ +12 ms] Building Linux application...
[ +5 ms] <- compile package:skeleton/main.dart
[ +1 ms] executing: [/home/[USERNAME]/Projects/temp/skeleton/build/linux/x64/debug/] cmake -G Ninja
-DCMAKE_BUILD_TYPE=Debug -DFLUTTER_TARGET_PLATFORM=linux-x64 /home/[USERNAME]/Projects/temp/skeleton/linux
[ +75 ms] -- Configuring done (0.1s)
[ +7 ms] -- Generating done (0.0s)
[ +113 ms] -- Build files have been written to: /home/[USERNAME]/Projects/temp/skeleton/build/linux/x64/debug
[ +4 ms] executing: ninja -C /home/[USERNAME]/Projects/temp/skeleton/build/linux/x64/debug install
[ +71 ms] ninja: Entering directory `/home/[USERNAME]/Projects/temp/skeleton/build/linux/x64/debug'
[+1418 ms] [1/5] Generating
/home/[USERNAME]/Projects/temp/skeleton/linux/flutter/ephemeral/libflutter_linux_gtk.so,
/home/[USERNAME]/Projects/temp/skeleton/linux/flutter/ephemeral/flutter_linux/fl_basic_message_channel.h,
/home/[USERNAME]/Projects/temp/skeleton/linux/flutter/ephemeral/flutter_linux/fl_binary_codec.h,
/home/[USERNAME]/Projects/temp/skeleton/linux/flutter/ephemeral/flutter_linux/fl_binary_messenger.h,
/home/[USERNAME]/Projects/temp/skeleton/linux/flutter/ephemeral/flutter_linux/fl_dart_project.h,
/home/[USERNAME]/Projects/temp/skeleton/linux/flutter/ephemeral/flutter_linux/fl_engine.h,
/home/[USERNAME]/Projects/temp/skeleton/linux/flutter/ephemeral/flutter_linux/fl_json_message_codec.h,
/home/[USERNAME]/Projects/temp/skeleton/linux/flutter/ephemeral/flutter_linux/fl_json_method_codec.h,
/home/[USERNAME]/Projects/temp/skeleton/linux/flutter/ephemeral/flutter_linux/fl_message_codec.h,
/home/[USERNAME]/Projects/temp/skeleton/linux/flutter/ephemeral/flutter_linux/fl_method_call.h,
/home/[USERNAME]/Projects/temp/skeleton/linux/flutter/ephemeral/flutter_linux/fl_method_channel.h,
/home/[USERNAME]/Projects/temp/skeleton/linux/flutter/ephemeral/flutter_linux/fl_method_codec.h,
/home/[USERNAME]/Projects/temp/skeleton/linux/flutter/ephemeral/flutter_linux/fl_method_response.h,
/home/[USERNAME]/Projects/temp/skeleton/linux/flutter/ephemeral/flutter_linux/fl_plugin_registrar.h,
/home/[USERNAME]/Projects/temp/skeleton/linux/flutter/ephemeral/flutter_linux/fl_plugin_registry.h,
/home/[USERNAME]/Projects/temp/skeleton/linux/flutter/ephemeral/flutter_linux/fl_standard_message_codec.h,
/home/[USERNAME]/Projects/temp/skeleton/linux/flutter/ephemeral/flutter_linux/fl_standard_method_codec.h,
/home/[USERNAME]/Projects/temp/skeleton/linux/flutter/ephemeral/flutter_linux/fl_string_codec.h,
/home/[USERNAME]/Projects/temp/skeleton/linux/flutter/ephemeral/flutter_linux/fl_value.h,
/home/[USERNAME]/Projects/temp/skeleton/linux/flutter/ephemeral/flutter_linux/fl_view.h,
/home/[USERNAME]/Projects/temp/skeleton/linux/flutter/ephemeral/flutter_linux/flutter_linux.h, _phony_
[ +1 ms] [ +47 ms] Unable to locate an Android SDK.
[ ] [ +2 ms] executing: uname -m
[ ] [ +4 ms] Exit code 0 from: uname -m
[ ] [ ] x86_64
[ ] [ +7 ms] Artifact Instance of 'MaterialFonts' is not required, skipping update.
[ ] [ ] Artifact Instance of 'GradleWrapper' is not required, skipping update.
[ ] [ ] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[ ] [ ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[ ] [ ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[ ] [ ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[ ] [ ] Artifact Instance of 'LegacyCanvasKitRemover' is not required, skipping update.
[ ] [ ] Artifact Instance of 'FlutterSdk' is not required, skipping update.
[ ] [ ] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[ ] [ ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[ ] [ ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[ ] [ ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[ ] [ ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[ ] [ ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[ ] [ ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[ ] [ ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[ ] [ ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[ ] [ ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[ ] [ ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[ ] [ ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[ ] [ ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[ ] [ ] Artifact Instance of 'FontSubsetArtifacts' is not required, skipping update.
[ ] [ ] Artifact Instance of 'PubDependencies' is not required, skipping update.
[ ] [ +8 ms] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[ ] [ ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[ ] [ ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[ ] [ ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[ ] [ ] Artifact Instance of 'FlutterEngineStamp' is not required, skipping update.
[ ] [ ] Artifact Instance of 'LegacyCanvasKitRemover' is not required, skipping update.
[ ] [ +2 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[ ] [ ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[ ] [ ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[ ] [ ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[ ] [ ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[ ] [ ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[ ] [ ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[ ] [ +28 ms] Artifact Instance of 'MaterialFonts' is not required, skipping update.
[ ] [ ] Artifact Instance of 'GradleWrapper' is not required, skipping update.
[ ] [ ] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[ ] [ ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[ ] [ ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[ ] [ ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[ ] [ ] Artifact Instance of 'FlutterEngineStamp' is not required, skipping update.
[ ] [ ] Artifact Instance of 'LegacyCanvasKitRemover' is not required, skipping update.
[ ] [ ] Artifact Instance of 'FlutterSdk' is not required, skipping update.
[ ] [ ] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[ ] [ ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[ ] [ ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[ ] [ ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[ ] [ ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[ ] [ ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[ ] [ ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[ ] [ ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[ ] [ ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[ ] [ ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[ ] [ ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[ ] [ ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[ ] [ ] Artifact Instance of 'FontSubsetArtifacts' is not required, skipping update.
[ ] [ ] Artifact Instance of 'PubDependencies' is not required, skipping update.
[ ] [ +5 ms] Initializing file store
[ ] [ +5 ms] Done initializing file store
[ ] [ +20 ms] Skipping target: dart_build
[ ] [ ] Skipping target: gen_dart_plugin_registrant
[ ] [ +602 ms] Skipping target: unpack_linux
[ ] [ ] Skipping target: install_code_assets
[ ] [ ] Skipping target: gen_localizations
[ ] [ +215 ms] Skipping target: kernel_snapshot_program
[ ] [ +147 ms] Skipping target: debug_bundle_linux-x64_assets
[ ] [ ] Persisting file store
[ ] [ +4 ms] Done persisting file store
[ ] [ +7 ms] build succeeded.
[ ] [ ] "flutter assemble" took 1,051ms.
[ ] [ +10 ms] Running 1 shutdown hook
[ ] [ ] Shutdown hooks complete
[ ] [ ] exiting with code 0
[ +89 ms] [2/3] Linking CXX executable intermediates_do_not_run/skeleton
[ ] [2/3] Install the project...
[ +8 ms] -- Install configuration: "Debug"
[ +17 ms] -- Installing: /home/[USERNAME]/Projects/temp/skeleton/build/linux/x64/debug/bundle/skeleton
[ ] -- Set non-toolchain portion of runtime path of
"/home/[USERNAME]/Projects/temp/skeleton/build/linux/x64/debug/bundle/skeleton" to "$ORIGIN/lib"
[ ] -- Installing: /home/[USERNAME]/Projects/temp/skeleton/build/linux/x64/debug/bundle/data/icudtl.dat
[ +1 ms] -- Installing:
/home/[USERNAME]/Projects/temp/skeleton/build/linux/x64/debug/bundle/lib/libflutter_linux_gtk.so
[ +105 ms] -- Up-to-date: /home/[USERNAME]/Projects/temp/skeleton/build/linux/x64/debug/bundle/lib
[ ] -- Installing:
/home/[USERNAME]/Projects/temp/skeleton/build/linux/x64/debug/bundle/data/flutter_assets
[ ] -- Installing:
/home/[USERNAME]/Projects/temp/skeleton/build/linux/x64/debug/bundle/data/flutter_assets/NativeAssetsManifest.
json
[ ] -- Installing:
/home/[USERNAME]/Projects/temp/skeleton/build/linux/x64/debug/bundle/data/flutter_assets/kernel_blob.bin
[ +43 ms] -- Installing:
/home/[USERNAME]/Projects/temp/skeleton/build/linux/x64/debug/bundle/data/flutter_assets/NOTICES.Z
[ ] -- Installing:
/home/[USERNAME]/Projects/temp/skeleton/build/linux/x64/debug/bundle/data/flutter_assets/packages
[ ] -- Installing:
/home/[USERNAME]/Projects/temp/skeleton/build/linux/x64/debug/bundle/data/flutter_assets/packages/cupertino_ic
ons
[ ] -- Installing:
/home/[USERNAME]/Projects/temp/skeleton/build/linux/x64/debug/bundle/data/flutter_assets/packages/cupertino_ic
ons/assets
[ ] -- Installing:
/home/[USERNAME]/Projects/temp/skeleton/build/linux/x64/debug/bundle/data/flutter_assets/packages/cupertino_ic
ons/assets/CupertinoIcons.ttf
[ ] -- Installing:
/home/[USERNAME]/Projects/temp/skeleton/build/linux/x64/debug/bundle/data/flutter_assets/shaders
[ ] -- Installing:
/home/[USERNAME]/Projects/temp/skeleton/build/linux/x64/debug/bundle/data/flutter_assets/shaders/stretch_effec
t.frag
[ ] -- Installing:
/home/[USERNAME]/Projects/temp/skeleton/build/linux/x64/debug/bundle/data/flutter_assets/shaders/ink_sparkle.f
rag
[ ] -- Installing:
/home/[USERNAME]/Projects/temp/skeleton/build/linux/x64/debug/bundle/data/flutter_assets/AssetManifest.bin
[ ] -- Installing:
/home/[USERNAME]/Projects/temp/skeleton/build/linux/x64/debug/bundle/data/flutter_assets/fonts
[ ] -- Installing:
/home/[USERNAME]/Projects/temp/skeleton/build/linux/x64/debug/bundle/data/flutter_assets/fonts/MaterialIcons-R
egular.otf
[ +1 ms] -- Installing:
/home/[USERNAME]/Projects/temp/skeleton/build/linux/x64/debug/bundle/data/flutter_assets/FontManifest.json
[ ] -- Installing:
/home/[USERNAME]/Projects/temp/skeleton/build/linux/x64/debug/bundle/data/flutter_assets/version.json
[ +10 ms] Building Linux application... (completed in 1,983ms)
[ +2 ms] ✓ Built build/linux/x64/debug/bundle/skeleton
[ +178 ms] VM Service URL on device: http://127.0.0.1:33131/JkBd8peb-Tg=/
[ +2 ms] Caching compiled dill
[ +24 ms] Connecting to service protocol: http://127.0.0.1:33131/JkBd8peb-Tg=/
[ +38 ms] Gdk-Message: 14:57:48.426: Unable to load from the cursor theme
[ +24 ms] Launching a Dart Developer Service (DDS) instance at http://127.0.0.1:0, connecting to VM service at
http://127.0.0.1:33131/JkBd8peb-Tg=/.
[ +52 ms] Successfully connected to service protocol: http://127.0.0.1:33131/JkBd8peb-Tg=/
[ +7 ms] DevFS: Creating new filesystem on the device (null)
[ +7 ms] DevFS: Created new filesystem on the device (file:///tmp/skeletonPBOCIB/skeleton/)
[ +1 ms] Updating assets for linux
[ ] runHooks() with {TargetFile: /home/[USERNAME]/Projects/temp/skeleton/lib/main.dart, BuildMode:
debug} and TargetPlatform.linux_x64
[ ] runHooks() - will perform dart build
[ ] Initializing file store
[ ] Done initializing file store
[ +5 ms] Skipping target: dart_build
[ ] Persisting file store
[ +1 ms] Done persisting file store
[ +2 ms] runHooks() - done
[ +40 ms] Syncing files to device Linux...
[ +2 ms] Compiling dart to kernel with 0 updated files
[ ] Processing bundle.
[ ] <- recompile package:skeleton/main.dart 7f4dff27-519a-4e23-85b2-038a1c8a4e69
[ ] <- 7f4dff27-519a-4e23-85b2-038a1c8a4e69
[ +1 ms] Bundle processing done.
[ +41 ms] Updating files.
[ ] Pending asset builds completed. Writing dirty entries.
[ ] DevFS: Sync finished
[ ] Syncing files to device Linux... (completed in 46ms)
[ ] Synced 0.0MB.
[ ] <- accept
[ +1 ms] Connected to _flutterView/0x57bc17e0bf30.
[ +1 ms] Flutter run key commands.
[ ] r Hot reload. 🔥🔥🔥
[ ] R Hot restart.
[ ] h List all available interactive commands.
[ ] d Detach (terminate "flutter run" but leave application running).
[ ] c Clear the screen
[ ] q Quit (terminate the application on the device).
[ ] A Dart VM Service on Linux is available at: http://127.0.0.1:34427/kvxyWvP5Kw0=/
[ ] The Flutter DevTools debugger and profiler on Linux is available at:
http://127.0.0.1:34427/kvxyWvP5Kw0=/devtools/?uri=ws://127.0.0.1:34427/kvxyWvP5Kw0=/ws

```

### Flutter Doctor output

Doctor output

```console
$ fvm flutter doctor -v

[✓] Flutter (Channel stable, 3.41.4, on Ubuntu 24.04.4 LTS 6.17.0-14-generic, locale en_US.UTF-8) [34ms]
• Flutter version 3.41.4 on channel stable at /home/[USERNAME]/fvm/versions/3.41.4
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision ff37bef603 (10 days ago), 2026-03-03 16:03:22 -0800
• Engine revision e4b8dca3f1
• Dart version 3.11.1
• DevTools version 2.54.1
• Feature flags: enable-web, enable-linux-desktop, enable-macos-desktop, enable-windows-desktop, enable-android,
enable-ios, cli-animations, enable-native-assets, omit-legacy-version-file, enable-lldb-debugging,
enable-uiscene-migration

[✗] Android toolchain - develop for Android devices [18ms]
✗ Unable to locate Android SDK.
Install Android Studio from: https://developer.android.com/studio/index.html
On first launch it will assist you in installing the Android SDK components.
(or visit https://flutter.dev/to/linux-android-setup for detailed instructions).
If the Android SDK has been installed to a custom location, please use
`flutter config --android-sdk` to update to that location.

[✗] Chrome - develop for the web (Cannot find Chrome executable at google-chrome) [7ms]
! Cannot find Chrome. Try setting CHROME_EXECUTABLE to a Chrome executable.

[✓] Linux toolchain - develop for Linux desktop [126ms]
• Ubuntu clang version 18.1.3 (1ubuntu1)
• cmake version 3.28.3
• ninja version 1.11.1
• pkg-config version 1.8.1
! Unable to access driver information using 'eglinfo'.
It is likely available from your distribution (e.g.: apt install mesa-utils)

[✓] Connected device (1 available) [18ms]
• Linux (desktop) • linux • linux-x64 • Ubuntu 24.04.4 LTS 6.17.0-14-generic

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

! Doctor found issues in 2 categories.
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.