chromium无法播放b站部分视频

在某次更新后(具体的忘了,大概是一周左右吧),使用chromium播放b站的某些视频会无法播放,但是有背景声音。

我使用终端启动,他列出一些gpu相关的问题。

[257148:257148:1212/173613.667597:ERROR:ui/gl/angle_platform_impl.cc:42] ImageEGL.cpp:112 (operator()): eglCreateImage failed with 0x00003009
ERR: ImageEGL.cpp:112 (operator()): eglCreateImage failed with 0x00003009
[257148:257148:1212/173613.667704:ERROR:ui/gl/scoped_egl_image.cc:23] Failed to create EGLImage: EGL_SUCCESS
[257148:257148:1212/173613.667752:ERROR:ui/ozone/common/native_pixmap_egl_binding.cc:76] Unable to initialize binding from pixmap
[257148:257148:1212/173613.667830:ERROR:gpu/command_buffer/service/shared_image/ozone_image_backing.cc:316] OzoneImageBacking::ProduceSkiaGanesh failed to create GL representation
[257148:257148:1212/173613.667868:ERROR:gpu/command_buffer/service/shared_image/shared_image_manager.cc:404] SharedImageManager::ProduceSkia: Trying to produce a Skia representation from an incompatible backing: OzoneImageBacking

以下是我的系统信息和安装nvidia包的信息

~ > fastfetch

 DISTRO 󰑃  Arch Linux x86_64
│ ├ 󰑃  Linux 6.12.61-1-lts
│ ├󰏖 󰑃  857 (pacman)
│ └ 󰑃  zsh 5.9
 DE/WM 󰑃  Hyprland 0.52.2 (Wayland)
│ ├󰀻 󰑃  Tela-circle-blue-dark [Qt], Tela-circle-blue-dark [GTK2/3/4]
│ ├ 󰑃  Bibata-Modern-Ice (24px)
│ ├ 󰑃  JetBrainsMonoNLNF-Regular (18pt)
│ └ 󰑃  kitty 0.44.0
󰌢 SYSTEM 󰑃  81FW (Lenovo Legion Y7000)
│ ├󰻠 󰑃  Intel(R) Core(TM) i7-8750H (12) @ 4.10 GHz
│ ├󰻑 󰑃  GeForce GTX 1050 Ti Mobile
│ ├󰻑 󰑃  UHD Graphics 630
│ ├󰍹 󰑃  1920x1080 @ 60Hz
│ ├󰾆 󰑃  3.47 GiB / 15.46 GiB (22%)
│ ├󰓡 󰑃  0 B / 4.00 GiB (0%)
│ ├󰅐 󰑃  9 hours, 6 mins
│ └󰍹 󰑃  1920x1080 @ 1.2x in 15", 60    AUDIO 󰑃  Built-in Audio Analog Stereo
│ ├󰥠 󰑃  Chromium
│ └󰝚 󰑃  System76 发布 Pop! OS 24.04 LTS 及其 COSMIC 桌面环境 (Paused)

~ > sudo pacman -Qs nvidia
[sudo] password for she: 
local/egl-gbm 1.1.2.1-1
    The GBM EGL external platform library
local/egl-wayland 4:1.1.20-1
    EGLStream-based Wayland external platform
local/egl-x11 1.0.3-1
    NVIDIA XLib and XCB EGL Platform Library
local/libva-nvidia-driver 0.0.14-1
    VA-API implementation that uses NVDEC as a backend
local/libvdpau 1.5-3
    Nvidia VDPAU library
local/libxnvctrl 580.105.08-1
    NVIDIA NV-CONTROL X extension
local/linux-firmware-nvidia 20251125-2
    Firmware files for Linux - Firmware for NVIDIA GPUs and SoCs
local/nvidia-dkms 580.105.08-5
    NVIDIA kernel modules - module sources
local/nvidia-settings 580.105.08-1
    Tool for configuring the NVIDIA graphics driver
local/nvidia-utils 580.105.08-5
    NVIDIA drivers utilities

但是使用火狐没有这种问题(只是播放了一小部分chromium上会出问题的视频,没有大规模测试,毕竟火狐用的比较少,只供简单参考)

如果还需要其他更详细的信息我也会进一步贴出,谢谢各位佬

在视频上点右键,查看视频的编码器。没猜错的话,出问题的视频是HEVC编码的。Chromium仅支持硬件解码HEVC视频,而你的VAAPI设置似乎出了问题。使用vainfo命令检查。

他的视频无法右键点击,点击出来的是默认的浏览器右键菜单,我一会试试看控制台能不能编码信息,先去恰个饭。

以下为vainfo输出

~ > vainfo
Trying display: wayland
vainfo: VA-API version: 1.22 (libva 2.22.0)
vainfo: Driver version: VA-API NVDEC driver [direct backend]
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            :	VAEntrypointVLD
      VAProfileMPEG2Main              :	VAEntrypointVLD
      VAProfileVC1Simple              :	VAEntrypointVLD
      VAProfileVC1Main                :	VAEntrypointVLD
      VAProfileVC1Advanced            :	VAEntrypointVLD
      VAProfileH264Main               :	VAEntrypointVLD
      VAProfileH264High               :	VAEntrypointVLD
      VAProfileH264ConstrainedBaseline:	VAEntrypointVLD
      VAProfileHEVCMain               :	VAEntrypointVLD
      VAProfileVP9Profile0            :	VAEntrypointVLD
      VAProfileHEVCMain10             :	VAEntrypointVLD
      VAProfileHEVCMain12             :	VAEntrypointVLD
      VAProfileVP9Profile2            :	VAEntrypointVLD

谢谢仙子了

如果我没有弄错的话,这个driver仅支持火狐和mpv,是不支持Chromium的。

你有Intel核显,建议使用它来解码视频,好用又省电。

1 Like

好的 我用核显试试 谢谢仙子

我尝试了使用核显

~ > vainfo
Trying display: wayland
vainfo: VA-API version: 1.22 (libva 2.22.0)
vainfo: Driver version: Intel i965 driver for Intel(R) Coffee Lake - 2.4.5
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            :	VAEntrypointVLD
      VAProfileMPEG2Simple            :	VAEntrypointEncSlice
      VAProfileMPEG2Main              :	VAEntrypointVLD
      VAProfileMPEG2Main              :	VAEntrypointEncSlice
      VAProfileH264ConstrainedBaseline:	VAEntrypointVLD
      VAProfileH264ConstrainedBaseline:	VAEntrypointEncSlice
      VAProfileH264ConstrainedBaseline:	VAEntrypointEncSliceLP
      VAProfileH264Main               :	VAEntrypointVLD
      VAProfileH264Main               :	VAEntrypointEncSlice
      VAProfileH264Main               :	VAEntrypointEncSliceLP
      VAProfileH264High               :	VAEntrypointVLD
      VAProfileH264High               :	VAEntrypointEncSlice
      VAProfileH264High               :	VAEntrypointEncSliceLP
      VAProfileH264MultiviewHigh      :	VAEntrypointVLD
      VAProfileH264MultiviewHigh      :	VAEntrypointEncSlice
      VAProfileH264StereoHigh         :	VAEntrypointVLD
      VAProfileH264StereoHigh         :	VAEntrypointEncSlice
      VAProfileVC1Simple              :	VAEntrypointVLD
      VAProfileVC1Main                :	VAEntrypointVLD
      VAProfileVC1Advanced            :	VAEntrypointVLD
      VAProfileNone                   :	VAEntrypointVideoProc
      VAProfileJPEGBaseline           :	VAEntrypointVLD
      VAProfileJPEGBaseline           :	VAEntrypointEncPicture
      VAProfileVP8Version0_3          :	VAEntrypointVLD
      VAProfileVP8Version0_3          :	VAEntrypointEncSlice
      VAProfileHEVCMain               :	VAEntrypointVLD
      VAProfileHEVCMain               :	VAEntrypointEncSlice
      VAProfileHEVCMain10             :	VAEntrypointVLD
      VAProfileHEVCMain10             :	VAEntrypointEncSlice
      VAProfileVP9Profile0            :	VAEntrypointVLD
      VAProfileVP9Profile0            :	VAEntrypointEncSlice
      VAProfileVP9Profile2            :	VAEntrypointVLD
#chromium-flags.conf
--enable-features=AcceleratedVideoDecodeLinuxGL,AcceleratedVideoEncoder

但还是同样的状况,我查看了wiki上解码相关的部分,在chromium-flags.conf 添加了相关的特性,但还是没有效果,切换为软解就可以播放这个视频了 :smiling_face_with_tear:,以前也没遇到这问题,真奇怪。
发现使用desktop启动会出现这种问题,从终端启动没有这个问题了。奇怪,我再研究研究,谢谢仙子。

你应该能用iHD驱动?

那怀疑是环境变量的差异造成的问题。

抱歉现在才回复,昨天考试没有用电脑.....
是的 我为了将intel核显作为首要选择,在.zshrc中添加了

export LIBVA_DRIVER_NAME=i965
export LIBVA_DEVICE_PATH=/dev/dri/card0

有执行过source .zshrc 以及登出过桌面,但desktop启动不行,前天关机后,今天两种启动方式都可以了(可能需要完全重新启动一下) :blush: 谢谢仙子