How do I watch Amazon Prime, NetFlix and Youtube videos on my Fedora Laptop?

One of the biggest obstacles to switching from Windows to Linux seems to be the lack of ability to watch moving pictures. Some people claim “no problem”, but I have not been able to get it to work.

My Asus laptop (model E410-KA) will launch video on either Prime or YouTube, but just sits there with a spinning circle cursor forever (or at least several minutes) without advancing even a single frame. System Monitor shows it is not CPU bound, not memory bound and not network bandwidth bound.

Just now, on Fedora 42, I have tried this with Firefox (rev 141.0 64-bit), Edge (v 131.0.3405.52), Google-Chrome (v 138.0.7204.168 Official build 64-bit) and they all fail identically.

I know there are issues with HD and UHD, but I cannot even get it do display SD (480p).

Several people have told me “This should work with any standard supported browser” or “They don’t want you to get HD”, but as I say, I get NOTHING.

Is this really not supposed to work, or if it is supposed to work, how do I find out why it doesn’t ?

update

Thank you for the helpful comments.
My first discovery was that I did not have the rpmfusion-nonfree repo installed, even though I had rpmfusion-nonfree-steam. Once I got this properly enabled, I could install intel-media-driverand libavcodec-freeworld.
But even after that and a reboot, the problem persisted. I followed the directions on the rpmfusion website, but even though this installed several more packages, the end result remains the same.

I suppose flatpack is next …

I did install flatpack com.google.Chrome … and I still have the same problem.

Do you have intel-media-driver (if Intel-based CPU) and libavcodec-freeworld installed? Alternatively, if I remember correctly, you could try installing the Flatpack version of your browser.

The flatpak idea is a good one, you will also get codecs with the browser which you need to watch the videos. Try that and see how that goes.

Hi @larspoulsen

As an alternative to the Flatpak approach, you can also “go native” :smiley:

If you haven’t yet, you should look at RPM Fusion and enable it as repository. RPM Fusion adds software to Fedora that does not comply with the Fedora policies for free / open source licenses.

There are HOWTO’s for the most common use cases, and specifically your question, the Multimedia part is relevant. It upgrades and adds codecs and hardware acceleration support to Fedora:

This will also enable the codecs for other applications, not just your primary browser :+1:

/Jaybe

2 Likes

remember to enable DRM on browser settings that blocks alot if not enabled

How do I do that?
In my flatpak google-chrome install, I tried to search for DRM in the settings page, but nothing came up.

Not sure on chrome at least Firefox have that. I haven’t used chrome for some years now

I have just checked Chromium (related to Chrome) and it also doesn’t have a setting for DRM.
The Brave browser does have it:


It is also available as a flatpak so easy to install. At the same time you can uninstall chrome again should you want to.

Please check that the Flatpak runtime extension org.freedesktop.Platform.ffmpeg-full is installed on your system. Can you post the output of flatpak list? Please post that output as preformatted text, using the </> button on the toolbar after having highlighted the pasted text first.

First, download a sample file like: https://pixabay.com/pt/videos/ondas-agua-mar-paisagem-marítima-286278/

Second, try to playback it by VLC.

Third, use journalctl -S “YYYY-MM-DD HH:mm:ss” using the current date and time minus 2 seconds, so you can see any errors.

Fourth, if there are errors them show them here.

Unfortunately, I think this is a bit of a rabbithole. There’s something wrong with this person’s system, and I don’t think its a matter of installing the correct 3rd party codecs.

I have a F42 workstation system without anything installed right now from rpmfusion
The rpm based firefox works as expected for me running browser based video.
disney+, youtube, prime video, and netflix play without a problem.

Starting with zero flatpaks installed, I install just the flathub chrome flatpak via the cmdline tool and it drags in 7 more flatpaks for deps none of which are ffmpeg-full.
And playback works for me as expected.

openh264 is dragged in as a weak dep, but here’s the crazy part.. if I uninstall all the other flatpaks dragged in as weak deps… leaving only chrome and freedesktop Platform flatpaks installed… chrome still plays video for me from those websites.

So doing a differential analysis using my systems as a reference. The first question I have is this the impacted system a workstation edition install or is it one of the immutable editions?

2 Likes

I tend to believe that too. Looking at the metadata of a few browser Flatpaks[1], I noticed that while Firefox is built with org.freedesktop.Platform.ffmpeg-full extension, Chromium is referencing their own codecs extension (org.chromium.Chromium.Codecs), and Chrome is built with no codecs extension at all, probably because it doesn’t need to, multimedia codecs being bundled in the app. So at least on Chrome as Flatpak, multimedia should have worked on the OP’s system OOTB.

My understanding of Flatpaks is that it should not matter. Properly sandboxed Flatpaks should only be using libraries that are either bundled or are provided by the chosen runtime and by the referenced extensions, if any.

BTW, when testing if a browser is able to run patent-restricted videos, I’m going to websites such as the BBC. E.g., this video won’t be played on a Fedora fresh install, but only after adding restricted libraries from Cisco or RPM-Fusion (in case of RPMs) or after installing certain Flatpak browsers from Flathub.


  1. With flatpak remote-info flathub <flatpak-app-id> -m. ↩︎

Thanks for the many enlightening comments, none of which have led me to a resolution of the problem on my laptop.

This problem appears to be hardware dependent in some way. It works okay on my desktop (Intel i7-4790 with GeForce GT 730) but fails on my laptop (Intel Celeron N4500 with Jasperlake embedded GPU) despite having followed the checklist on the Fedora website. Just today, I found the lsgpu utility. On both systems, it says in the properties section:

SUBSYSTEM drm
DEVTYPE drm-minor

Maybe the best path forward - as unpleasant and time-consuming as it will be - is to wipe the laptop and reinstall Fedora 42 WS from scratch.

I did that. The video played in my Edge browser, and after download, I also played it in VLC with no problem. The syslog entries are here:

Aug 01 14:25:08 Lars-Asus-Laptop vlc.desktop[541230]: libva info: Trying to open /usr/lib64/dri-nonfree/iHD_drv_vi
deo.so
Aug 01 14:25:08 Lars-Asus-Laptop vlc.desktop[541230]: libva info: Found init function __vaDriverInit_1_22
Aug 01 14:25:08 Lars-Asus-Laptop vlc.desktop[541230]: libva info: va_openDriver() returns 0
Aug 01 14:25:09 Lars-Asus-Laptop vlc.desktop[541230]: [00007f45f4c10950] avcodec decoder: Using Intel iHD driver f
or Intel(R) Gen Graphics - 25.2.6 () for hardware decoding
Aug 01 14:25:13 Lars-Asus-Laptop vlc.desktop[541230]: [h264 @ 0x7f45f4ebd380] get_buffer() failed
Aug 01 14:25:13 Lars-Asus-Laptop vlc.desktop[541230]: [h264 @ 0x7f45f4ebd380] thread_get_buffer() failed
Aug 01 14:25:13 Lars-Asus-Laptop vlc.desktop[541230]: [h264 @ 0x7f45f4ebd380] decode_slice_header error
Aug 01 14:25:13 Lars-Asus-Laptop vlc.desktop[541230]: [h264 @ 0x7f45f4ebd380] no frame!
Aug 01 14:25:13 Lars-Asus-Laptop vlc.desktop[541230]: [h264 @ 0x7f45f4cfdc00] get_buffer() failed
Aug 01 14:25:13 Lars-Asus-Laptop vlc.desktop[541230]: [h264 @ 0x7f45f4cfdc00] thread_get_buffer() failed
Aug 01 14:25:13 Lars-Asus-Laptop vlc.desktop[541230]: [h264 @ 0x7f45f4cfdc00] decode_slice_header error
Aug 01 14:25:13 Lars-Asus-Laptop vlc.desktop[541230]: [h264 @ 0x7f45f4cfdc00] no frame!
Aug 01 14:25:14 Lars-Asus-Laptop vlc.desktop[541230]: [00007f461002dac0] avcodec decoder: Using Intel iHD driver f
or Intel(R) Gen Graphics - 25.2.6 () for hardware decoding

I am guessing that this video sample has no DRM restrictions.

This is the workstation edition.

I installed flatpak com.google.Chrome and also org.mozilla.firefox. It seems that they have pulled in 5 more flatpaks for dependencies:

Freedesktop Platform
Mesa
Mesa (Extra)
Intel VAAPI driver
openh264

When doing flatpak run com.google.Chrome I get error messages that Gtk failed to load canberra-gtk-module pk-gtk-module - twice for both.

Using this (flatpak chrome) browser, I go to Amazon Prime. When selecting the movie, the trailer plays in the background - looks fine. When I hit “Play”, the screen goes black. If I stop, I can position to another place in the movie, and it displays that frame, but “Play” does not unfreeze it. I can slide the position marker along the timeline, and it shows the picture from wherever I pass over.

I am puzzled. It must be a DRM issue, but nobody seems to have any new ideas.

yes, but unfortunately the infinite wait black screen symptom reported doesn’t match up with what happens when the needed codec libraries go missing afaict. When the expected codecs are forcibly removed on my systems, I get error message UI from all the in-browser streaming services mentioned when trying to play videos in-browser.

1 Like

this is probably an issue with your system’s audio server.
Can you play audio files in firefox?

you should check whether programs can play audio using pulseaudio, which should be handled by pipewire-pulseaudio, e.g.

paplay -v /usr/share/sounds/alsa/Front_Center.wav

My guess is that you have pipewire AND pulseaudio server installed and enabled.

try to install pipewire-pulseaudio and reboot

sudo dnf install pipewire-pulseaudio --allowerasing 

see also 2366473 – add replacements for pulseaudio and pa-info to pipewire-pulseaudio to prevent new users from breaking their audio setup for details

1 Like

That was it!

sudo dnf install pipewire-pulseaudio --allowerasing

Now I can play Amazon Prime Video programming (in Standard Definition).

May I recommend that some troubleshooting aide gets included that will test that all the required packages are in place for this problem syndrome?

Something like /usr/bin/check_multimedia --DRM --audio. If I were to write it, I would have it start with ```rpm -qa >/tmp/rpmlist`` and then for each feature group verify that a list of packages required is installed.

1 Like

It’s not clear how you got into this situation.
There are conflict rules in place in the rpm packages that do not allow me to install pulseaudio because I have pipewire-pulseaudio already installed hence why you needed the allowerasing option.. to make it possible to satisfy the conflict rules by removing pulseaudio rpm already installed on your system.

Was this a system that you’ve upgraded across multiple fedora releases?

why not? Please read the redhat bugzilla report I linked to in my previous post.

tl;dr try to run ‘pulseaudio --version’ or something like that and naively accept the prompts to continue replacing pipewire-pulseaudio with pulseaudio.

It would be best if we had a way to block/exclude either specific program names or rpm packages like pulseaudio from the Packagekit-command-not-found nonsense.

I bet we would find a similar dnf4 transaction as in the bugzilla report.