9 ms·
I have been using Firefox on Wayland for years now, and for the most part it works, well, perfectly well. It's very nice on computers with mixed DPI displays, I
by jchw 3y ago
I have been using Firefox on Wayland for years now, and for the most part it works, well, perfectly well. It's very nice on computers with mixed DPI displays, I've had no issues with any of that. (I have run into a couple situations where dragging tabs has crashed, but it's too occasional to care. I just session restore'd and went back to work. Features like Picture-in-Picture work great and I even have a special setup for Picture-in-Picture mode so it will stick across workspaces in Sway.)
I imagine there's a lot of concerns that have to be carefully considered, as it is a very non-trivial change. Like, does WebGL work? Video acceleration? Will there be a performance regression for anything? How about accessibility, do screen readers still work as intended? (They should since for now that's all out-of-band, but you never know.) Does it have trouble with any specific vendor of GPU?
An interesting consequence of Wayland's design is that a lot of the information conveyed about X windows, like ICCCM properties, are basically non-existent in the Wayland world. This means that for a tiling window manager like SwayWM, it's actually a lot harder for say, pop-up windows to not accidentally get treated like other tiled windows. So if you use e.g. Dolphin file browser, the copy dialogs will try to "tile" since there's no way for Sway to know they're supposed to be popups. This was not an issue for i3wm. This is both fixable and possible to workaround, and in the grand scheme of things not my biggest priority (I'm much more concerned about issues like stability) but I think that issues like these are of prime concern for Wayland adoption.
- londons_explore 3y ago> I have run into a couple situations where dragging tabs has crashed, but it's too occasional to care. Am I the only one to have the expectation that software I use should never crash? My chair holds me up every day. My fridge keeps my food cold every day. My windows keep out the rain every day. My washing machine washes my clothes every time. Why should my firefox get a pass to sometimes randomly crash and that be okay?
- beezlebroxxxxxx 3y agoYour chair and your fridge, like a piece of software, can be repaired or fixed. They get worn down, especially if they're repaired many times over. Crashing, in the context of a chair or fridge, or in software, is generally not seen as a catastrophic failure which fundamentally makes the chances for repair or fixing impossible. One would hope your chair or fridge never "crash", like one hopes a piece of software never does, but they come in all levels of quality and face all kinds of edge-cases. One day, for instance, maybe a 3 tonne man sits on your chair, which has held you up just fine every day, and the chair fails to hold him up, crashing him to the ground. You wouldn't turn around and reasonably say your chair is now a failure, really.
- jchw 3y agoI have two broken chairs. I had to replace a fan motor in a fridge once. I had a window that actually did start leaking. I have never had my washing machine break down, but I have had a dryer break down. All of those things break. Congratulations if you've managed to experience life without that. Anyway, comparing software to chairs is unlikely to yield any useful wisdom IMO, so I'm not actually going to attempt to make an argument based on that. I know that any non-trivial piece of software will have millions of potential codepaths, and Firefox likely has a number of potential total codepaths so large that we could not ever hope to calculate it through the entirety of humanity's existence, so I think it's just only reasonable to expect that some of those codepaths may crash. For safety-critical applications where you can't afford to have a software bug kill a bunch of people, there's only one realistic option: you can't rely on never having a software bug. You instead must do your best to ensure that as many classes of software bug as possible can't, on their own, cause damage. Ideally you would combine safeguards at every possible level: of course try to eliminate bugs, but also add hardware protections, redundancy, and realistically any kind of mitigation you can. I do not know how much better software engineering could be with more discipline, but I do know that simply asking humans to not make mistakes when writing millions of lines of code isn't reasonable, and the stakes are not always high enough to warrant writing everything in Ada. Anyway, if my fridge fails, I have to order some replacement parts or worse, maybe a new fridge. If Firefox crashes, I am annoyed for like 30 seconds until I hit "Restore Session" and it happens infrequently enough that I'm not even sure when the last time was. (P.S.: It's also worth noting that despite regulation and despite the rigor of traditional engineering, gas-lifted chairs occasionally explode and kill the people sitting on them. I don't think I've ever heard of a Firefox crash directly killing someone, so there's at least that.) Update: In middle of trying to post this, HN stopped processing requests for maybe 15 minutes. Almost poetic.
- JohnFen 3y ago> All of those things break. Congratulations if you've managed to experience life without that. Physical things wear out. That's an entirely different situation from a product that breaks because it was faulty when sold. It's true that expecting perfection from any complex system is unrealistic, but good software should at least be lacking in crashing bugs that happen with common operations (such as dragging a tab). Just to clarify, I'm not saying that FF (or Wayland) isn't good software. I'm just saying that nobody should just shrug their shoulders and say "that's life" when common operations cause a crash.
- velcrovan 3y agoI’m not sure these are the best examples. Your appliances are UL listed and interact with an electrical grid that is heavily regulated. Other than their extremely simple interface with that system (and your plumbing in the case of the washing machine) they entirely self contained. If your windows do keep out the rain, they do so because they were installed properly within a much larger system of overlapping parts. Even on new construction subject to inspection, failures in this system commonly evade detection until after they have done years of damage.
- JohnFen 3y ago> Am I the only one to have the expectation that software I use should never crash? Nope. That's one of my two baseline expectations (the other, more important one, is that software I use should never cause data loss).
- kiwijamo 3y agoMy expectation is that if any software comes across an unexpected situation, the software should crash rather than try and bluff its way through something it's not designed to handle -- risking data corruption or data loss which is worse than simply crashing and retaining your last known good 'save' point. This is where it's nice to have software that runs e.g. tabs in different processes, so you don't experience an overall crash but just a crash isolated to a tab running e.g. a nefarious JS application.
- andersa 3y agoConsider the impact of those things failing. Your chair breaking might injure you in a way that takes months or years to heal. The fridge failing might spoil an entire batch of food. A window failing at the wrong time could cause massive damage to the interior of the house. Meanwhile, the browser crashing rarely makes you lose what, 15 seconds of time to start it back up and continue? It's annoying, but it's also not really... a big deal?
- throwaway2037 3y agoAm I the only one to have the expectation that software I use should never crash? Firefox has 20+ million lines of code. Honestly, I can't tell: Are you trolling? A modern web browser is some of the most complex software ever written.
- jamesfinlayson 3y ago> A modern web browser is some of the most complex software ever written. Case in point - I had to run some x86 Docker containers on an M1 Mac recently - PHP and nodejs ran without issue using Docker's under-the-hood emulator but Chrome continually crashed during emulation.
- Scaevolus 3y agoThat's far more likely to be the emulator failing to handle V8 JIT operations than a bug in Chrome.
- jamesfinlayson 3y agoOh agreed - qemu is quite good but it failing on Chrome is evidence that Chrome is a very complex piece of software.
- great_psy 3y agoIf your chair got as many updates as Firefox than it would be broken just as much.
- deleted 3y ago[deleted]
- kiwijamo 3y agoCan confirm video acceleration works fine on Wayland. For some years you had to turn on some knobs in Firefox but I believe recent versions simply turn it on by default as long as you have a supported GPU. I have a fairly common Intel GPU and it all just works using Firefox LTS on Debian.