this post was submitted on 23 Dec 2023
116 points (97.5% liked)

Linux

48143 readers
517 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

Among the Firefox Wayland bugs, one of the top crash bugs is over a lost connection to a Wayland compositor. For dealing with it is to have a proxy between Firefox and the Wayland compositor to cache messages and prevent compositor message queue overflows.

top 26 comments
sorted by: hot top controversial new old
[–] [email protected] 59 points 10 months ago

When you need a proxy between your application and your graphics server then something fundamental went wrong long before.

[–] [email protected] 35 points 10 months ago (1 children)

Would be interesting if this is more on Firefox side, or on compositor side. I've been running Firefox in Wayland for about 9 months now, without any issues.

[–] [email protected] 22 points 10 months ago* (last edited 10 months ago) (2 children)

this is a wayland issue. Due to how wayland works, it cannot drop messages, this means if the messages stop being accepted (IE. the program becomes very slow and not very responsive) the application will wind up dying. EEVDF helped resolve a lot of these issues. but they arent gone yet.

a fairly easy replication cause is to start a large rust project compile since cargo will thread to oblivion if it gets the chance, then use the PC on wayland. Applications can frequently die, Firefox, MPV, Kate, gnome web, chromium, games, etc. it also doesn't matter what compositor you use right now as gnome, kde sway all share the issue

EEVDF really does help stop a lot of these crashing though

[–] [email protected] 9 points 10 months ago (2 children)

the program becomes very slow and not very responsive

BeOS solved the issue of unresponsive GUIs in the 1990s. The GUI just must never run in the same thread as the logic.

[–] [email protected] 5 points 10 months ago (1 children)

while this is good on theory, when your CPU is being absolutely hammered, you need to re-adjust priorities to make a system responsive again, it's actually not a simple thing to do without a context aware scheduler. Even though EEVDF is pretty good, it still struggles some times

[–] [email protected] 1 points 10 months ago

My PC with a 133MHz Pentium 1 processor was pretty responsive all the time back in the day. It's definitely a solved problem.

[–] [email protected] 3 points 10 months ago (1 children)

I agree. The proxy solution they're proposing seems like a band-aid on a fundamental design issue to me. It's easier to just tack yet another library onto a big project than to refactor large amounts of code. This is exactly why a lot of software is getting more and more shit.

[–] [email protected] 0 points 10 months ago

Also this is the kind of issues Wayland will be facing now that it's starting to see widespread adoption, issues that arise from more and more complex situations created by interconnecting more apps with it in more ways.

How the devs handle this will be crucial and imo it can make or break the project in the long run. It's one thing to successfully run a hobby project at a small scale, it's another to shoulder the entire Linux desktop for the foreseeable future. That's the bar that X had to meet; if Wayland intends to be the Linux desktop it has to step up. "Not our problem, deal with it outside Wayland" will not do.

[–] [email protected] 6 points 10 months ago* (last edited 10 months ago) (1 children)

You're describing Wayland running into issues due to overall high system load, and not been given enough scheduler time to accept messages?

edit: This issue? https://gitlab.freedesktop.org/wayland/wayland/-/issues/159 - didn't find anything else matching the description, and personally have never seen that, both on my low specs notebook or my workstation, which probably counts as higher spec.

[–] [email protected] 4 points 10 months ago (1 children)

correct, this is the same issue, this generally really only happens with a sustained all core workload that will consistently leave you cpu at 100%, since if it's not sustained, the kernel will allot some time to the programs, and the crash wont happen

[–] [email protected] 4 points 10 months ago

I guess that explains why I'm not seeing it - my workstation has 64 threads and more than enough memory, and on my notebook I'm scheduling load intensive stuff to not interfere with interactive device usage.

[–] [email protected] 9 points 10 months ago

Interesting, Firefox did crash more often for me on Wayland, but I hadn't dug into it further yet.
Let's see if this reduces crashing again.

[–] [email protected] 7 points 10 months ago* (last edited 10 months ago) (2 children)

Personally I didn't have any problems with that yet fortunately.

My bigger problem right now is a bug that prevents me from copying stuff from the url bar when middle-click pasting is disabled in the KDE settings...

In X11 the bug doesn't exist

[–] [email protected] 7 points 10 months ago (1 children)

My bigger problem right now is a bug that prevents me from copying stuff from the url bar when middle-click pasting is enabled in the KDE settings…

What. For me it's the opposite - I can't copy stuff to other apps from Firefox if that setting is not enabled

[–] [email protected] 7 points 10 months ago (1 children)

Yeah sorry. I was half asleep while I wrote this. That is the problem I have as well.

One workaround I found is to use the separate search bar (if you have it enabled) as a buffer.

When I copy the URL I can paste it into the search bar but nowhere else. If I copy the search bar I can paste it everywhere just fine

[–] [email protected] 2 points 10 months ago

Ah. For me it's not the search bar only but also if I select text and press Ctrl+C/press context menu Copy as well.
Interestingly, if sites put something in the clipboard (eg. Mastodon toot Copy link button) it works anywhere else.

[–] [email protected] 1 points 10 months ago* (last edited 10 months ago) (1 children)

Is this on Fedora? My girlfriend had lots of similar issues on Fedora that disappeared on pop os.

[–] [email protected] 1 points 10 months ago

EndeavorOS with KDE Plasma desktop

[–] [email protected] 3 points 10 months ago

This is the best summary I could come up with:


Shipping as part of Firefox 121 is wayland-proxy as a C++ module to serve as a Wayland proxy load balancer.

Among the Firefox Wayland bugs, one of the top crash bugs is over a lost connection to a Wayland compositor.

For dealing with it is to have a proxy between Firefox and the Wayland compositor to cache messages and prevent compositor message queue overflows.

Martin Stransky with Red Hat wrote Wayland-Proxy as a C++ version of a prior proof-of-concept written in Rust.

Wayland-Proxy can work either as a standalone application or a library called upon by Wayland apps.

Those wishing to learn more about Wayland-Proxy and its Firefox use can see today's post on Stransky's blog.


The original article contains 165 words, the summary contains 116 words. Saved 30%. I'm a bot and I'm open source!

[–] [email protected] 3 points 10 months ago (1 children)

I had to force it to run in xwayland because in wayland it no longer remembers window positions, so with wayland it was opening all my windows in a big pile on the current desktop, instead of putting them in the positions and on the desktops they belong.

[–] [email protected] 8 points 10 months ago (1 children)

That sounds more like a compositor problem - typically a client should not have control over where windows are placed, and that X11 allowed that got heavily abused with negative impact on UI. Wayland fortunately fixed that, so it is now up to the compositor where to place windows. Those can send hints, but the compositor is free to ignore them.

In your situation your compositor should remember where to stick the windows.

[–] [email protected] 4 points 10 months ago* (last edited 10 months ago) (1 children)

Kwin. It works with xwayland, doesn't with wayland, I'd love a solution, but I found nothing.

[–] [email protected] 1 points 10 months ago (1 children)

Window rules based on the application name and window title?

[–] [email protected] 1 points 10 months ago (1 children)

Doesn't the window title change on firefox depending on tab or even web-page?

[–] [email protected] 1 points 10 months ago (1 children)

Yeah, if you want certain pages in certain screens it would work, and then they'd stay there

[–] [email protected] 1 points 10 months ago

And if I ever browse away from that page and forget to return to it before closing firefox...

This has a million caveats and isn't even close to a solution for how I use firefox. Each desktop has their own windows and I want them to stay there because the tabs open are relevant to that desktop.

Meanwhile forcing xwayland, just works.