Google ANGLE Integrates Wayland Support, Removing Barriers for CEF's Native Functionality
Google's graphics abstraction layer ANGLE has integrated Wayland support, finally resolving the biggest hurdle for Chromium Embedded Framework's native Wayland functionality.
Long-Awaited Support Finally Realized The
transition to the next-generation display server protocol “Wayland” in Linux desktop environments has been accelerating rapidly in recent years. Amid this transition, Google’s graphics abstraction layer “ANGLE” has finally integrated native Wayland support. This update addresses what has been the last major hurdle for the Chromium Embedded Framework (CEF) in supporting Wayland, potentially putting an end to a challenge that has persisted since November 2019.
What Is ANGLE?
ANGLE (Almost Native Graphics Layer Engine) is a graphics API abstraction layer developed and maintained by Google. Its primary role is to translate OpenGL ES 2 and 3 API calls into platform-native graphics APIs. Specifically, it translates to Direct3D on Windows, OpenGL or Vulkan on Linux, and Metal on macOS. This functionality allows application developers to write rendering processes using a unified OpenGL ES interface without worrying about the differences between graphics APIs on various platforms. Many desktop applications, including Chromium-based browsers like Google Chrome and those using the CEF, benefit greatly from ANGLE.
CEF and Wayland’s Long History CEF is a
framework that allows developers to embed Chromium’s browser engine into desktop applications. It is widely used in diverse applications such as in-game browsers, email clients, and IDE help viewers. Wayland, on the other hand, is a display server protocol that serves as a successor to the traditional X Window System (X11). It has been increasingly adopted as the default display system in major Linux distributions like Fedora and Ubuntu. Wayland offers enhanced security, better support for HiDPI displays, and smoother rendering, making it a foundational technology for the future of Linux desktops. However, CEF’s compatibility with Wayland has long been incomplete. According to reports from Phoronix, an issue ticket tracking the progress of Wayland support in CEF dates back to November 2019. This long-standing issue largely stems from ANGLE’s lack of native support for Wayland, which has been a fundamental obstacle.
Why Is ANGLE’s Wayland Support So Important?
For CEF to function on Wayland, it must operate via a windowing system abstraction layer called “Ozone.” Ozone is Chromium’s mechanism for supporting multiple windowing systems, including Wayland and headless environments. However, when CEF connects to Wayland through Ozone, the lack of native Wayland support in ANGLE has prevented proper window management and surface creation for graphics rendering. This has been the biggest bottleneck for CEF’s Wayland compatibility. With the integration of Wayland support into ANGLE, CEF now has the potential to correctly create Ozone/Wayland windows and perform native graphics rendering. This development paves the way for a vast number of applications built on CEF to run seamlessly in Wayland environments in the future.
Impact on Linux Desktops The implications of
this update are significant. Major Linux distributions are actively transitioning from X11 to Wayland, with some already adopting Wayland as the default session. In such an environment, the inability of CEF-based applications to function natively on Wayland poses a substantial inconvenience to users. While these applications can operate through the XWayland compatibility layer, this approach often leads to issues such as inconsistencies in HiDPI scaling and input lag compared to native support. With ANGLE’s Wayland integration, CEF-based applications will now be able to render natively on Wayland. This advancement is expected to further accelerate the overall transition to Wayland in Linux desktop environments.
Future Outlook While the integration of
Wayland support into ANGLE resolves the major technical barrier, it will still take some time before the new ANGLE is incorporated into CEF and Wayland support is officially enabled. The issue ticket for CEF remains open as of now, but with ANGLE’s update complete, formal support is likely to arrive in the near future. Phoronix’s article expresses optimism that the issue will be closed once the updated ANGLE is incorporated into CEF. For the developer community, this marks a long-awaited breakthrough spanning over six years, and for the Linux desktop ecosystem as a whole, it represents a significant milestone. The integration of Wayland support into ANGLE is more than just the addition of a single feature to a software component. It signifies the completion of a critical piece in the broader effort to standardize Wayland on Linux desktops.
Frequently Asked Questions
- What is the relationship between ANGLE and CEF?
- ANGLE is a graphics abstraction layer developed by Google, serving as the foundation for graphics rendering in the Chromium Embedded Framework (CEF). Since CEF relies on ANGLE for rendering, ANGLE's capabilities directly impact the environments where CEF can function.
- What are the advantages of Wayland compared to the traditional X11 system?
- Wayland is a display server protocol that replaces the X Window System. Its key benefits include enhanced security, better support for HiDPI displays, and smoother rendering. Major Linux distributions like Fedora and Ubuntu are actively transitioning to Wayland as their standard.
- What types of applications are built on CEF?
- CEF is used in a wide range of software, including in-game browsers, help viewers embedded in desktop applications, and email clients. Improved Wayland support in CEF will enable these applications to run natively in Linux's Wayland environments.
Comments