Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Support software rendering on Linux#166307

Merged
robert-ancell merged 4 commits into
flutter:masterfrom
robert-ancell:linux-software-rendering
Jun 2, 2025
Merged

Support software rendering on Linux#166307
robert-ancell merged 4 commits into
flutter:masterfrom
robert-ancell:linux-software-rendering

Conversation

@robert-ancell
Copy link
Copy Markdown
Contributor

@robert-ancell robert-ancell commented Apr 1, 2025

This can be enabled by setting the environment variable FLUTTER_LINUX_RENDERER=software.

The purpose is to be able to test Flutter OpenGL Linux issues by running you app in this mode. In the future this could be enhanced to automatically switch to software if OpenGL support is not available.

Fixes #151389

@github-actions github-actions Bot added engine flutter/engine related. See also e: labels. platform-linux Building on or for Linux specifically a: desktop Running on desktop labels Apr 1, 2025
@robert-ancell
Copy link
Copy Markdown
Contributor Author

Builds on top of #166037

This can be enabled by setting the environment variable FLUTTER_LINUX_RENDERER=software.

The purpose is to be able to test Flutter OpenGL Linux issues by running you app in this mode.
In the future this could be enhanced to automatically switch to software if OpenGL support
is not available.
@robert-ancell robert-ancell force-pushed the linux-software-rendering branch from 754e60a to 577de8e Compare April 1, 2025 07:57
Copy link
Copy Markdown
Contributor

@mattkae mattkae left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have some code organization questions, but nothing too big

Comment thread engine/src/flutter/shell/platform/linux/fl_engine.cc
Comment thread engine/src/flutter/shell/platform/linux/fl_view.cc Outdated
Comment thread engine/src/flutter/shell/platform/linux/fl_view.cc
Copy link
Copy Markdown
Contributor

@mattkae mattkae left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this looks good, but I would get a separate opinion from someone like @loic-sharma just to be sure that it matches what they expect on their end

Comment thread engine/src/flutter/shell/platform/linux/fl_engine.cc
Copy link
Copy Markdown
Member

@loic-sharma loic-sharma left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@loic-sharma
Copy link
Copy Markdown
Member

Just FYI, we currently don't plan to add a similar feature to Flutter Windows as we'd prefer folks to use the hardware renderer. I think it's fine to add this to Linux though :)

@mhungerford
Copy link
Copy Markdown

mhungerford commented May 27, 2025

@robert-ancell - This patch is fantastic. It finally enables using broadway with flutter, so an embedded webpage powered by flutter can be server-side-rendered.
I hope this gets merged as I have tested it with broadway-GTK3, and it just works (previously GDK would throw errors that backend requires hardware renderer).

@robert-ancell robert-ancell enabled auto-merge May 29, 2025 00:41
@robert-ancell robert-ancell added this pull request to the merge queue May 29, 2025
auto-merge was automatically disabled May 29, 2025 02:09

Pull Request is not mergeable

@github-merge-queue github-merge-queue Bot removed this pull request from the merge queue due to a conflict with the base branch May 29, 2025
@chinmaygarde
Copy link
Copy Markdown
Contributor

I addressed the Google Testing step. Let's land this when able.

@robert-ancell robert-ancell added this pull request to the merge queue Jun 2, 2025
Merged via the queue into flutter:master with commit a79827a Jun 2, 2025
181 checks passed
@robert-ancell robert-ancell deleted the linux-software-rendering branch June 2, 2025 23:03
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Jun 3, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Jun 3, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Jun 3, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Jun 3, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Jun 3, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Jun 4, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Jun 4, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Jun 4, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Jun 4, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Jun 4, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Jun 5, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Jun 5, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Jun 5, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Jun 5, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Jun 5, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Jun 5, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Jun 5, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Jun 5, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 14, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 14, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 15, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 15, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 16, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

a: desktop Running on desktop engine flutter/engine related. See also e: labels. platform-linux Building on or for Linux specifically

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support software rendering fallback on Linux

5 participants