Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Add Linux Wayland support#20629

Merged
robert-ancell merged 6 commits intoflutter:masterfrom
wmww:wmww-wayland
Sep 16, 2020
Merged

Add Linux Wayland support#20629
robert-ancell merged 6 commits intoflutter:masterfrom
wmww:wmww-wayland

Conversation

@wmww
Copy link
Contributor

@wmww wmww commented Aug 19, 2020

Description

WIP based on top of #20336

Adds Wayland support to the Linux/GTK platform. Most of what's required come from GTK's Wayland support, but we need to do some things in the renderer to make it work with Flutter. Specifically we need to control an EGL surface, and to do that we make a Wayland subsurface off of the main surface GTK creates.

Related Issues

flutter/flutter#57932

Tests

None

Checklist

Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes ([x]). This will ensure a smooth and quick review process.

  • I read the contributor guide and followed the process outlined there for submitting PRs.
  • I signed the CLA.
  • I read and followed the C++, Objective-C, Java style guides for the engine.
  • I read the tree hygiene wiki page, which explains my responsibilities.
  • I updated/added relevant documentation.
  • All existing and new tests are passing.
  • I am willing to follow-up on review comments in a timely manner.

Breaking Change

Did any tests fail when you ran them? Please read handling breaking changes.

  • No, no existing tests failed, so this is not a breaking change.
  • Yes, this is a breaking change. If not, delete the remainder of this section.

@googlebot
Copy link

All (the pull request submitter and all commit authors) CLAs are signed, but one or more commits were authored or co-authored by someone other than the pull request submitter.

We need to confirm that all authors are ok with their commits being contributed to this project. Please have them confirm that by leaving a comment that contains only @googlebot I consent. in this pull request.

Note to project maintainer: There may be cases where the author cannot leave a comment, or the comment is not properly detected as consent. In those cases, you can manually confirm consent of the commit author(s), and set the cla label to yes (if enabled on your project).

ℹ️ Googlers: Go here for more info.

1 similar comment
@googlebot
Copy link

All (the pull request submitter and all commit authors) CLAs are signed, but one or more commits were authored or co-authored by someone other than the pull request submitter.

We need to confirm that all authors are ok with their commits being contributed to this project. Please have them confirm that by leaving a comment that contains only @googlebot I consent. in this pull request.

Note to project maintainer: There may be cases where the author cannot leave a comment, or the comment is not properly detected as consent. In those cases, you can manually confirm consent of the commit author(s), and set the cla label to yes (if enabled on your project).

ℹ️ Googlers: Go here for more info.

@googlebot googlebot added cla: no and removed cla: yes labels Sep 4, 2020
@wmww
Copy link
Contributor Author

wmww commented Sep 4, 2020

@robert-ancell CLA consent required ^^^

@robert-ancell
Copy link
Contributor

@googlebot I consent.

@googlebot
Copy link

CLAs look good, thanks!

ℹ️ Googlers: Go here for more info.

1 similar comment
@googlebot
Copy link

CLAs look good, thanks!

ℹ️ Googlers: Go here for more info.

@googlebot googlebot added cla: yes and removed cla: no labels Sep 6, 2020
configs += [ "//flutter/shell/platform/linux/config:gtk" ]
configs += [
"//flutter/shell/platform/linux/config:gtk",
"//flutter/shell/platform/linux/config:wayland-egl"
Copy link
Contributor

Choose a reason for hiding this comment

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

This should have a trailing comma and is stopping the build.

You can format this locally with gn format shell/platform/linux/BUILD.gn.

@wmww wmww marked this pull request as ready for review September 15, 2020 18:44
@flutter-dashboard
Copy link

It looks like this pull request may not have tests. Please make sure to add tests before merging. If you need an exemption to this rule, contact Hixie on the #hackers channel in Chat.

Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing.

@auto-assign auto-assign bot requested a review from gaaclarke September 15, 2020 18:45
@wmww wmww closed this Sep 15, 2020
@wmww wmww reopened this Sep 15, 2020
@robert-ancell robert-ancell merged commit dbab3fc into flutter:master Sep 16, 2020
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Sep 16, 2020
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Sep 16, 2020
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Sep 16, 2020
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Sep 16, 2020
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Sep 16, 2020
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Sep 16, 2020
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Sep 16, 2020
maks added a commit to maks/mknotes that referenced this pull request Sep 21, 2020
as of  flutter/engine#20629 this work around is
no longer needed.
@jpnurmi
Copy link
Member

jpnurmi commented Oct 8, 2020

Is there still something missing regarding input methods on Wayland? The GNOME on screen keyboard, which works fine in native GNOME apps, does not show up with Flutter apps on Wayland. The keyboard does show up with Flutter apps when running X, though.

@wmww
Copy link
Contributor Author

wmww commented Oct 8, 2020

I'm not aware of this bug or what might cause it. I'll look into it.

dwrobel pushed a commit to dwrobel/engine that referenced this pull request Jan 25, 2021
dwrobel pushed a commit to dwrobel/engine that referenced this pull request Jan 26, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants