-
Notifications
You must be signed in to change notification settings - Fork 26.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Flutter 3.19.x made wayland an unconditional requirement #144635
Comments
I have yet to figure out what has caused this issue. At this point, I assume it's because of the update to swiftshader. |
It looks like flutter/engine@1750693 is the culprit. |
Thanks to @jwinarske for tracking down the real culprit:
meta-flutter/meta-flutter#452 (comment)
meta-flutter/meta-flutter#452 (comment)
meta-flutter/meta-flutter#452 (comment)
So, the problem is that Swiftshader and Flutter do not pass proper build flags to Swiftshader. Do you have any thoughts? |
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
After digging around, here is the real culprit: Specifically: I am fixing the problem by running It's unfortunate that these values are hard coded, as Flutter works properly without Wayland or X11. |
Add 0005-skip-configuration-dependency-if-unit-tests-are-disa.patch, which fixes gtk+-3.0 being an unconditional requirement. Other changes: Flutter 3.19.x made Wayland and X11 an unconditional requirement, resulting in the following errors when compiling: """ ../../flutter/third_party/swiftshader/src/WSI/libWaylandClient.hpp:18:10: fatal error: 'wayland-client.h' file not found 18 | #include <wayland-client.h> | ^~~~~~~~~~~~~~~~~~ ../../flutter/third_party/swiftshader/src/WSI/WaylandSurfaceKHR.cpp:15: ../../flutter/third_party/swiftshader/src/WSI/WaylandSurfaceKHR.hpp:22:10: fatal error: 'wayland-client.h' file not found 22 | #include <wayland-client.h> | ^~~~~~~~~~~~~~~~~~ 1 error generated. [1369/11229] CC obj/flutter/third_party/sqlite/sqlite.sqlite3.o """ After raising an issue found here: flutter/flutter#144635 and after several hours of searching, the problem is flutter/buildroot@d01da2716 which hardcodes the following values if building for a Linux platform: - ozone_platform_x11 = true - ozone_platform_wayland = true As upstream maintainers listed the above as low priority (P3), a simple fix is to add two additional sed calls in FLUTTER_ENGINE_VULKAN_X11_SUPPORT_FIXUP and FLUTTER_ENGINE_VULKAN_WAYLAND_SUPPORT_FIXUP which set ozone_platform_x11 and ozone_platform_wayland to the appropriate values. Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com> Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
When compiling without Wayland, the following errors occur:
I am not sure what exact commit caused the above error, but the above does not happen when compiling Flutter 3.16.8 using the Buildroot linux embedded sdk when cross-compiling an arm64 build
My testing was done via the Buildroot embedded Linux SDK and updating from Flutter 3.16.8 to 3.19.2 cross-compiling an ARM64 build of Flutter using an X64 host without Wayland.
Edit: Here are the configure commands:
The text was updated successfully, but these errors were encountered: