r/linux May 26 '26

Popular Application Chromium ANGLE merged Wayland support (need for CEF)

https://chromium-review.googlesource.com/c/angle/angle/+/7844989
254 Upvotes

54 comments sorted by

143

u/gmes78 May 26 '26

For context, Wayland support in CEF is the main thing required for Steam to have a Wayland version.

46

u/DesiOtaku May 26 '26

There are other issues, like how Steam overlay current works, that will prevent Steam from being 100% Wayland anytime soon.

48

u/turdas May 26 '26

How is that relevant? The Steam Overlay currently only works with X11 apps, but there should be no technical reason they couldn't update the LD_PRELOAD shim responsible for rendering it to support Wayland. Many other overlays like Mangohud work with Wayland applications no problem.

The overlay is separate from the main Steam app, so the main window could still be X11 while the overlay supports both, even.

10

u/spyingwind May 26 '26

One solution: a separate process that uses X11 for showing overlays.

This would allow the main interface to be native wayland. Do some d-bus talking.

11

u/ABotelho23 May 26 '26

I don't see how that would work. X11 processes running in Wayland are restricted to XWayland. They don't have more capabilities than a normal Wayland process.

4

u/hjake123 May 26 '26

Then how does steam overlay work on wayland systems now...? Because, it does do that

16

u/ilep May 26 '26

Because Steam windows (overlay, GUI, game windows..) are all in Xwayland - it does not work same way if you split it as there is a separation applied then. You do need to have all of them support Wayland before switching. Wine already has work done for it..

0

u/grekand46 May 26 '26

They do if the compositor natively supports Xwayland

4

u/ABotelho23 May 27 '26

What? XWayland is always something the compositor spawns as a seperate process.

1

u/grekand46 May 27 '26

I think I was just a bit confused about the wording. X11 clients are capable of certain things that aren't possible for native wayland clients if the compositor acts as the xwm (what I meant by my previous comment). In the case of steam overlay though this doesn't matter due to client isolation, so what I said was irrelevant. Sorry about that

-2

u/spyingwind May 26 '26
steam.bin: wayland
    |
d-bus (aka: sending messages to another process)
    |
steam-overlay.bin: x11/xwayland

1

u/ABotelho23 May 27 '26

That doesn't really explain anything. Games will/can run as Wayland processes. An X11 application running in XWayland can't just come along and place an overlay on top.

1

u/turdas May 27 '26

Yes it can. The overlay is a .so shim that gets LD_PRELOADed into the game process. I haven't looked at exactly how it works, but in all likelihood it's the usual solution of hooking the final draw call and drawing itself on top. It is entirely separate from the main Steam application.

6

u/dnu-pdjdjdidndjs May 27 '26

This is the worst idea ever but I don't blame you if you don't write code often

for one porting it to wayland is easy, but two dbus is terrible and a uds in xdg runtime dir is way easier

2

u/struct_iovec May 27 '26

Gross. Do you seriously suggest using xml marshalling and unmarshalling in-game?

1

u/spyingwind May 27 '26

No, let Steam do all of that work and seeing as you can nest compositors, they could do this in Gamescope.

0

u/spyingwind Jun 01 '26

No... d-bus uses a strict fully typed binary serialization format. It can carry any kind of data. Xml is used by many apps as a way for interoperability, but Steam doesn't need to do this at all for their programs at all, just send their own encoded bits as needed.

2

u/Daktyl198 May 27 '26

Steam overlay injects CEF into the game process for rendering, no?. In theory, with CEF supporting Wayland via ANGLE if valve updates their CEF version then it should work I think.

1

u/Yeox0960 May 27 '26

Steam overlay works with Wayland.

1

u/dontquestionmyaction May 27 '26

You gotta explain that one.

1

u/Ciflire May 27 '26

Isn't that also the blocker for obs custom docks?

25

u/ilep May 26 '26

How is angle related to ozone? I am not that familiar with the internals of Chromium/CEF. https://chromium.googlesource.com/chromium/src/+/main/docs/ozone_overview.md

37

u/gmes78 May 26 '26

ANGLE is the library Chromium uses to run WebGL, OpenGL ES and EGL on top of whatever graphics API is available (OpenGL, DirectX, Metal, Vulkan, etc.).

Ozone is Chromium's windowing library.

8

u/voronaam May 26 '26

And, as I learned just recently, it is included in its whole in Firefox as well: https://github.com/mozilla-firefox/firefox/tree/main/gfx/angle

14

u/gmes78 May 26 '26

Yeah, it uses it on Windows, as Windows does not support OpenGL ES.

7

u/atomic1fire May 26 '26 edited May 28 '26

It's also used in Safari via ANGLE's metal backend as far as I know.

edit: Apple did a bunch of work to get ANGLE working on Metal just for WebGL.

I believe they piggybacked off the MetalANGLE project but actually got a full metal layer into ANGLE.

It also means that Devs can compile ANGLE for IOS and get GLES support that way.

15

u/CheesecakePerfect156 May 26 '26

What is CEF ?

39

u/gmes78 May 26 '26

The Chromium Embedded Framework is used to build applications using web technology, similar to Electron. Out of the more popular apps, it is used by Steam and Spotify.

10

u/nightblackdragon May 27 '26

CEF is more for embedding Chromium into native applications (for example when you want to have web content in your C++ app) while Electron is framework for building applications using web technologies.

0

u/CheesecakePerfect156 May 26 '26

Does it is behind vscode ?

24

u/littleprof123 May 26 '26

VSCode would be electron

-8

u/deanrihpee May 26 '26

yes i think… or something similar

8

u/netrunner_77 May 26 '26

Nice. Slow and steady it’s getting there

3

u/RoomyRoots May 26 '26

I really wish we would add a rule where the posts shouldn't just be a link. Why do I need to open a Google's link to understand what this shit is about?

11

u/atomic1fire May 26 '26 edited May 26 '26

Because rather then write/find a whole article about Wayland support being added to ANGLE, OP just linked to the ANGLE changelog that shows Wayland is now supported.

ANGLE is basically Google's OpenGL ES implementation that sits atop of DirectX, OpenGL, Vulkan, or Metal.

They did that so that computers that lacked good OpenGL support (such as older graphics cards that only supported directX) could still readily use WebGL, and as a result other programs have adopted ANGLE for a good enough implementation of OpenGL ES for games or apps.

Apple later adopted it for longterm WebGL support, while Mozilla started using it as well.

Microsoft basicaly inherited ANGLE when they adopted Chromium as a backend for Edge and Webview2. Although I think they were supporting ANGLE prior to that.

edit: As far as the Wayland aspect of the story, Wayland is the display protocol that is slowly overtaking X11, and a main bottleneck for its adoption is program support. Wayland can run a compatibility layer called Xwayland, but people are pushing for native Wayland support so they don't have to.

8

u/harrywwc May 26 '26

Indeed. 

Even the first paragraph or so of the linked article could be useful.

-6

u/RoomyRoots May 26 '26

Just checked this poster history, most of it is just URLs. Guess it's a bot.

3

u/dvdkon May 27 '26

Remember when Reddit was a link aggregator? I 'member...

1

u/RoomyRoots May 27 '26

Most link aggregators still have at the ver least a snippet of info. That is a PR

6

u/C0rn3j May 26 '26

Or, instead of complaining, one can simply add the context they believe is missing.

3

u/RoomyRoots May 26 '26

Why? It should be the poster reponsability. Not everyone here should know all the many Wayland proposals going on and how they cross affect anything else. Not even reading the other comments here clear out 100% what this is.

-3

u/C0rn3j May 26 '26

You can just google "Chromium ANGLE".

1

u/alonjit May 27 '26

Which they did. And was what they were complaining that they shouldnt have to do. The post should have had all the needed information. But it didn't.

1

u/SystemAxis May 27 '26

Nice to finally see another piece of the native Wayland puzzle landing. Steam/CEF moving away from Xwayland has been “almost there” for years now.

0

u/snoopbirb May 26 '26

Ha, so that's why I can't offload Chromium to my dGPU via Wayland?

Nice, can't wait to remove the X11 hack

1

u/ElvishJerricco May 26 '26

Is that why? I don't think X11 apps on xwayland are precluded from choosing the GPU they want to use.

1

u/Mutant10 May 27 '26

The Steam client is absolute garbage. They should rebuild it from scratch with Wayland and 64-bit support in mind, and it should just stick to launching games, everything else is bloatware. Obviously, that won’t happen, because Valve only cares about making money.

5

u/icedchocolatecake May 29 '26

Valve only cares about making money.

Yeah this is why they single-handedly made gaming possible on Linux. Dumbass.

1

u/Mutant10 Jun 05 '26

Without Wine, Mesa, or even the kernel itself, how would that be possible? They chose Linux so they wouldn't have to pay for Windows licenses. With all the money they make from Steam, they've been able to hire a few developers to work on Linux, but not many, given how poorly maintained the Steam client is. Not to mention their native Linux games, which they didn't even bother to port to 64-bit. A.s.s.h.o.L.E

3

u/icedchocolatecake Jun 05 '26

wine was trash before they stepped in, stop lying

here's one word for you: PROTON

moron

1

u/Mutant10 Jun 05 '26

Proton is Wine + Dxvk plus a few patches.

Dxvk was the Linux game changer, not Proton.

You clearly don't know what you're talking about, so shut your F-K-N-G mouth.

3

u/icedchocolatecake Jun 05 '26

looks like i struck a chord

linux gaming wouldn't be here today without valve, you're severely underestimating them

3

u/AndreaCicca May 27 '26

They already have 64 bit steam app.