A small set of Firefox users may default to 240p streaming quality on YouTube. This is the result of an unintentional bug, and it only affects Firefox running on desktop ARM computers. Changing the Firefox user agent from AArch64 to x86_64 resolves the problem.



This bug was discovered by Hector Martin, the direct developer for Asahi Linux (a Linux port for Apple Silicon Macs). Martin initially accused YouTube of “deliberately crippling Firefox on Asahi Linux” and explained that this problem doesn’t impact Firefox on ARM-based macOS. The macOS version of Firefox uses x86_64 as its user agent—essentially identifying itself as an Intel-based Mac to web pages—while Firefox on AArch64 Linux correctly identifies itself as AArch64.

After advance investigation, Martin amended his statement. A glance at YouTube’s debug info revealed something strange; YouTube thinks that Firefox on AArch64 Linux is a Hisense TV, model number 65a67gevs. This isn’t an intentional attack on Firefox or Asahi Linux. It’s just a bizarre bug.

At some point, YouTube implemented a streaming quality limit for the aforementioned Hisense TV. This quality limit happens to affect Linux browsers that self-acknowledge as AArch64 (software decoding may also be a “trigger,” according to Hector Martin). If anyone at YouTube noticed the problem, they probably didn’t care. After all, most ARM desktop browsers report themselves as x86_64 for privacy and web compatibility purposes. Firefox appears to be the only major AArch64 Linux browser to stray from this convention.

The idea that YouTube is deliberately punishing Linux ARM users is a stretch of the imagination. Desktop Linux ARM machines are niche. They are not a priority for web developers or software developers, and as a result, they can suffer from some strange bugs.

Firefox fans don’t have a reason to feel victimized, either. An Ubuntu Bionic user reproduced this bug in Chromium a few months ago. If you’re running Firefox on Asahi Linux or another affected system, change the browser’s user agent to x86_64 and proceed on with your day.

Mozilla and Google haven’t officially commented on this bug. In any case, Mozilla should probably change the default user agent on its AArch64 Linux desktop browser. Self-identifying as AArch64 may expose users to fingerprinting and additional web compatibility errors. Websites that need to know a system’s CPU architecture are supposed to refer to the User-Agent Client Hints API, anyway.

Source: Hector Martin

Source link