CBS All Access serves ads, but not content, to Linux users

 arstechnica.com  01/29/2020 13:00:43   Jim Salter
A retouched screenshot from Picard portrays Jean-Luc Picard petting a penguin.
Enlarge / No CBS All Access on Linux makes elderly Picard cry.

As of this month, the CBS All Access streaming-video platformhome of popular shows including The Late Show with Stephen Colbert and now Star Trek: Picardstopped working on Linux PCs, regardless of the choice of browser. Ten years ago, this would have been just another day in the life of a Linux user, but it's a little surprising in 2020. We were originally tipped off to the issue by a few irate readers but quickly found it echoed in multiple threads onReddit, Stack Exchange, and anywhere else you'd expect to find Linux users congregating.

  • Trailers and ads all work fine on CBS All Access, in any browser. The problem isn't the streamingit's apparently something to do with the DRM itself.
  • When attempting to play the actual video in a Linux browser, this is all you get: blank, black screen with non-functional controls (and parental rating badge).
  • Unlike Google Chrome, Firefox doesn't ship with DRM functionality enabled by defaultand it needs to be enabled to play content on streaming services.
  • Behavior after installing the DRM plugin in Firefox is different on different systems. On an Ubuntu 18.04 machine, it was a plain black screen. On this 19.10 system, the DRM plugin crashed.

I'm both a Linux user and a CBS All Access subscriber myself, but I had been unaware of the problem since I do all my own watching on a Roku. Technically, the Roku is a Linux PC in its own rightbut CBS has its own app in the Roku store, which works perfectly.

Moving back to one of my own PCs, I was quickly able to confirm the issue: trailers autoplay properly, and even the ads workbut the actual content won't play on a Linux desktop PC on any browser including Google Chrome. Diving into the Chrome Web Console, we can see HTTP 400 (Bad Request) errors when the browser attempts to fetch a license from CBS' Widevineback end.

  • HTTP 400 (Bad Request) errors when trying to retrieve a license from widevine appears to be the heart of the issuedespite Google Chrome itself being extremely similar on all platforms.
  • In the past, many sites have deliberately blocked Linux in a mistaken attempt to make their own lives easier. That doesn't appear to be the case here, since changing User-Agent doesn't change the errors.
  • CBS All Access also breaks under "Edgium," Microsoft's new Chromium-based version of the Edge browser. At least Edge users get a proper, user-visible error out of it!

Historically, some sites and services have deliberately blocked Linux User-Agent strings from accessing them, under the mistaken belief that doing so would reduce their support load when the service itself actually worked fine. This does not appear to be the case with the CBS All Access issuechanging User-Agent in either Chrome or Firefox doesn't have any effect on the string of errors when attempting to play content.

CBSi uses Widevinea fully cross-platform DRM protocol, created by Google. Somehow, it's broken anyway.
Enlarge / CBSi uses Widevinea fully cross-platform DRM protocol, created by Google. Somehow, it's broken anyway.

The curious thing about these DRM errors is that Widevinethe DRM system CBS All Access is usingis a Google creation. It normally works perfectly well on just about any platform you can think of. Disney+, Netflix, Google Play Movies, and Hulu all use Widevineand all of those work just fine in Google Chrome running under Linux. So we're a little puzzled about just what happened on CBS All Access' end to break things, even though the service does explicitly state that it doesn't support Linux.

In further testing, we can confirm that CBS All Access does not work in Google Chrome on Android or Safari on iOS devicesalthough specific apps are available on both platforms, which do work. We also discovered that the service is broken under Microsoft's new Chromium-based version of Edgewhich, it's worth noting, is likely to soon be the default browser for nearly every new Windows PC sold.

In the meantime, Linux users do have one functional workaroundCBS All Access is available as an add-on subscription to Amazon Prime streaming video. So if you need All Access on your Linux PC, you can unsubscribe from your existing subscription, log in to Prime, and start a new subscription therewhere the content will play back perfectly well, using Amazon's system instead of CBS Interactive's.

  • Dropping your direct-to-CBS subscription and replacing it with a sub-subscription from Amazon Prime results in working video playback, using Prime's site and service.
  • Streaming also works fineincluding audio!from Chrome in a Windows 10 VM, under the Linux Kernel Virtual Machine. (Most systems won't have enough grunt to pull this off without some frames dropping, though.)

Ars reached out to CBS Interactive for comment; an executive responded, but no answers were available at press time.

« Go back