Steps to reproduce
add emojis to Text on a Flutter app running on Linux with --enable-impeller
Expected results
emojis are rendered with their actual color. seeFl second screenshot of the example app running without impeller for the expected result
Actual results
emojis are rendered with some blue tone. as if color is applied on top of them
Code sample
Code sample
import 'package:flutter/material.dart';
void main() {
runApp(
const ImpellerEmojiExampleApp(),
);
}
class ImpellerEmojiExampleApp extends StatelessWidget {
const ImpellerEmojiExampleApp({super.key});
@override
Widget build(BuildContext context) {
return const MaterialApp(
home: Scaffold(
body: Text(
'🎨👂🧑🚀🕵️♀️🧚♂️',
style: TextStyle(fontSize: 100),
),
),
);
}
}
Screenshots or Video
Screenshots / Video demonstration
with impeller:
without impeller:
Logs
Logs
[ +234 ms] [IMPORTANT:flutter/shell/platform/embedder/embedder_surface_gl_impeller.cc(99)] Using the Impeller rendering backend
(OpenGL).
no logs other than this when running with --verbose - no errors or rendering-related messages. i suspect smth is wrong with the linux impl itself?
Flutter Doctor output
Doctor output
()> fvm flutter doctor -v
[✓] Flutter (Channel stable, 3.41.7, on Manjaro Linux 6.18.18-1-MANJARO, locale en_US.UTF-8) [51ms]
• Flutter version 3.41.7 on channel stable at /home/user/fvm/versions/stable
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision cc0734a (11 days ago), 2026-04-15 21:21:08 -0700
• Engine revision 59aa584
• Dart version 3.11.5
• DevTools version 2.54.2
• 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 (Android SDK version 36.1.0) [185ms]
• Android SDK at /home/user/Android/Sdk
• Emulator version 36.5.10.0 (build_id 15081367) (CL:N/A)
✗ cmdline-tools component is missing.
Try installing or updating Android Studio.
Alternatively, download the tools from https://developer.android.com/studio#command-line-tools-only and make sure to set the
ANDROID_HOME environment variable.
See https://developer.android.com/studio/command-line for more details.
✗ Android license status unknown.
Run flutter doctor --android-licenses to accept the SDK licenses.
See https://flutter.dev/to/linux-android-setup for more details.
[✗] Chrome - develop for the web (Cannot find Chrome executable at google-chrome) [11ms]
! Cannot find Chrome. Try setting CHROME_EXECUTABLE to a Chrome executable.
[✓] Linux toolchain - develop for Linux desktop [316ms]
• clang version 22.1.1
• cmake version 4.2.3
• ninja version 1.13.2
• pkg-config version 2.5.1
• OpenGL core renderer: AMD Radeon RX 5700 (radeonsi, navi10, ACO, DRM 3.64, 6.18.18-1-MANJARO)
• OpenGL core version: 4.6 (Core Profile) Mesa 26.0.2-arch1.1
• OpenGL core shading language version: 4.60
• OpenGL ES renderer: AMD Radeon RX 5700 (radeonsi, navi10, ACO, DRM 3.64, 6.18.18-1-MANJARO)
• OpenGL ES version: OpenGL ES 3.2 Mesa 26.0.2-arch1.1
• OpenGL ES shading language version: OpenGL ES GLSL ES 3.20
• GL_EXT_framebuffer_blit: yes
• GL_EXT_texture_format_BGRA8888: yes
[✓] Connected device (1 available) [68ms]
• Linux (desktop) • linux • linux-x64 • Manjaro Linux 6.18.18-1-MANJARO
[✓] Network resources [726ms]
• All expected network resources are available.
! Doctor found issues in 2 categories.
i also tried main & could reproduce the issue there too.
maybe related: #182397 (but this by itself didn't fix)
note on other platforms: emoji rendering has worked properly on mac, ios & android with impeller so far for me; only issue is with linux
Steps to reproduce
add emojis to
Texton a Flutter app running on Linux with--enable-impellerExpected results
emojis are rendered with their actual color. seeFl second screenshot of the example app running without impeller for the expected result
Actual results
emojis are rendered with some blue tone. as if color is applied on top of them
Code sample
Code sample
Screenshots or Video
Screenshots / Video demonstration
with impeller:
without impeller:
Logs
Logs
no logs other than this when running with
--verbose- no errors or rendering-related messages. i suspect smth is wrong with the linux impl itself?Flutter Doctor output
Doctor output
()> fvm flutter doctor -v
[✓] Flutter (Channel stable, 3.41.7, on Manjaro Linux 6.18.18-1-MANJARO, locale en_US.UTF-8) [51ms]
• Flutter version 3.41.7 on channel stable at /home/user/fvm/versions/stable
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision cc0734a (11 days ago), 2026-04-15 21:21:08 -0700
• Engine revision 59aa584
• Dart version 3.11.5
• DevTools version 2.54.2
• 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 (Android SDK version 36.1.0) [185ms]
• Android SDK at /home/user/Android/Sdk
• Emulator version 36.5.10.0 (build_id 15081367) (CL:N/A)
✗ cmdline-tools component is missing.
Try installing or updating Android Studio.
Alternatively, download the tools from https://developer.android.com/studio#command-line-tools-only and make sure to set the
ANDROID_HOME environment variable.
See https://developer.android.com/studio/command-line for more details.
✗ Android license status unknown.
Run
flutter doctor --android-licensesto accept the SDK licenses.See https://flutter.dev/to/linux-android-setup for more details.
[✗] Chrome - develop for the web (Cannot find Chrome executable at google-chrome) [11ms]
! Cannot find Chrome. Try setting CHROME_EXECUTABLE to a Chrome executable.
[✓] Linux toolchain - develop for Linux desktop [316ms]
• clang version 22.1.1
• cmake version 4.2.3
• ninja version 1.13.2
• pkg-config version 2.5.1
• OpenGL core renderer: AMD Radeon RX 5700 (radeonsi, navi10, ACO, DRM 3.64, 6.18.18-1-MANJARO)
• OpenGL core version: 4.6 (Core Profile) Mesa 26.0.2-arch1.1
• OpenGL core shading language version: 4.60
• OpenGL ES renderer: AMD Radeon RX 5700 (radeonsi, navi10, ACO, DRM 3.64, 6.18.18-1-MANJARO)
• OpenGL ES version: OpenGL ES 3.2 Mesa 26.0.2-arch1.1
• OpenGL ES shading language version: OpenGL ES GLSL ES 3.20
• GL_EXT_framebuffer_blit: yes
• GL_EXT_texture_format_BGRA8888: yes
[✓] Connected device (1 available) [68ms]
• Linux (desktop) • linux • linux-x64 • Manjaro Linux 6.18.18-1-MANJARO
[✓] Network resources [726ms]
• All expected network resources are available.
! Doctor found issues in 2 categories.
i also tried main & could reproduce the issue there too.
maybe related: #182397 (but this by itself didn't fix)
note on other platforms: emoji rendering has worked properly on mac, ios & android with impeller so far for me; only issue is with linux