You are not logged in.

#1 2025-02-07 14:03:23

ItachiSan
Member
Registered: 2013-09-02
Posts: 47

Framedrops on YouTube & KDE Plasma

Hi everyone,

I have been having issues since long for using HW accelleration when playing videos on YouTube.
This is applicable to both Firefox and MSEdge.

I have followed the steps here:
https://wiki.archlinux.org/title/Hardwa … plications
using Chromium flags with Edge, with little success.

I would like to have some feedback from people that do not have this issue.

My machine is a dual GPU laptop with AMD iGPU + NVIDIA dGPU.

Offline

#2 2025-02-07 15:19:49

Xephon
Member
Registered: 2024-12-22
Posts: 189

Re: Framedrops on YouTube & KDE Plasma

Provide output of vainfo and a list of Chromium flags you used

Offline

#3 2025-02-08 18:36:49

ItachiSan
Member
Registered: 2013-09-02
Posts: 47

Re: Framedrops on YouTube & KDE Plasma

So:

$ vainfo 
Trying display: wayland
vainfo: VA-API version: 1.22 (libva 2.22.0)
vainfo: Driver version: Mesa Gallium driver 24.3.4-arch1.1 for AMD Radeon Graphics (radeonsi, renoir, LLVM 19.1.7, DRM 3.59, 6.13.1-arch1-1)
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            : VAEntrypointVLD
      VAProfileMPEG2Main              : VAEntrypointVLD
      VAProfileVC1Simple              : VAEntrypointVLD
      VAProfileVC1Main                : VAEntrypointVLD
      VAProfileVC1Advanced            : VAEntrypointVLD
      VAProfileH264ConstrainedBaseline: VAEntrypointVLD
      VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
      VAProfileH264Main               : VAEntrypointVLD
      VAProfileH264Main               : VAEntrypointEncSlice
      VAProfileH264High               : VAEntrypointVLD
      VAProfileH264High               : VAEntrypointEncSlice
      VAProfileHEVCMain               : VAEntrypointVLD
      VAProfileHEVCMain               : VAEntrypointEncSlice
      VAProfileHEVCMain10             : VAEntrypointVLD
      VAProfileHEVCMain10             : VAEntrypointEncSlice
      VAProfileJPEGBaseline           : VAEntrypointVLD
      VAProfileVP9Profile0            : VAEntrypointVLD
      VAProfileVP9Profile2            : VAEntrypointVLD
      VAProfileNone                   : VAEntrypointVideoProc
$ cat ~/.config/microsoft-edge-stable-flags.conf 
--ozone-platform-hint=auto
--enable-accelerated-video-decode
--enable-features=AcceleratedVideoDecodeLinuxGL

Last edited by ItachiSan (2025-02-08 18:37:10)

Offline

#4 2025-02-08 19:34:48

Xephon
Member
Registered: 2024-12-22
Posts: 189

Re: Framedrops on YouTube & KDE Plasma

You need to enable Vulkan on AMD GPUs. Try the following flags:

--enable-features=AcceleratedVideoDecodeLinuxGL,DefaultANGLEVulkan,VaapiIgnoreDriverChecks,Vulkan,VulkanFromANGLE
--ozone-platform=wayland
--use-angle=vulkan
--use-gl=angle

Offline

#5 2025-02-09 15:22:32

ItachiSan
Member
Registered: 2013-09-02
Posts: 47

Re: Framedrops on YouTube & KDE Plasma

I tried the flags but the window does not pop up and freezes when I try to bring it up...

Offline

#6 2025-02-09 16:52:56

Xephon
Member
Registered: 2024-12-22
Posts: 189

Re: Framedrops on YouTube & KDE Plasma

What's the output of vulkaninfo --summary

Offline

#7 2025-02-09 21:16:00

ItachiSan
Member
Registered: 2013-09-02
Posts: 47

Re: Framedrops on YouTube & KDE Plasma

Here it is:

$ vulkaninfo --summary
==========
VULKANINFO
==========

Vulkan Instance Version: 1.4.303


Instance Extensions: count = 25
-------------------------------
VK_EXT_acquire_drm_display             : extension revision 1
VK_EXT_acquire_xlib_display            : extension revision 1
VK_EXT_debug_report                    : extension revision 10
VK_EXT_debug_utils                     : extension revision 2
VK_EXT_direct_mode_display             : extension revision 1
VK_EXT_display_surface_counter         : extension revision 1
VK_EXT_headless_surface                : extension revision 1
VK_EXT_surface_maintenance1            : extension revision 1
VK_EXT_swapchain_colorspace            : extension revision 5
VK_KHR_device_group_creation           : extension revision 1
VK_KHR_display                         : extension revision 23
VK_KHR_external_fence_capabilities     : extension revision 1
VK_KHR_external_memory_capabilities    : extension revision 1
VK_KHR_external_semaphore_capabilities : extension revision 1
VK_KHR_get_display_properties2         : extension revision 1
VK_KHR_get_physical_device_properties2 : extension revision 2
VK_KHR_get_surface_capabilities2       : extension revision 1
VK_KHR_portability_enumeration         : extension revision 1
VK_KHR_surface                         : extension revision 25
VK_KHR_surface_protected_capabilities  : extension revision 1
VK_KHR_wayland_surface                 : extension revision 6
VK_KHR_xcb_surface                     : extension revision 6
VK_KHR_xlib_surface                    : extension revision 6
VK_LUNARG_direct_driver_loading        : extension revision 1
VK_NV_display_stereo                   : extension revision 1

Instance Layers: count = 5
--------------------------
VK_LAYER_NV_optimus               NVIDIA Optimus layer         1.4.303  version 1
VK_LAYER_VALVE_steam_fossilize_32 Steam Pipeline Caching Layer 1.3.207  version 1
VK_LAYER_VALVE_steam_fossilize_64 Steam Pipeline Caching Layer 1.3.207  version 1
VK_LAYER_VALVE_steam_overlay_32   Steam Overlay Layer          1.3.207  version 1
VK_LAYER_VALVE_steam_overlay_64   Steam Overlay Layer          1.3.207  version 1

Devices:
========
GPU0:
        apiVersion         = 1.4.303
        driverVersion      = 570.86.16.0
        vendorID           = 0x10de
        deviceID           = 0x1f15
        deviceType         = PHYSICAL_DEVICE_TYPE_DISCRETE_GPU
        deviceName         = NVIDIA GeForce RTX 2060
        driverID           = DRIVER_ID_NVIDIA_PROPRIETARY
        driverName         = NVIDIA
        driverInfo         = 570.86.16
        conformanceVersion = 1.4.1.0
        deviceUUID         = c159a6ec-a24a-6f56-3453-38d3253c4697
        driverUUID         = 5429646d-3d95-54e1-b807-75d58fc2ef85
GPU1:
        apiVersion         = 1.3.296
        driverVersion      = 24.3.4
        vendorID           = 0x1002
        deviceID           = 0x1636
        deviceType         = PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU
        deviceName         = AMD Radeon Graphics (RADV RENOIR)
        driverID           = DRIVER_ID_MESA_RADV
        driverName         = radv
        driverInfo         = Mesa 24.3.4-arch1.1
        conformanceVersion = 1.2.7.1
        deviceUUID         = 00000000-0600-0000-0000-000000000000
        driverUUID         = 414d442d-4d45-5341-2d44-525600000000

Offline

#8 2025-02-09 22:54:09

Xephon
Member
Registered: 2024-12-22
Posts: 189

Re: Framedrops on YouTube & KDE Plasma

Ok. You need to enable Vulkan on AMDGPU. But NVIDIA is the first one in the devices list, so it's selected by default.
You need to switch between devices: https://wiki.archlinux.org/title/Vulkan … en_devices

Install vulkan-mesa-layers if you don't have it, reboot and run

MESA_VK_DEVICE_SELECT=1002:1636! microsoft-edge-stable

using flag list from my earlier post

Offline

#9 2025-02-11 13:53:30

ItachiSan
Member
Registered: 2013-09-02
Posts: 47

Re: Framedrops on YouTube & KDE Plasma

Still some errors.
From the terminal:

$ MESA_VK_DEVICE_SELECT=1002:1636! microsoft-edge-stable
[8461:8461:0211/145016.928121:ERROR:wayland_surface_factory.cc(233)] '--ozone-platform=wayland' is not compatible with Vulkan. Consider switching to '--ozone-platform=x11' or disabling Vulkan
# from edge://media-internals, after selecting the correct stream

00:00:00.000	created	"2025-02-11 13:50:40.655209 UTC"
00:00:00.000	origin_url	"https://www.youtube.com/"
00:00:00.000	kFrameUrl	"https://www.youtube.com/watch?v=RQmIxEPmmDI"
00:00:00.000	kFrameTitle	"YouTube"
00:00:00.000	url	"blob:https://www.youtube.com/d54be8e3-cf52-40f7-904c-b4eda443819a"
00:00:00.000	info	"ChunkDemuxer"
00:00:00.000	kRendererName	"RendererImpl"
00:00:00.000	renderer_created	{"renderer_engine":"Default","renderer_type":"RendererImpl"}
00:00:00.000	pipeline_state	"kStarting"
00:00:00.077	kVideoTracks	[{"alpha mode":"is_opaque","codec":"av1","coded size":"1920x1080","color space":{"matrix":"BT709","primaries":"BT709","range":"LIMITED","transfer":"BT709"},"encryption scheme":"Unencrypted","has extra data":false,"hdr metadata":"unset","natural size":"1920x1080","orientation":"0°","profile":"av1 profile main","visible rect":"0,0 1920x1080"}]
00:00:00.931	kAudioTracks	[{"bytes per channel":4,"bytes per frame":8,"channel layout":"STEREO","channels":2,"codec":"opus","codec delay":312,"discard decoder delay":true,"encryption scheme":"Unencrypted","has extra data":true,"profile":"unknown","sample format":"Float 32-bit","samples per second":48000,"seek preroll":"80000us"}]
00:00:00.934	kIsAudioDecryptingDemuxerStream	false
00:00:00.935	kAudioDecoderName	"FFmpegAudioDecoder"
00:00:00.935	kIsPlatformAudioDecoder	false
00:00:00.935	info	"Selected FFmpegAudioDecoder for audio decoding, config: codec: opus, profile: unknown, bytes_per_channel: 4, channel_layout: STEREO, channels: 2, samples_per_second: 48000, sample_format: Float 32-bit, bytes_per_frame: 8, seek_preroll: 80000us, codec_delay: 312, has extra data: true, encryption scheme: Unencrypted, discard decoder delay: true, target_output_channel_layout: STEREO, target_output_sample_format: Unknown sample format, has aac extra data: false"
00:00:00.935	info	"Cannot select DecryptingVideoDecoder for video decoding"
00:00:00.935	info	"Cannot select VaapiVideoDecoder for video decoding"
00:00:00.935	info	"Cannot select VpxVideoDecoder for video decoding"
00:00:00.940	kIsVideoDecryptingDemuxerStream	false
00:00:00.940	kVideoDecoderName	"Dav1dVideoDecoder"
00:00:00.940	kIsPlatformVideoDecoder	false
00:00:00.940	info	"Selected Dav1dVideoDecoder for video decoding, config: codec: av1, profile: av1 profile main, level: not available, alpha_mode: is_opaque, coded size: [1920,1080], visible rect: [0,0,1920,1080], natural size: [1920,1080], has extra data: false, encryption scheme: Unencrypted, rotation: 0°, flipped: 0, color space: {primaries:BT709, transfer:BT709, matrix:BT709, range:LIMITED}"
00:00:00.940	pipeline_state	"kPlaying"
00:00:01.031	info	"Effective playback rate changed from 0 to 1"
00:00:01.039	dimensions	"1920x1080"
...

Offline

#10 2025-02-11 14:49:26

Xephon
Member
Registered: 2024-12-22
Posts: 189

Re: Framedrops on YouTube & KDE Plasma

Message

[8461:8461:0211/145016.928121:ERROR:wayland_surface_factory.cc(233)] '--ozone-platform=wayland' is not compatible with Vulkan. Consider switching to '--ozone-platform=x11' or disabling Vulkan

is misleading. I've got the same message in my chromium logs and yet vaapi works.

The youtube video you used for tests requires AV1 codec but your iGPU doesn't support AV1. Look at the output of vainfo from the third post in this thread. There is no VAProfileAV1Profile0 there.
Find another video with VP9 or H264 codecs.

Btw, what version of Microsoft Edge do you use? Provide output of pacman -Q | grep 'microsoft-edge-stable'

Offline

#11 2025-02-12 20:37:07

ItachiSan
Member
Registered: 2013-09-02
Posts: 47

Re: Framedrops on YouTube & KDE Plasma

Hi,

Here is the info for Edge:

pacman -Qi microsoft-edge-stable-bin 
Name            : microsoft-edge-stable-bin
Version         : 133.0.3065.59-1
Description     : A browser that combines a minimal design with sophisticated technology to make the web faster, safer, and easier
Architecture    : x86_64
URL             : https://www.microsoftedgeinsider.com/en-us/download
Licenses        : custom
Groups          : None
Provides        : microsoft-edge-stable  edge-stable
Depends On      : gtk3  libcups  nss  alsa-lib  libxtst  libdrm  mesa
Optional Deps   : pipewire: WebRTC desktop sharing under Wayland [installed]
                  kdialog: for file dialogs in KDE
                  gnome-keyring: for storing passwords in GNOME keyring [installed]
                  kwallet: for storing passwords in KWallet [installed]
Required By     : None
Optional For    : None
Conflicts With  : microsoft-edge-stable  edge-stable  edge-stable-bin  edge
Replaces        : None
Installed Size  : 574.23 MiB
Packager        : Unknown Packager
Build Date      : Tue 11 Feb 2025 08:13:04
Install Date    : Tue 11 Feb 2025 08:14:01
Install Reason  : Explicitly installed
Install Script  : No
Validated By    : None

I noticed that removing the ozone platform hint does make it work.
I also found that this was added in Chromium:
https://chromium-review.googlesource.co … /+/5568860
Which could make it work with Chromium but not Edge...

Offline

Board footer

Powered by FluxBB