Scheduled Maintenance: We are aware of an issue with Google, AOL, and Yahoo services as email providers which are blocking new registrations. We are trying to fix the issue and we have several internal and external support tickets in process to resolve the issue. Please see: viewtopic.php?t=158230

 

 

 

[Testing - Bookworm]Hardware Acceleration Chromium-based browsers

- - ALL UNSTABLE / TESTING THREADS SHOULD BE POSTED HERE - -
This sub-forum is the dedicated area for the ongoing Unstable/Testing releases of Debian. Advanced, or Experienced User support only. Use the software, give, and take advice with caution.
Post Reply
Message
Author
neopipe
Posts: 2
Joined: 2023-06-02 01:20

[Testing - Bookworm]Hardware Acceleration Chromium-based browsers

#1 Post by neopipe »

Hi I have a couple of months using Debian testing as my main OS.

First I want to apologize in advance if I make any mistake writing this post, English is not my mother language.

I have been learning as much as I can and recently I realize that, the hardware acceleration (VA-API) in chromium based browsers doesn't work, I have already installed the necessary packages to enable it. In fact in Firefox after making the modifications from the wiki, the HardwAccel works.

To check that I'm using the acceleration I use intel-gpu-top, video line

Here you can see with vainfo that I have the acceleration enabled:

Code: Select all

~$ vainfo
libva info: VA-API version 1.17.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: va_openDriver() returns -1
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 Desktop - 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
*****

My machine is this

Code: Select all

Machine:
  Type: Desktop Mobo: ASRock model: H61M-DGS serial: <superuser required>
    UEFI: American Megatrends v: P1.10 date: 02/21/2012
CPU:
  Info: quad core model: Intel Core i5-3550 bits: 64 type: MCP cache:
    L2: 1024 KiB
  Speed (MHz): avg: 1598 min/max: 1600/3700 cores: 1: 1600 2: 1597 3: 1597
    4: 1600
Graphics:
  Device-1: Intel Xeon E3-1200 v2/3rd Gen Core processor Graphics driver: i915
    v: kernel
  Display: x11 server: X.Org v: 1.21.1.7 with: Xwayland v: 22.1.9 driver: X:
    loaded: modesetting unloaded: fbdev,vesa dri: crocus gpu: i915 resolution:
    1: N/A 2: 1366x768~60Hz
  API: OpenGL v: 4.2 Mesa 22.3.6 renderer: Mesa Intel HD Graphics 2500 (IVB
    GT1)
****

Previously I had a HDD with MxLinux 21(Debian 11) and there the acceleration worked in the chromium browsers adding the flags that I name below. I also have another partition with arch in which after following the steps in their wiki, it works.

After spending days in which I try different browser flags configurations, that I find mainly in the arch forum, nothing works, I try to know why it does not work in D12, and I think the problem may be the LIBVA package, which is in version 2.17. I arrive to this conclusion since to be able to activate the acceleration in arch it was only necessary to add these two flags

Code: Select all

--enable-features=VaapiVideoDecoder --disable-features=UseChromeOSDirectVideoDecoder
**** and the most important thing to add this env variable that disables DRI3

Code: Select all

LIBVA_DRI3_DISABLE=1
.

In the 2.17.0 release notes in Github it says
x11: add basic DRI3 support
(what I have to disable to make it work in arch).

In the 2.18.0 release notes
x11: allow disabling DRI3 via LIBVA_DRI3_DISABLe env var
.

I think that's why adding that variable in debian doesn't work because LIBVA is not prepared to disable it.

This is the message that all browsers throw when watching a youtube video using the h264ify extension, since it is the maximum that my old HD2500 can handle :lol: (Chrome, Vivaldi, Brave, Ungoogled-Chromium, Thorium)

Code: Select all

[45837:45837:0601/223234.008423:ERROR:vaapi_wrapper.cc(2721)] : vaPutSurface failed, VA error: unknown libva error
[45837:45837:0601/223234.008563:ERROR:vaapi_video_decode_accelerator.cc(287)] : Failed putting surface into pixmap
Maybe I should have reported this, I have never done a bug report and first wanted to come and see if maybe someone with a lot more experience has a configuration I can try. Anyway, the release of D12 is near, so I just have to wait for the backport of another libva version later on, or continue testing and wait for the normal update to arrive and test if that was really the problem.

CwF
Global Moderator
Global Moderator
Posts: 2625
Joined: 2018-06-20 15:16
Location: Colorado
Has thanked: 41 times
Been thanked: 190 times

Re: [Testing - Bookworm]Hardware Acceleration Chromium-based browsers

#2 Post by CwF »

neopipe wrote: 2023-06-02 02:54 First I want to apologize in advance if I make any mistake writing this post, English is not my mother language.
You did an excellent job writing this first post. Welcome to Debian!

I don't use Chromium myself, so we will both wait for responses.

neopipe
Posts: 2
Joined: 2023-06-02 01:20

Re: [Testing - Bookworm]Hardware Acceleration Chromium-based browsers

#3 Post by neopipe »

CwF wrote: 2023-06-02 04:46 You did an excellent job writing this first post. Welcome to Debian!
Thanks for the welcome

Indeed the problem is LIBVA 2.17.0, its DRI3 support and that Intel drivers do not support it yet, as registered in this issue of github https://github.com/intel/libva/issues/677

Upstream solved it in 2.18. I see impossible that it will be included to testing before bookworm goes to stable

Random_Troll
Posts: 444
Joined: 2023-02-07 13:35
Been thanked: 105 times

Re: [Testing - Bookworm]Hardware Acceleration Chromium-based browsers

#4 Post by Random_Troll »

The libva2 package was backported for bullseye so the chances look good for bookworm too.
Jeder nach seinen Fähigkeiten, jedem nach seinen Bedürfnissen.

lokfun
Posts: 1
Joined: 2023-11-20 10:20

Re: [Testing - Bookworm]Hardware Acceleration Chromium-based browsers

#5 Post by lokfun »

is this issue already been fixed? bookworm already been stable but the only browser i test that can play video with hardware acceleration is thorium browser

User avatar
craigevil
Posts: 5391
Joined: 2006-09-17 03:17
Location: heaven
Has thanked: 28 times
Been thanked: 39 times

Re: [Testing - Bookworm]Hardware Acceleration Chromium-based browsers

#6 Post by craigevil »

I added this to /etc/chromium.d

Code: Select all

export CHROMIUM_FLAGS="$CHROMIUM_FLAGS --force-renderer-accessibility --disable-quic --enable-tcp-fast-open --enable-features=VaapiVideoDecoder --enable-accelerated-video-decode --ignore-gpu-blacklist --enable-scroll-prediction"
It should already have these:

Code: Select all

# Do not hide any extensions in the about:extensions dialog
export CHROMIUM_FLAGS="$CHROMIUM_FLAGS --show-component-extension-options"

# Enable GPU rasterization.
export CHROMIUM_FLAGS="$CHROMIUM_FLAGS --enable-gpu-rasterization"

# Don't display any warnings about not being the default browser
export CHROMIUM_FLAGS="$CHROMIUM_FLAGS --no-default-browser-check"

# Disable pinging
export CHROMIUM_FLAGS="$CHROMIUM_FLAGS --disable-pings"

# Disable the builtin media router (bug #833477)
export CHROMIUM_FLAGS="$CHROMIUM_FLAGS --media-router=0"

Post Reply