You are not logged in.
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
Provide output of vainfo and a list of Chromium flags you used
Offline
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=AcceleratedVideoDecodeLinuxGLLast edited by ItachiSan (2025-02-08 18:37:10)
Offline
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=angleOffline
I tried the flags but the window does not pop up and freezes when I try to bring it up...
Offline
What's the output of vulkaninfo --summary
Offline
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-525600000000Offline
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-stableusing flag list from my earlier post
Offline
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
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 Vulkanis 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
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 : NoneI 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