56 comments

[ 3.6 ms ] story [ 123 ms ] thread
Benchmarks are nice and all but for me the main browser issues on Linux has always been "does HW acceleration work out of the box, or do I need to fuck around with flags and MESA and Wayland configs after reading tutorials online based on the GPU I use?".

Winning benchmarks was no use if watching a youtube or netflix video would nuke my battery life and turn the laptop fan into a a scramjet on afterburner, and watching youtube is what many people use their laptops for bott for entertainment and for learning.

Firefox seems to work fine nowadays on X11 with an AMD iGPU. I haven't had a reason to try Wayland recently, and last time I checked it wasn't fully supported by some of the stuff I use (IntelliJ, mainly, and IIRC electron apps).

But I wonder if HW acceleration is actually that helpful in practice. Judging by CPU use hovering around a few percent, watching videos on Firefox or mpv is unloaded to the GPU. But my laptop still gets fairly hot. I haven't actually tried to compare battery life between CPU and GPU decoding, but I figure the heat has to come from somewhere, right?

One fun fact I've noticed is that the laptop gets less warm while watching 4k YT videos than FHD. Even if I have it scaled to FHD resolution (my external screen is 4k, but not the laptop's panel).

(Well written) Electron apps have fully supported Wayland for a while now, without any issue. I've been using VSCode on Wayland (native) without a hitch for more than a year. Discord is more problematic due to them being a bunch of donkeys, but there are workaround for the motivated tweaker (like using another version of Electron).
I didn't look too much into it since X11 worked fine for my needs, but my understanding was that some applications used too ancient versions of Chrome. One which I remember specifically was teams.
Teams on Linux is essentially abandonware. Just stick to the PWA with a Chromium-based browser and you'll notice it works a billion times better than however the "app" has ever done before
Sure, that's what I use nowadays. But, I actually find it works worse. The only improvement is that I can now authenticate with my YubiKey, which the older version didn't support.

But otherwise? It's terrible. Notifications are hit-and-miss, especially since chromium by default seems to "suspend" the page. When the notifications do work, there's no "urgent" tag on the window, so if I've missed the notification popup, I don't know someone's waiting for me. They've "improved" the layout during calls, so that when someone shares their screen, there are always a bunch of useless icons around it instead of going full-screen. And the old version used to draw a red rectangle around what was being shared. Now I get a tooltip at the bottom of the screen, which sits half below my screen edge and the other half is partially obscured by the launcher. Plus, its "hide" button doesn't do anything.

HW acceleration on Linux is a mixed bag. You have to ensure that it is always working. If it's not broken in the browser (am looking at you Chromium, with a slight side eye to Firefox) then your GPU might not support the video codec requested by the video service.

In my case, I have hardware that supports HW accel for avc and other "legacy" codecs but not av1. Which YouTube likes to use randomly and the only way to confirm if they are using it is by checking the video stats on YouTube. There are ways to disable the browser from requesting av1 from YouTube but I stopped using the official interface in favor of other privacy-respecting clients which to my knowledge don't request av1.

I'm pretty sure it was using hardware acceleration since the cpu usage was so low. Using mpv and forcing it to use the CPU has it jump to something like 20-25%.
In my case with Intel hardware, how I make 100% sure that it's activated is using a program called intel-gpu-tools, with it if you run intel_gpu_top as root you'll get the video acceleration stats shown to you. Pretty sure Nvidia has something similar but am not sure about AMD.
There's radeontop, but it doesn't seem to say anything about video acceleration. mpv does say what it uses and complains when you ask it to do something unsupported, and since there's a clear difference in CPU usage between hardware and software decoding, I figure CPU use is a good enough indicator.
I tend to watch yt vids at 2x speed or higher and hw acceleration is important on my little xps13. If I don't have it enabled, the laptop runs noticeably warmer and my cpu spikes up to like 80-90% usage instead of ~ 40%.
There's a huge difference on my laptop (Intel iGPU + nvidia dGPU, though the nvidia chip has no video decode capability) in battery life between software decoding and using the Intel quicksync hw codecs, at least with mpv. Using the dmabuf-wayland vo is especially efficient (though theoretically lower quality than gpu-next/gpu).
>Winning benchmarks was no use if watching a youtube video would nuke my battery life

Part of that, of course, will be because YouTube forces video codecs that may not have hardware acceleration on your platform, preferring their bandwidth over your power consumption (which, of course, is their right - and is a cross-browser issue)

>Part of that, of course, will be because YouTube forces video codecs that may not have hardware acceleration on your platform

Codecs supported by Youtube (VP9 and x264) have had GPU HW acceleration support on most PCs and laptops sold in the last 8-10 years or longer, just that browsers on Linux never enabled it out of the box because of the wild number of variable on the graphics HW acceleration stack (Mesa, Wayland, VA-API, Nvidia, FOSS/proprietary driver, etc) made it impossible to guarantee it would actually work out of the box, so it defaulted to SW, and HW acceleration was left for the user to tinker figure out on his own, unlike on Windows where you never even had to think about it, it was always working the moment you installed the bowser.

I think the point they were making is that the ecosystem of VP9 decoding GPUs and the driver, OS, browser stack on top is smaller than the ecosystem of H264. av1 even more so.
Somewhat agree but would go a step further, benchmarks at their very best are useless, at worst are completely misleading from an end user pov. Rendering and interpreting garbage as fast as possible is distant second from filtering it out right off the bat when it comes to performance. Curating the browsing experience via content blocking can literally make orders of magnitudes of difference. Youtube is a prime example.
I have an nVidia GPU, and it shows slight less load in Firefox compared to Chrome.

No special settings there. Install nVidia drivers, install Firefox, there's no step three.

Both use the GPU itself rather than the video engine. If you want to use the Video Engine of the GPU, you need to use something like VLC.

Before Firefox v115 I had to go into about:config and enable vaapi. For some reason it was disabled by default even on Intel graphics PCs. With v115 that step is not needed. One can confirm with intel_gpu_top and check the video decode bar.
Chrome doesn't have the flexibility and features I want, so it could be faster than light itself, I would still use Firefox nevertheless. The whole JPEG XL shenanigan together with their constant attempt to limit extensions are IMHO serious enough to merit intervention from antitrust authorities. Google should IMHO yield their stewardship of the Chromium project to a third party, independent entity and refrain from ever attempting again to push nefarious anti-features into their browser.
JPEG XL might have patent issues
According to who?

According to Wikipedia, JPEG XL is a royalty-free open format, and there is no mentions of patents at all.

Are you perhaps confusing it with HEIF that does have some licensing confusion related to it.

I'm not arguing either way but you can often only say "this isn't affected by any patents that we know of".

Many are so obscure, generic and bloody-obvious that they avoid basic searches. You don't hear about them until the troll comes for their take.

Yeah, so "JPEG XL might have patent issues" in itself is a statement which doesn't mean anything.

So we either interpret it to mean, "JPEG XL is more likely to have patent issues than the alternatives (AVIF, WebP, whatever)", in which case capableweb's question is totally fair -- or we interpret it to be a bad-faith attempt at derailing the conversation.

It's not meaningless.

Knowing there is good novel-feature coverage of patents and knowing you have permission for those patents is better.

Webp is encumbered. Google owns many patents that cover Webp features. Google grants permission to use them (not that it needs them in its own product).

That is all to say that it's not hard why someone at Google might prefer a technology they have explicit rights over.

How do we know that there are no non-Google patents which cover parts of WebP?
Somebody with a good enough handle on things might be able to argue novel features in WebP are all covered by strong, first-party patents, and the tech that isn't new to WebP is so old and prior it's not a licensing issue.
Yeah something interesting about this one was that the competing AVIF has been notoriously absent from Edge despite being Chromium based. I finally discovered why from a Microsoft dev commenting on the topic on Mastodon. They have apparently been targeted by a patent troll but are working behind the scenes to resolve it.

This is only more fuel to how the current decisions are really not the best way forward as a web-oriented technology. What if Ladybird aims to support AVIF and is hit too? They might not have the finances or resources to be able to ever support it.

So might VP9 and AV1 (or even WebP – not too sure about the timing there), yet Google ships a software implementation of all of these with Chrome as far as I know.
Considering the context, it is weird that they are benchmarking the beta instead of nightly where the notable perf improvements landed, and that their benchmark suite is missing SunSpider, the test where the biggest(?) gains were made.
to a certain extent, I don't care about performance. as long as it doesn't hinder me browsing useless stuff, I will use firefox. chrome and google, on the other hand, keep showing intentions to mess the open and free web. so, I won't get tired to say the following: to google developers who work on chrome, I really suggest you to get out of that place if you love open and free web.
Firefox 117 vs Chrome 116? Are companies still trying to pull the "our version number is higher therefore better" gimmick? I already think Firefox is better since it isn't Google. Why do the versions have to be so arbitrarily close?
Are you seriously confused how incrementing a number works?
I think it's just coincidence. For years FF was "behind", but had a faster release cycle. Now it just happened to reach Chrome and will likely "pull ahead" in numbers.
Chrome increased their release speed to stay one version ahead of ff. During the pandemic they missed one release, but they also skipped one version so that they can stay ahead. The version was somewhere in the nineties.
Jesus Christ... I'm sorry, I know I'm not adding anything to the conversation. I'm just baffled by these "decisions".

Honestly, no one cares... As long as you're consistent.

Well, this is called marketing.

PS: The version turned out to be 82 btw.

They just made versions a less important thing. It's must easier to release more often when you don't care if it bumps the major version or not, it doesn't have to be a big deal.
It's just a number that goes up
Firefox used to follow semantic versioning of some sort, but dropped it in favour of just incrementing the major number.

It’s common. So does Chrome. And LLVM from the top of my head

there is an article between the ads, but i was kinda afraid to click anywhere, so couldnt really read it
About performance, there are people who hack into some firefox profile js config file, tweaking some UI engine level settings and it makes firefox snappier (something chrome enjoyed since forever).
Thanks, but I don't trust Phoronix' methodology. Too many questions like:

* Does the Beta have any debug features enabled that are absent from production builds?

* What build did he use -- official from Mozilla, built locally?

* As noted in the comments under the "article" -- why test against Beta when the performance improvements that led to the SunSpider result are in nightly?

Looks like just your usual run of the mill low effort, low quality clickbait blogspam from Phoronix on a conveniently flame-bait topic.

> Looks like just your usual run of the mill low effort, low quality clickbait blogspam from Phoronix on a conveniently flame-bait topic.

I think Phoronix should be banned from most communities. Use of this site is proof that 100% of the tech community uses ad-blockers.

It is absolutely an abusive, over-monetized domain, with low effort content whose only purpose is to generate ad revenue.

Phoronix is effectively the only performance CI for the Linux kernel.

There were many regressions that were only discovered and bisected by Phoronix, including integer-factor performance regressions in fundamental components where you'd think big companies would find them immediately. But they don't, Phoronix does.

Example:

https://www.phoronix.com/news/Kernel-Bisecting-5.9-Ongoing

https://www.phoronix.com/review/linux-59-fairness

I consider this type of work critical to FOSS becoming and staying good, and think it's commendable that Michael Larabel dedicates his life to it.

As little as I like ads, it seems like a good way to fund this effort. There's also Phoronix Premium to remove ads (I bought this many years ago and am very happy with it).

As a long time Chrome user, I decided to test Firefox with my recent Fedora 38 installation. It really seems to have improved a lot since last time I used it. It feels fast and snappy. I think the differences described in the benchmarks are small enough to not perceive any difference. And Firefox seems to work better with Wayland than Chrome. For example, Chrome fractional scaling on Wayland was broken by default but it worked out of the box in Firefox. I also have the perception that Firefox is using less memory than Chrome, but I actually haven't properly measured it.

The only feature that I'm seriously missing is Chrome's profile management. I use this a lot to have completely separate browsing experience between Work and Personal stuff. Separate history, separate cookies, separate extensions. In Chrome this works like a charm. It always remember my open tabs on each profile and it allows me to customize the windows of each profile to easily distinguish them. Firefox does have profiles, but the user experience is miles behind. I also tried the Multi-Account Containers extension, but it's not very good either.

After seeing the direction that Google is trying to take with WEI and similar stuff, I'm really looking forward to move 100% to Firefox.

I hear you about the profiles and multi-account containers. The containers are bundled now I think, but I never got them to work correctly. Once I started using a container it tended to want to put everything in it. It just wasn't user friendly. Maybe it's gotten better though.
I had the same issue, as up right now there is no good solution. It does support multiple profiles, but you have to fiddle with them. Also I needed not just different profiles but different Firefox icons, so know which FF is work vs personal.

Ended up with using FF stable as my work profile, and FF Nightly builds for personal.

Try FF multi-account containers instead of switching profiles: https://addons.mozilla.org/en-US/firefox/addon/multi-account...
It may not solve any issue (e.g. separate history) but I wouldn’t want to use a browser without multi-account containers on my work laptop anymore. Separating internal O365 things form customer O365 things saves real time every day. No more logout-select other account-login again. Separating private browsing from that is a nice bonus. Only drawback is the pain I feel while viewing my co-workers stuggle with all that pain without using multi-account containers. But they too will see the light one day!
The thing that's actually standing out to me lately is of the OSs I use (win10 win11 osx and Linux) win11 seems awful with all the browsers I've tried having video playback bugs of the severity I've not seen in years. That is with edge, Firefox or chrome. I just don't know what's going wrong in win11 that's leaving things in such a bad way.
These are only synthetic benchmarks and should be more considered by browser developers not end users. Really those milliseconds don't make big difference for regular web browsing in the real world.

I prefer Firefox's features to Chrome's benchmarks. Better ad-blocking tab management and experience in general is what I care about and Firefox is a clear winner in that regard.

Don't care about speed, I care about container tabs and containerize. Also, I just prefer Firefox. I'm using it on all devices, logged in with sync enabled. It's great.