Watching Twitch.tv in Firefox

Hi everyone,

I understand if this is more of a question for the Firefox forums, but I am encountering issues using Twitch.tv with a fresh Fedora 38 installation. I encountered the same issues on Fedora 37 as well.

I encounter the following error when opening a stream:

Based on a bit of preliminary research, it seems to have something to do with the package (and dependencies) ffmpeg either being misconfigured, disabled, or not installed.

A common solution for this issue seems to be installing the Firefox flatpak (which I can confirm works), but the flatpak version of Firefox does not have things like touchpad gestures enabled by default, and I was unable to configure the flatpak version to mimic the one installed by default.

Any help with configuring Firefox or installing the needed packages is greatly appreciated. Thank you!

We do not know anything about the system.
Please post the output of inxi -Fzxx so we can see what hardware and drivers are in use. This sounds like it may be a video driver or codec issue but we need more info to know.

Do you have the proprietary codecs installed? Twitch uses H264.

Here is the output of running inxi -Fzxx:

System:
  Kernel: 6.2.11-300.fc38.x86_64 arch: x86_64 bits: 64 compiler: gcc
    v: 2.39-9.fc38 Desktop: GNOME v: 44.0 tk: GTK v: 3.24.37 wm: gnome-shell
    dm: GDM Distro: Fedora release 38 (Thirty Eight)
Machine:
  Type: Laptop System: Framework product: Laptop (12th Gen Intel Core) v: A4
    serial: <superuser required>
  Mobo: Framework model: FRANMACP04 v: A4 serial: <superuser required>
    UEFI: INSYDE v: 03.05 date: 08/23/2022
Battery:
  ID-1: BAT1 charge: 36.5 Wh (70.5%) condition: 51.8/55.0 Wh (94.1%)
    volts: 15.2 min: 15.4 model: NVT Framewo serial: <filter>
    status: discharging
CPU:
  Info: 12-core (4-mt/8-st) model: 12th Gen Intel Core i5-1240P bits: 64
    type: MST AMCP arch: Alder Lake rev: 3 cache: L1: 1.1 MiB L2: 9 MiB
    L3: 12 MiB
  Speed (MHz): avg: 2079 high: 4271 min/max: 400/4400:3300 cores: 1: 493
    2: 2100 3: 4271 4: 2100 5: 504 6: 2100 7: 3694 8: 2100 9: 2100 10: 1550
    11: 2100 12: 2100 13: 2100 14: 2100 15: 2100 16: 1766 bogomips: 67584
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
Graphics:
  Device-1: Intel Alder Lake-P Integrated Graphics driver: i915 v: kernel
    arch: Gen-12.2 ports: active: eDP-1 empty: DP-1, DP-2, DP-3, DP-4
    bus-ID: 00:02.0 chip-ID: 8086:46a6
  Display: wayland server: X.org v: 1.20.14 with: Xwayland v: 22.1.9
    compositor: gnome-shell driver: gpu: i915 display-ID: 0
  Monitor-1: eDP-1 model: BOE Display 0x095f res: 2256x1504 dpi: 201
    diag: 343mm (13.5")
  API: OpenGL v: 4.6 Mesa 23.0.1 renderer: Mesa Intel Graphics (ADL GT2)
    direct-render: Yes
Audio:
  Device-1: Intel Alder Lake PCH-P High Definition Audio driver: snd_hda_intel
    v: kernel bus-ID: 00:1f.3 chip-ID: 8086:51c8
  API: ALSA v: k6.2.11-300.fc38.x86_64 status: kernel-api
  Server-1: PipeWire v: 0.3.69 status: active with: 1: pipewire-pulse
    status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
    4: pw-jack type: plugin
Network:
  Device-1: Intel Wi-Fi 6 AX210/AX211/AX411 160MHz driver: iwlwifi v: kernel
    pcie: speed: 5 GT/s lanes: 1 bus-ID: a6:00.0 chip-ID: 8086:2725
  IF: wlp166s0 state: up mac: <filter>
Bluetooth:
  Device-1: Intel AX210 Bluetooth type: USB driver: btusb v: 0.8
    bus-ID: 3-10:3 chip-ID: 8087:0032
  Report: rfkill ID: hci0 rfk-id: 0 state: up address: see --recommends
Drives:
  Local Storage: total: 476.94 GiB used: 12.78 GiB (2.7%)
  ID-1: /dev/nvme0n1 vendor: Samsung model: MZVLW512HMJP-000H1
    size: 476.94 GiB speed: 31.6 Gb/s lanes: 4 serial: <filter> temp: 24.9 C
Partition:
  ID-1: / size: 475.35 GiB used: 12.53 GiB (2.6%) fs: btrfs
    dev: /dev/nvme0n1p3
  ID-2: /boot size: 973.4 MiB used: 239.3 MiB (24.6%) fs: ext4
    dev: /dev/nvme0n1p2
  ID-3: /boot/efi size: 598.8 MiB used: 17.4 MiB (2.9%) fs: vfat
    dev: /dev/nvme0n1p1
  ID-4: /home size: 475.35 GiB used: 12.53 GiB (2.6%) fs: btrfs
    dev: /dev/nvme0n1p3
Swap:
  ID-1: swap-1 type: zram size: 8 GiB used: 0 KiB (0.0%) priority: 100
    dev: /dev/zram0
Sensors:
  System Temperatures: cpu: 58.0 C mobo: N/A
  Fan Speeds (RPM): N/A
Info:
  Processes: 727 Uptime: 15h 0m Memory: 15.32 GiB used: 4.86 GiB (31.7%)
  Init: systemd v: 253 target: graphical (5) default: graphical Compilers: N/A
  Packages: pm: rpm pkgs: N/A note: see --rpm pm: flatpak pkgs: 9 Shell: Bash
  v: 5.2.15 running-in: gnome-terminal inxi: 3.3.26

I have not installed any additional codecs on this machine.

I just attempted to install mozilla-openh264-2.3.1-2.fc38.x86_64, which, by its description, seems to be exactly what I need, but it doesn’t seem to have resolved the issue.

I would suggest that you install
libavcodec-freeworld & ffmpeg as well as libheif-hevc.
This would need to be done in 3 steps.
dnf install libheif-hevc
dnf swap libavcodec-free libavcodec-freeworld
dnf swap ffmpeg-free ffmpeg

It also would require that you install/enable the rpmfusion-free and rpmfusion-nonfree repos as shown here before the above can be done.
https://rpmfusion.org/Configuration

This would enable most/all the codecs that are restricted within fedora.

Thank you for your suggestion. libheic-hevc doesn’t seem to exist in any of the repos I’ve enabled.

Here is the output of ls in /etc/yum/repos.d:

_copr:copr.fedorainfracloud.org:phracek:PyCharm.repo
fedora-cisco-openh264.repo
fedora-modular.repo
fedora.repo
fedora-updates-modular.repo
fedora-updates.repo
fedora-updates-testing-modular.repo
fedora-updates-testing.repo
google-chrome.repo
rpmfusion-free.repo
rpmfusion-free-updates.repo
rpmfusion-free-updates-testing.repo
rpmfusion-nonfree-nvidia-driver.repo
rpmfusion-nonfree.repo
rpmfusion-nonfree-steam.repo
rpmfusion-nonfree-updates.repo
rpmfusion-nonfree-updates-testing.repo

I’m not sure how to check the status of these via command line, but in the Software program, all repos are enabled aside from the test ones (e.g. RPM Fusion for Fedora 38 - Nonfree - Test Updates).

Any additional help would be appreciated.

Current Firefox version still doesn’t support ffmpeg 6.0. You need to install compat-ffmpeg 4.4 from the RPM Fusion repository:

sudo dnf install compat-ffmpeg4

Restart your browser.

1 Like

You can use dnf repolist to list enabled repos; you can also specify the options --disabled or --all.

https://dnf.readthedocs.io/en/latest/command_ref.html#repolist-command

1 Like

Sorry, that was a typo above and has been fixed.
It was meant to be libheif-hevc and is available from rpmfusion.

I would not suggest having any of the testing repos enabled for long periods unless you intend to always test new packages as soon as they are available and maybe even while bugs exist before they are released.
Use dnf repolist as suggested to see what is enabled on your system.

Hi everyone,

I’ve followed the instructions provided to install the following packages:

  • libheif-hevc
  • compat-ffmpeg4

I receive a broken packages warning when running the following commands:

  • dnf swap libavcodec-free libavcodec-freeworld
 Problem: problem with installed package libavformat-free-6.0-4.fc38.x86_64
  - package libavformat-free-6.0-2.fc38.x86_64 requires libavcodec-free(x86-64) = 6.0-2.fc38, but none of the providers can be installed
  - package libavformat-free-6.0-4.fc38.x86_64 requires libavcodec-free(x86-64) = 6.0-4.fc38, but none of the providers can be installed
  - conflicting requests
  • dnf swap ffmpeg-free ffmpeg
 Problem: problem with installed package libswscale-free-6.0-4.fc38.x86_64
  - package ffmpeg-libs-6.0-6.fc38.x86_64 conflicts with libswscale-free provided by libswscale-free-6.0-4.fc38.x86_64
  - package ffmpeg-libs-6.0-6.fc38.x86_64 conflicts with libswscale-free provided by libswscale-free-6.0-2.fc38.x86_64
  - package ffmpeg-6.0-6.fc38.x86_64 requires ffmpeg-libs(x86-64) = 6.0-6.fc38, but none of the providers can be installed
  - conflicting requests

I am digging around in the Firefox UI and have found the following in the Add-ons Manager:

Despite what the yellow message says, the codec is never installed.

You might try the options --best --allowerasing to that; and the same for the ffmpeg swap.

It seems that with F38 the package libheif-hevc has been replaced by libheif-freeworld which should automatically be done with an upgrade.

Thanks, @computersavvy! This has resolved the issue.

I’ll go ahead and mark your original post as the solution.