[SOLVED] Firefox Hardware Acceleration on Ivy Bridge CPU

Message
Author
beesyrup
Posts: 13
Joined: Thu Nov 07, 2024 10:09 am

[SOLVED] Firefox Hardware Acceleration on Ivy Bridge CPU

#1 Post by beesyrup »

Hello,

I have some questions surrounding hardware acceleration on Firefox on an Ivy Bridge processor. I tried to research for this case on MX Linux forums and over the web, but haven't had much luck with finding an answer. I'm a bit new to the Linux space, and to MX Linux, so I would love to see if anyone has any insight on this matter.

My end goal is to get Firefox to offload video rendering to the GPU to reduce load on the CPU, and perhaps optimize utilization and hopefully optimize power draw/thermals on my aging battery.

System
The system is a Thinkpad X230 with a Intel Core i5-3320M. I am currently running MX Linux 23.4 64-bit (Xfce) and have observed that Firefox is not using any of the
Intel iGPU for video processing. I don't know if this is a known limitation, but I wanted to see if anyone had any ideas to figure this out.

Changes Made
- I am running enhanced-h264ify as I understand that this processor can't handle VP8/VP9 decoding.
- I have set "Use Intel driver instead of "modesetting" driver (requires restart)"
- I have modified the /etc/X11/xorg.conf.d/20-intel.conf to set the following

Code: Select all

   Option      "AccelMethod" "uxa"  #could also use the default "sna"
- I have checked that vainfo is indeed detecting the use of the integrated GPU:

Code: Select all

$ vainfo
libva info: VA-API version 1.17.0
libva info: User environment variable requested driver 'i965'
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_1_8
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.17 (libva 2.12.0)
vainfo: Driver version: Intel i965 driver for Intel(R) Ivybridge Mobile - 2.4.1
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            :	VAEntrypointVLD
      VAProfileMPEG2Simple            :	VAEntrypointEncSlice
      VAProfileMPEG2Main              :	VAEntrypointVLD
      VAProfileMPEG2Main              :	VAEntrypointEncSlice
      VAProfileH264ConstrainedBaseline:	VAEntrypointVLD
      VAProfileH264ConstrainedBaseline:	VAEntrypointEncSlice
      VAProfileH264Main               :	VAEntrypointVLD
      VAProfileH264Main               :	VAEntrypointEncSlice
      VAProfileH264High               :	VAEntrypointVLD
      VAProfileH264High               :	VAEntrypointEncSlice
      VAProfileH264StereoHigh         :	VAEntrypointVLD
      VAProfileVC1Simple              :	VAEntrypointVLD
      VAProfileVC1Main                :	VAEntrypointVLD
      VAProfileVC1Advanced            :	VAEntrypointVLD
      VAProfileNone                   :	VAEntrypointVideoProc
      VAProfileJPEGBaseline           :	VAEntrypointVLD
- I have also checked that Firefox is indeed detecting that the Intel iGPU is present:

Code: Select all

GPU #1
Active	Yes
Description	Mesa Intel(R) HD Graphics 4000 (IVB GT2)
Vendor ID	0x8086
Device ID	0x0166
Driver Vendor	mesa/crocus
Driver Version	22.3.6.0
RAM	0
And under WEBRENDERER and WEBRENDER_COMPOSITOR I see that it's blocklisted:

Code: Select all

WEBRENDER
default	available		
env	blocklisted	Blocklisted by gfxInfo	Blocklisted; failure code FEATURE_FAILURE_DDX_INTEL

WEBRENDER_COMPOSITOR
default	disabled	Disabled by default	Blocklisted; failure code FEATURE_FAILURE_DISABLED
env	blocklisted	Blocklisted by gfxInfo	Blocklisted; failure code FEATURE_FAILURE_WEBRENDER_COMPOSITOR_DISABLED
runtime	blocked	Cannot be enabled in release or beta	Blocklisted; failure code FEATURE_FAILURE_DISABLE_RELEASE_OR_BETA
Problem
The result is that the "Compositing" field shows that it's running on Software Rendering:

Code: Select all

Compositing	WebRender (Software)
I can confirm that while using intel_gpu_top, no video activity is present, and everything's on Render/3D:
https://imgur.com/K5UTpIh.png

Comparison with similar environment
When trying Fedora 41 Workstation (GNOME + Wayland) on a similar machine from the same era (X230T i7-3520M), Firefox's about:support panel shows similar results, but with the difference that Firefox is showing Compositing field showing WebRender.

Here is my QSI on my X230 running MX Linux 23.4_64 Libretto:

Code: Select all

Snapshot created on: 20241215_1116
System:
  Kernel: 6.1.0-28-amd64 [6.1.119-1] arch: x86_64 bits: 64 compiler: gcc v: 12.2.0
    parameters: BOOT_IMAGE=/boot/vmlinuz-6.1.0-28-amd64 root=UUID=<filter> ro quiet splash
    resume=UUID=<filter> resume_offset=109027328
  Desktop: Xfce v: 4.18.1 tk: Gtk v: 3.24.36 info: xfce4-panel, plank wm: xfwm v: 4.18.0 vt: 7
    dm: LightDM v: 1.26.0 Distro: MX-23.4_x64 Libretto September 15  2024 base: Debian GNU/Linux 12
    (bookworm)
Machine:while on 
  Type: Laptop System: LENOVO product: 2306CTO v: ThinkPad X230 serial: <superuser required>
    Chassis: type: 10 serial: <superuser required>
  Mobo: LENOVO model: 2306CTO serial: <superuser required> UEFI: LENOVO v: G2ETB7WW (2.77 )
    date: 09/24/2019
Battery:
  ID-1: BAT0 charge: 45.2 Wh (77.1%) condition: 58.6/93.2 Wh (62.9%) volts: 12.0 min: 11.1
    model: LGC 45N1029 type: Li-ion serial: <filter> status: not charging
CPU:
  Info: model: Intel Core i5-3320M bits: 64 type: MT MCP arch: Ivy Bridge gen: core 3 level: v2
    built: 2012-15 process: Intel 22nm family: 6 model-id: 0x3A (58) stepping: 9 microcode: 0x21
  Topology: cpus: 1x cores: 2 tpc: 2 threads: 4 smt: enabled cache: L1: 128 KiB
    desc: d-2x32 KiB; i-2x32 KiB L2: 512 KiB desc: 2x256 KiB L3: 3 MiB desc: 1x3 MiB
  Speed (MHz): avg: 1307 high: 1418 min/max: 1200/3300 scaling: driver: intel_cpufreq
    governor: ondemand cores: 1: 1418 2: 1259 3: 1308 4: 1245 bogomips: 20751
  Flags: avx ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3
  Vulnerabilities:
  Type: gather_data_sampling status: Not affected
  Type: itlb_multihit status: KVM: VMX unsupported
  Type: l1tf mitigation: PTE Inversion
  Type: mds mitigation: Clear CPU buffers; SMT vulnerable
  Type: meltdown mitigation: PTI
  Type: mmio_stale_data status: Unknown: No mitigations
  Type: reg_file_data_sampling status: Not affected
  Type: retbleed status: Not affected
  Type: spec_rstack_overflow status: Not affected
  Type: spec_store_bypass mitigation: Speculative Store Bypass disabled via prctl
  Type: spectre_v1 mitigation: usercopy/swapgs barriers and __user pointer sanitization
  Type: spectre_v2 mitigation: Retpolines; IBPB: conditional; IBRS_FW; STIBP: conditional; RSB
    filling; PBRSB-eIBRS: Not affected; BHI: Not affected
  Type: srbds status: Vulnerable: No microcode
  Type: tsx_async_abort status: Not affected
Graphics:
  Device-1: Intel 3rd Gen Core processor Graphics vendor: Lenovo driver: i915 v: kernel arch: Gen-7
    process: Intel 22nm built: 2012-13 ports: active: LVDS-1 empty: DP-1, DP-2, DP-3, HDMI-A-1,
    HDMI-A-2, HDMI-A-3, VGA-1 bus-ID: 00:02.0 chip-ID: 8086:0166 class-ID: 0300
  Device-2: Chicony Integrated Camera type: USB driver: uvcvideo bus-ID: 3-1.6:5
    chip-ID: 04f2:b2eb class-ID: 0e02
  Display: x11 server: X.Org v: 1.21.1.7 compositor: xfwm v: 4.18.0 driver: X: loaded: intel
    dri: crocus gpu: i915 display-ID: :0.0 screens: 1
  Screen-1: 0 s-res: 1366x768 s-dpi: 96 s-size: 361x203mm (14.21x7.99") s-diag: 414mm (16.31")
  Monitor-1: LVDS-1 mapped: LVDS1 model: LG Display 0x037a built: 2012 res: 1366x768 hz: 60
    dpi: 124 gamma: 1.2 size: 280x160mm (11.02x6.3") diag: 318mm (12.5") ratio: 16:9 modes: 1366x768
  API: OpenGL v: 4.2 Mesa 22.3.6 renderer: Mesa Intel HD Graphics 4000 (IVB GT2)
    direct-render: Yes
Audio:
  Device-1: Intel 7 Series/C216 Family High Definition Audio vendor: Lenovo 7 driver: snd_hda_intel
    v: kernel bus-ID: 00:1b.0 chip-ID: 8086:1e20 class-ID: 0403
  API: ALSA v: k6.1.0-28-amd64 status: kernel-api tools: alsamixer,amixer
  Server-1: PipeWire v: 1.2.6 status: active with: 1: pipewire-pulse status: active
    2: wireplumber status: active 3: pipewire-alsa type: plugin 4: pw-jack type: plugin
    tools: pactl,pw-cat,pw-cli,wpctl
Network:
  Device-1: Intel 82579LM Gigabit Network vendor: Lenovo driver: e1000e v: kernel port: 6080
    bus-ID: 00:19.0 chip-ID: 8086:1502 class-ID: 0200
  IF: eth0 state: down mac: <filter>
  Device-2: Intel Wi-Fi 6 AX200 driver: iwlwifi v: kernel modules: wl pcie: gen: 2 speed: 5 GT/s
    lanes: 1 bus-ID: 03:00.0 chip-ID: 8086:2723 class-ID: 0280
  IF: wlan0 state: up mac: <filter>
Bluetooth:
  Device-1: Intel AX200 Bluetooth type: USB driver: btusb v: 0.8 bus-ID: 3-1.5:4 chip-ID: 8087:0029
    class-ID: e001
  Report: hciconfig ID: hci0 rfk-id: 3 state: up address: <filter> bt-v: 3.0 lmp-v: 5.2
    sub-v: 200f hci-v: 5.2 rev: 200f
  Info: acl-mtu: 1021:4 sco-mtu: 96:6 link-policy: rswitch sniff link-mode: peripheral accept
    service-classes: rendering, capturing, object transfer, audio, telephony
Drives:
  Local Storage: total: 1.38 TiB used: 41.9 GiB (3.0%)
  SMART Message: Unable to run smartctl. Root privileges required.
  ID-1: /dev/sda maj-min: 8:0 vendor: Crucial model: CT1000MX500SSD1 size: 931.51 GiB block-size:
    physical: 4096 B logical: 512 B speed: 6.0 Gb/s type: SSD serial: <filter> rev: 046 scheme: GPT
  ID-2: /dev/sdb maj-min: 8:16 vendor: Samsung model: MZMTD512HAGL-000MV size: 476.94 GiB
    block-size: physical: 512 B logical: 512 B speed: 3.0 Gb/s type: SSD serial: <filter> rev: 3M0Q
    scheme: GPT
Partition:
  ID-1: / raw-size: 931.41 GiB size: 915.72 GiB (98.32%) used: 41.87 GiB (4.6%) fs: ext4
    dev: /dev/sda5 maj-min: 8:5
  ID-2: /boot/efi raw-size: 100 MiB size: 96 MiB (96.00%) used: 31.4 MiB (32.7%) fs: vfat
    dev: /dev/sda1 maj-min: 8:1
Swap:
  Kernel: swappiness: 15 (default 60) cache-pressure: 100 (default)
  ID-1: swap-1 type: file size: 20 GiB used: 0 KiB (0.0%) priority: -2 file: /swap/swap
Sensors:
  System Temperatures: cpu: 56.0 C mobo: N/A
  Fan Speeds (RPM): fan-1: 3841
Repos:
  Packages: pm: dpkg pkgs: 2615 libs: 1109 tools: apt,apt-get,aptitude,nala,synaptic pm: rpm
    pkgs: 0 pm: flatpak pkgs: 0
  No active apt repos in: /etc/apt/sources.list
  Active apt repos in: /etc/apt/sources.list.d/1password.list
    1: deb [arch=amd64 signed-by=/usr/share/keyrings/1password-archive-keyring.gpg] https://downloads.1password.com/linux/debian/amd64 stable main
  Active apt repos in: /etc/apt/sources.list.d/debian-stable-updates.list
    1: deb http://deb.debian.org/debian bookworm-updates main contrib non-free non-free-firmware
  Active apt repos in: /etc/apt/sources.list.d/debian.list
    1: deb http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware
    2: deb http://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware
    3: deb http://deb.debian.org/debian bookworm-backports main contrib non-free non-free-firmware
  No active apt repos in: /etc/apt/sources.list.d/librewolf.list
  Active apt repos in: /etc/apt/sources.list.d/mx.list
    1: deb http://ftp.riken.jp/Linux/mxlinux/mx/repo/ bookworm main non-free
  Active apt repos in: /etc/apt/sources.list.d/nordvpn.list
    1: deb https://repo.nordvpn.com/deb/nordvpn/debian stable main
  Active apt repos in: /etc/apt/sources.list.d/signal-xenial-added-by-mxpi.list
    1: deb [arch=amd64] https://updates.signal.org/desktop/apt xenial main
  Active apt repos in: /etc/apt/sources.list.d/sublime-text.list
    1: deb https://download.sublimetext.com/ apt/stable/
Info:
  Processes: 260 Uptime: 10h 21m wakeups: 2 Memory: 15.44 GiB used: 4.35 GiB (28.2%) Init: SysVinit
  v: 3.06 runlevel: 5 default: graphical tool: systemctl Compilers: gcc: 12.2.0 alt: 12
  Client: shell wrapper v: 5.2.15-release inxi: 3.3.26
Boot Mode: UEFI
And here is the output of [pre]glxinfo -b[/pre]

Code: Select all

$ glxinfo -B
name of display: :0.0
display: :0  screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
    Vendor: Intel (0x8086)
    Device: Mesa Intel(R) HD Graphics 4000 (IVB GT2) (0x166)
    Version: 22.3.6
    Accelerated: yes
    Video memory: 1536MB
    Unified memory: yes
    Preferred profile: core (0x1)
    Max core profile version: 4.2
    Max compat profile version: 4.2
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.0
OpenGL vendor string: Intel
OpenGL renderer string: Mesa Intel(R) HD Graphics 4000 (IVB GT2)
OpenGL core profile version string: 4.2 (Core Profile) Mesa 22.3.6
OpenGL core profile shading language version string: 4.20
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile

OpenGL version string: 4.2 (Compatibility Profile) Mesa 22.3.6
OpenGL shading language version string: 4.20
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile

OpenGL ES profile version string: OpenGL ES 3.0 Mesa 22.3.6
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00
I apologize if this is too much info/if there isn't enough info.

Thanks a bunch!





Moderator: image changed to link, please read the forum rules.
Last edited by beesyrup on Sat Dec 21, 2024 7:42 am, edited 1 time in total.

User avatar
davidy
Posts: 818
Joined: Sat Jul 03, 2021 1:59 pm

Re: Firefox Hardware Acceleration on Ivy Bridge CPU

#2 Post by davidy »

Is this a trick question?
Joking aside, have you tried any other versions of FF? I prefer LibreWolf over any version of FF incl. FF itself which I refuse to run. I also prefer appimages and only have Falkon and the native MX-Viewer installed and all else are appimages or static browsers (targz) There's really only so much you can do with older hardware (aside from replacing it of course) so if your goal is simply to go easy on the battery while watching video I would say you are in a catch-22. FF will not fix a battery problem, if that is the problem. I would suggest trying different browsers until you find the one that seems to be the least hard on your resources.
Sys76 LemurPro-mx-23.4, EliteMinis HM90-mx-21.3, Deskmini UM350-phoenixLite win10, Qnap 12tb nas, Protectli FW4C-opnsense(=゜ω゜)

zero privacy = zero security . All MX'd Up
UAP = up above people

beesyrup
Posts: 13
Joined: Thu Nov 07, 2024 10:09 am

Re: Firefox Hardware Acceleration on Ivy Bridge CPU

#3 Post by beesyrup »

Thanks @@davidy for your response.

Haha! My apologies if my question and details came off a bit odd. I'm no troll though, I promise :)

I thought about it more--I guess my end goal isn't so much battery life, but more optimized usage and allowing specific hardware to do its job, if possible. I've got another system that I'm using for more intensive processes, and I want to have an excuse for keeping this old guy around.

I appreciate your insight. As to the provenance of the copy of Firefox it seems like I got it from an official MX repo according to the aptitude record:

Code: Select all

# apt info firefox
Package: firefox
Version: 133.0.3~mozillabinaries-1mx23+1
Priority: optional
Section: web
Maintainer: Mike Purtell <mmikeinsantarosa@mxlinux.org>
Installed-Size: 265 MB
Provides: www-browser, x-www-browser
Depends: libavcodec59 | libavcodec-extra59 | libavcodec58 | libavcodec-extra58, libasound2, libatk1.0-0, libc6, libcairo-gobject2, libcairo2, libdbus-1-3, libfontconfig1, libfreetype6, libgcc-s1 | libgcc1, libgdk-pixbuf2.0-0, libglib2.0-0, libgtk-3-0, libpango-1.0-0, libpangocairo-1.0-0, libstdc++6 (>= 4.8.1), libx11-6, libx11-xcb1, libxcb-shm0, libxcb1, libxcomposite1, libxcursor1, libxdamage1, libxext6, libxfixes3, libxi6, libxrandr2, libxrender1, pulseaudio | apulse | pipewire
Conflicts: firefox-amd64, firefox-i686, iceweasel
Breaks: iceweasel
Replaces: firefox-amd64, firefox-i686, iceweasel
Homepage: http://mozilla.org
Download-Size: 72.8 MB
APT-Manual-Installed: yes
APT-Sources: http://ftp.riken.jp/Linux/mxlinux/mx/repo bookworm/main amd64 Packages
Description: The Firefox web browser
 The Mozilla Firefox Web Browser. It is a powerful, extensible web browser
 with support for modern web application technologies.
 .
 This package consists of the Mozilla-provided static binaries and support
 files bundled into a debianized package.
Image

Perhaps its out of habit, and using Firefox Sync, but I'll take your suggestion and try LibreWolf, and see if that works out.

Thanks!

EDIT: Tried LibreWolf, and it looks like I'm seeing the same results. No Video decoding is happening on the integrated GPU.

beesyrup
Posts: 13
Joined: Thu Nov 07, 2024 10:09 am

Re: Firefox Hardware Acceleration on Ivy Bridge CPU

#4 Post by beesyrup »

OK, so it's a good thing I created a Live USB of my MX Linux installation a few weeks prior to making all of the changes I made.

First step of the way was observing that my old install didn't have "Use Intel driver instead of 'modesetting' driver" enabled. I enabled it without knowing what I was doing.

Secondly, I noticed that in the old Live USB that I made was trying to use iHD instead of i965, so running "vainfo" returned with some errors. Specifically, libva error: /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so init failed.

Debian documentation on HardwareVideoAcceleration explicitly states that LIBVA_DRIVER_NAME=i965 is appropriate for processors less than 9th generation processors. I set "export LIBVA_DRIVER_NAME=i965" in my .bashrc, and I can see that vainfo doesn't have any more errors.

And just for good measure, I checked Firefox's about:support, and what do you know... Compositing is showing WebRender, and the iGPU is rendering video playback.

Lesson learned. Read documentation, don't turn on switches/settings that I don't know anything about. Another humbling experience :blindfold:

BitterTruth
Posts: 620
Joined: Tue Sep 22, 2020 7:36 pm

Re: [SOLVED] Firefox Hardware Acceleration on Ivy Bridge CPU

#5 Post by BitterTruth »

Thank you very much for this post. Glad you got your issue resolved. However, I just realised that for years, my x201 has not been using the gpu for hardware acceleration!!!!
I'm so angry right now because I remember spending ages trying to make sure I had the proper graphics drivers and settings (It was years ago) and all this time they were wrong!!!!

Lately I've been noticing issues with high cpu usage and overheating. Please can you clarify what exactly one should have enabled/disabled?

I never used the "Use Intel driver instead of 'modesetting' driver" setting in MX Tweak and I do not have anything pertaining to intel under /etc/X11/xorg.conf.d

My about:support is still showing

Code: Select all

compositing:    webrender (software)
and further down:
Image

vainfo shows:

Code: Select all

libva info: VA-API version 1.4.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_1_4
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.4 (libva 2.4.0)
vainfo: Driver version: Intel i965 driver for Intel(R) Ironlake Mobile - 2.3.0
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            :	VAEntrypointVLD
      VAProfileMPEG2Main              :	VAEntrypointVLD
      VAProfileH264ConstrainedBaseline:	VAEntrypointVLD
      VAProfileH264Main               :	VAEntrypointVLD
      VAProfileH264High               :	VAEntrypointVLD
      VAProfileNone                   :	VAEntrypointVideoProc
Any advice?

User avatar
Eadwine Rose
Administrator
Posts: 14618
Joined: Wed Jul 12, 2006 2:10 am

Re: [SOLVED] Firefox Hardware Acceleration on Ivy Bridge CPU

#6 Post by Eadwine Rose »

Please start your own topic on this. Thanks.
MX-23.6_x64 July 31 2023 * 6.1.0-37amd64 ext4 Xfce 4.20.0 * 8-core AMD Ryzen 7 2700
Asus TUF B450-Plus Gaming UEFI * Asus GTX 1050 Ti Nvidia 535.247.01 * 2x16Gb DDR4 2666 Kingston HyperX Predator
Samsung 870EVO * Samsung S24D330 & P2250 * HP Envy 5030

beesyrup
Posts: 13
Joined: Thu Nov 07, 2024 10:09 am

Re: [SOLVED] Firefox Hardware Acceleration on Ivy Bridge CPU

#7 Post by beesyrup »

I hope you don't mind me fielding this one @Eadwine Rose. Although it might not be in the scope of my original question, I think I have an answer.

Hey @BitterTruth--friend, it's alright to feel frustrated, and if we research a bit further we can find a reason behind why Firefox is not permitting HW acceleration on your X201.
If you look at the WEBRENDER section of the screenshot you posted, the "runtime" section indicates the error:
FEATURE_FAILURE_OPENGL_LESS_THAN_3

During my research on checking whether HW Acceleration was working properly on my X230T running Fedora, I found this documentation from Fedora called Firefox Hardware Acceleration. I will quote the relevant section here:
Accelerated web page rendering is supported on both X11 and Wayland backends via WebRender.

Please note that Firefox requires a GPU with support for OpenGL 3.2 or newer or GLES 3.0 or newer to enable hardware acceleration (Source and further info). You can check your hardware using glxinfo | grep "profile version" for OpenGL and eglinfo | grep version for GLES.

You can check hardware acceleration state at about:support page, look at Compositing row. If there's WebRender, you're running on hardware. If there's WebRender (software) you're on non-accelerated backend.
Again, the relevant check that you need to inspect is the following:

Code: Select all

glxinfo | grep "profile version"
and

Code: Select all

eglinfo | grep version for GLES
If you see that your "profile version" is less than 3.2, and your GLES version is less than 3.0, then Firefox is not permitting HW acceleration on your X201 as the processor lacks the feature to support Firefox's minimum spec.

Your X201 is most likely spec'ed with a first-gen Intel Core CPU, right? I own a T410 with an i7-640M, and this doesn't meet the minimum feature requirements for HW Acceleration in Firefox either, so I think the options are:

(A) Live with it, bear in mind the limitations, and adjust to them using an extension/add-on like "enhanced-264ify" so sites like YouTube won't attempt to load VP9 or AV1 codec streams.
(B) Upgrade. Not to say that you should consume or contribute to the global electronic waste pile, but find a system that is spec'ed to safe requirements for modern web browsing that includes video streaming.
(C) Try find a browser that permits HW acceleration on older specs. I'm afraid I'm not too knowledgeable of any other browsers that would support a lower specification, but this might be something to look into.

By the way, if you do decide to part with your X201, I'll be happy to take it off your hands ;)


Cheers.

beesyrup
Posts: 13
Joined: Thu Nov 07, 2024 10:09 am

Re: [SOLVED] Firefox Hardware Acceleration on Ivy Bridge CPU

#8 Post by beesyrup »

@BitterTruth , I just thought of another alternative. If you can find an extension that offloads the youtube video to an external player like MPV or something, and that would allow you to play HW accelerated videos without worrying about Firefox's restrictions.

User avatar
siamhie
Global Moderator
Posts: 3338
Joined: Fri Aug 20, 2021 5:45 pm

Re: [SOLVED] Firefox Hardware Acceleration on Ivy Bridge CPU

#9 Post by siamhie »

beesyrup wrote: Mon Dec 30, 2024 6:32 am @BitterTruth , I just thought of another alternative. If you can find an extension that offloads the youtube video to an external player like MPV or something, and that would allow you to play HW accelerated videos without worrying about Firefox's restrictions.

ClipGrab (available in the repo) allows you to download YouTube videos to then view in your preferred video player. .
This is my Fluxbox . There are many others like it, but this one is mine. My Fluxbox is my best friend. It is my life.
I must master it as I must master my life. Without me, my Fluxbox is useless. Without my Fluxbox, I am useless.

beesyrup
Posts: 13
Joined: Thu Nov 07, 2024 10:09 am

Re: [SOLVED] Firefox Hardware Acceleration on Ivy Bridge CPU

#10 Post by beesyrup »

I found the extension that could cover this case where Firefox/browser isn't allowing HW acceleration, but MPV will.

I just tested this terrific extension out called ff2mpv:
https://github.com/woodruffw/ff2mpv

All that needs to be done is the following:
0. Make sure mpv and yt-dlp is installed, and that your mpv.conf ($HOME/.config/mpv/mpv.conf) is configured to use a codec that is supported by your hardware (in my case, h264 or avc):

Code: Select all

ytdl-format=bestvideo[vcodec^=avc1]+bestaudio/best
hwdec=auto-safe
1. git clone https://github.com/woodruffw/ff2mpv
2. Go to the folder and run ./install.sh
3. Enter your browser name based on the shell script's expected output (e.g., firefox)
4. Add the ff2mpv extension via AMO or Chrome store
5. Go to the video you want to watch
6. Either add the ff2mpv icon to your browser toolbar, or right click the video and click Play in MPV

Result: Your video should be playing in MPV. Verification/sanity check, pressing the "i" key shows that it's using vaapi.

Image

It's not seamless, but it'll help workaround the whole WebRender (Software) configuration in Firefox.
Last edited by beesyrup on Tue Dec 31, 2024 7:33 am, edited 1 time in total.

Post Reply

Return to “Hardware /Configuration”